@dydxprotocol/v4-client-js 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +1 -0
- package/.eslintignore +2 -0
- package/.eslintrc.js +17 -0
- package/.gitleaks.toml +24 -0
- package/.gitleaksignore +1 -0
- package/.nvmrc +1 -0
- package/.telescope.json +17 -0
- package/.vscode/launch.json +11 -0
- package/LICENSE +11 -0
- package/README.md +35 -0
- package/__native__/__ios__/v4-native-client.js +202047 -0
- package/__native__/__ios__/v4-native-client.js.map +1 -0
- package/__tests__/helpers/baseClients.ts +23 -0
- package/__tests__/helpers/constants.ts +85 -0
- package/__tests__/lib/helpers.test.ts +40 -0
- package/__tests__/lib/util.test.ts +83 -0
- package/__tests__/lib/validation.test.ts +244 -0
- package/__tests__/modules/client/AccountEndpoints.test.ts +106 -0
- package/__tests__/modules/client/FaucetEndpoint.test.ts +14 -0
- package/__tests__/modules/client/MarketsEndpoints.test.ts +76 -0
- package/__tests__/modules/client/Transfers.test.ts +63 -0
- package/__tests__/modules/client/ValidatorGetEndpoints.test.ts +50 -0
- package/__tests__/modules/client/ValidatorPostEndpoints.test.ts +55 -0
- package/__tests__/modules/client/constants.ts +3 -0
- package/__tests__/modules/onboarding.test.ts +64 -0
- package/build/__tests__/helpers/baseClients.d.ts +18 -0
- package/build/__tests__/helpers/baseClients.js +29 -0
- package/build/__tests__/helpers/constants.d.ts +14 -0
- package/build/__tests__/helpers/constants.js +72 -0
- package/build/__tests__/lib/helpers.test.d.ts +1 -0
- package/build/__tests__/lib/helpers.test.js +34 -0
- package/build/__tests__/lib/util.test.d.ts +1 -0
- package/build/__tests__/lib/util.test.js +67 -0
- package/build/__tests__/lib/validation.test.d.ts +1 -0
- package/build/__tests__/lib/validation.test.js +227 -0
- package/build/__tests__/modules/client/AccountEndpoints.test.d.ts +1 -0
- package/build/__tests__/modules/client/AccountEndpoints.test.js +99 -0
- package/build/__tests__/modules/client/FaucetEndpoint.test.d.ts +1 -0
- package/build/__tests__/modules/client/FaucetEndpoint.test.js +15 -0
- package/build/__tests__/modules/client/MarketsEndpoints.test.d.ts +1 -0
- package/build/__tests__/modules/client/MarketsEndpoints.test.js +69 -0
- package/build/__tests__/modules/client/Transfers.test.d.ts +1 -0
- package/build/__tests__/modules/client/Transfers.test.js +45 -0
- package/build/__tests__/modules/client/ValidatorGetEndpoints.test.d.ts +1 -0
- package/build/__tests__/modules/client/ValidatorGetEndpoints.test.js +46 -0
- package/build/__tests__/modules/client/ValidatorPostEndpoints.test.d.ts +1 -0
- package/build/__tests__/modules/client/ValidatorPostEndpoints.test.js +53 -0
- package/build/__tests__/modules/client/constants.d.ts +3 -0
- package/build/__tests__/modules/client/constants.js +7 -0
- package/build/__tests__/modules/onboarding.test.d.ts +1 -0
- package/build/__tests__/modules/onboarding.test.js +51 -0
- package/build/examples/account_endpoints.d.ts +4 -0
- package/build/examples/account_endpoints.js +142 -0
- package/build/examples/composite_example.d.ts +1 -0
- package/build/examples/composite_example.js +49 -0
- package/build/examples/constants.d.ts +7 -0
- package/build/examples/constants.js +29 -0
- package/build/examples/faucet_endpoint.d.ts +4 -0
- package/build/examples/faucet_endpoint.js +22 -0
- package/build/examples/human_readable_orders.json +86 -0
- package/build/examples/json-encoding.d.ts +1 -0
- package/build/examples/json-encoding.js +32 -0
- package/build/examples/markets_endpoints.d.ts +4 -0
- package/build/examples/markets_endpoints.js +159 -0
- package/build/examples/native_examples.d.ts +1 -0
- package/build/examples/native_examples.js +80 -0
- package/build/examples/optimal_node.d.ts +1 -0
- package/build/examples/optimal_node.js +50 -0
- package/build/examples/raw_orders.json +130 -0
- package/build/examples/transfer_example_deposit.d.ts +1 -0
- package/build/examples/transfer_example_deposit.js +30 -0
- package/build/examples/transfer_example_send.d.ts +1 -0
- package/build/examples/transfer_example_send.js +44 -0
- package/build/examples/transfer_example_subaccount_transfer.d.ts +1 -0
- package/build/examples/transfer_example_subaccount_transfer.js +30 -0
- package/build/examples/transfer_example_withdraw.d.ts +1 -0
- package/build/examples/transfer_example_withdraw.js +30 -0
- package/build/examples/transfer_example_withdraw_other.d.ts +1 -0
- package/build/examples/transfer_example_withdraw_other.js +44 -0
- package/build/examples/validator_get_example.d.ts +1 -0
- package/build/examples/validator_get_example.js +101 -0
- package/build/examples/validator_post_example.d.ts +1 -0
- package/build/examples/validator_post_example.js +76 -0
- package/build/examples/wallet_address.d.ts +1 -0
- package/build/examples/wallet_address.js +21 -0
- package/build/examples/websocket_example.d.ts +1 -0
- package/build/examples/websocket_example.js +34 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/amino.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/amino/bundle.js +30 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.d.ts +76 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/runtime/v1alpha1/module.js +206 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.d.ts +100 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/config.js +223 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.d.ts +120 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/module.js +207 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.d.ts +31 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.js +108 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/app/v1alpha1/query.rpc.Query.js +52 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.d.ts +45 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/module/v1/module.js +161 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.d.ts +105 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/auth.js +323 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.d.ts +22 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/genesis.js +92 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.d.ts +438 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.js +937 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.d.ts +83 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/query.rpc.Query.js +135 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.d.ts +56 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.js +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/auth/v1beta1/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.d.ts +96 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/authz.js +259 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.d.ts +45 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/event.js +161 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.d.ts +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.js +402 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.d.ts +32 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/query.rpc.Query.js +70 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.d.ts +124 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.js +341 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.d.ts +30 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/authz/v1beta1/tx.rpc.msg.js +53 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/module/v1/module.js +90 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/authz.js +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.d.ts +207 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/bank.js +512 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.d.ts +63 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/genesis.js +198 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.d.ts +533 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.js +1235 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.d.ts +106 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/query.rpc.Query.js +146 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.d.ts +186 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.js +432 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.d.ts +33 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bank/v1beta1/tx.rpc.msg.js +59 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.d.ts +314 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/abci/v1beta1/abci.js +814 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.d.ts +33 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/kv/v1beta1/kv.js +136 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.d.ts +29 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.js +108 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/node/v1beta1/query.rpc.Service.js +52 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.d.ts +109 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/query/v1beta1/pagination.js +171 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.d.ts +73 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v1beta1/reflection.js +210 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.d.ts +502 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/reflection/v2alpha1/reflection.js +1330 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.d.ts +237 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/snapshots/v1beta1/snapshot.js +592 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.d.ts +72 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/commit_info.js +202 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.d.ts +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/store/v1beta1/listening.js +262 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.d.ts +404 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.js +1234 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.d.ts +46 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/query.rpc.Service.js +108 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.d.ts +88 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/tendermint/v1beta1/types.js +284 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.d.ts +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/base/v1beta1/coin.js +233 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.d.ts +5570 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/bundle.js +607 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/module/v1/module.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.d.ts +68 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/capability.js +181 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.d.ts +45 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/capability/v1beta1/genesis.js +146 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/module/v1/module.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.js +108 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/query.rpc.Query.js +52 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.d.ts +50 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.js +139 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/consensus/v1/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/module/v1/module.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.d.ts +21 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/genesis.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.d.ts +87 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.js +218 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crisis/v1beta1/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.d.ts +49 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/ed25519/keys.js +121 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.d.ts +32 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/hd/v1/hd.js +115 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.d.ts +96 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/keyring/v1/record.js +283 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.d.ts +27 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/keys.js +91 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.d.ts +51 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/multisig/v1beta1/multisig.js +136 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.d.ts +43 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256k1/keys.js +121 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.d.ts +36 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/crypto/secp256r1/keys.js +121 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.d.ts +19 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/module/v1/module.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.d.ts +330 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/distribution.js +782 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.d.ts +213 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/genesis.js +639 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.d.ts +439 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.js +1043 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.d.ts +55 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/query.rpc.Query.js +133 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.d.ts +278 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.js +611 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.d.ts +51 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/distribution/v1beta1/tx.rpc.msg.js +71 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/evidence.js +106 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.d.ts +94 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.js +238 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/query.rpc.Query.js +63 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.d.ts +43 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.js +132 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.d.ts +15 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/evidence/v1beta1/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.d.ts +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/feegrant.js +317 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.d.ts +128 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.js +366 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.d.ts +28 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/query.rpc.Query.js +70 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.d.ts +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.js +218 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.d.ts +21 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/feegrant/v1beta1/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/genutil/v1beta1/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.d.ts +25 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/module/v1/module.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.d.ts +60 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/genesis.js +161 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.d.ts +355 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/gov.js +944 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.d.ts +328 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.js +903 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.d.ts +44 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/query.rpc.Query.js +115 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.d.ts +270 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.js +688 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1/tx.rpc.msg.js +71 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.d.ts +38 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/genesis.js +151 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.d.ts +314 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/gov.js +814 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.d.ts +305 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.js +893 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.d.ts +44 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/query.rpc.Query.js +115 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.d.ts +171 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.js +455 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.d.ts +25 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/gov/v1beta1/tx.rpc.msg.js +59 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.d.ts +29 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/module/v1/module.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.d.ts +157 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/events.js +469 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.d.ts +50 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/genesis.js +171 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.d.ts +472 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.js +1426 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.d.ts +70 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/query.rpc.Query.js +160 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.d.ts +577 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.js +1630 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.d.ts +51 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/tx.rpc.msg.js +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.d.ts +476 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/group/v1/types.js +1135 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.d.ts +19 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/module/v1/module.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.d.ts +21 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/genesis.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.d.ts +53 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/mint.js +181 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.d.ts +107 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.js +266 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/query.rpc.Query.js +70 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.d.ts +56 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.js +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/mint/v1beta1/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/msg/v1/msg.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.d.ts +70 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/event.js +237 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.d.ts +40 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/genesis.js +157 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.d.ts +64 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/nft.js +222 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.d.ts +250 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.js +750 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.d.ts +43 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/query.rpc.Query.js +108 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.d.ts +39 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.js +138 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/nft/v1beta1/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.d.ts +22 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/module/v1alpha1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.d.ts +196 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.js +529 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/query/v1alpha1/query.rpc.Query.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.d.ts +137 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1/orm.js +268 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.d.ts +101 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/orm/v1alpha1/schema.js +243 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.d.ts +45 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/params.js +166 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.d.ts +112 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.js +276 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.d.ts +27 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/params/v1beta1/query.rpc.Query.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/query/v1/query.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.d.ts +31 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/reflection/v1/reflection.js +113 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.d.ts +216 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.query.js +103 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.d.ts +56 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/rpc.tx.js +81 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/module/v1/module.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.d.ts +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/genesis.js +279 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.d.ts +120 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.js +306 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/query.rpc.Query.js +72 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.d.ts +74 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/slashing.js +213 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.d.ts +84 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.js +198 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/slashing/v1beta1/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/module/v1/module.js +90 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.d.ts +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/authz.js +212 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.d.ts +65 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/genesis.js +227 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.d.ts +608 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.js +1510 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.d.ts +111 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/query.rpc.Query.js +169 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.d.ts +611 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/staking.js +1639 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.d.ts +313 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.js +810 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.d.ts +48 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/staking/v1beta1/tx.rpc.msg.js +77 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.d.ts +26 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/config/v1/config.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.d.ts +172 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/signing/v1beta1/signing.js +424 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.d.ts +532 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.js +1130 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.d.ts +68 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/service.rpc.Service.js +124 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.d.ts +488 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/tx/v1beta1/tx.js +964 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/module/v1/module.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.d.ts +240 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.js +466 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.d.ts +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/query.rpc.Query.js +88 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.d.ts +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.js +198 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.d.ts +148 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/upgrade/v1beta1/upgrade.js +295 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/module/v1/module.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.d.ts +151 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.js +373 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.d.ts +31 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/tx.rpc.msg.js +53 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.d.ts +149 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos/vesting/v1beta1/vesting.js +409 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.d.ts +21 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/bundle.js +30 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.d.ts +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/cosmos_proto/cosmos.js +206 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.d.ts +65 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/asset.js +145 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.d.ts +10 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/query.rpc.Query.js +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/assets/tx.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.d.ts +62 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/blocktime.js +193 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/genesis.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.d.ts +27 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/params.js +91 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.d.ts +131 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.js +265 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/query.rpc.Query.js +70 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.d.ts +72 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.js +198 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/blocktime/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.d.ts +29 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event.js +106 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.d.ts +31 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/bridge_event_info.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.d.ts +30 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/genesis.js +106 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.d.ts +94 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/params.js +228 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.d.ts +173 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.js +421 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.d.ts +40 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/query.rpc.Query.js +88 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.d.ts +162 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.js +471 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.d.ts +27 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bridge/tx.rpc.msg.js +65 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.d.ts +2299 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/bundle.js +273 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.d.ts +53 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/block_rate_limit_config.js +166 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.d.ts +133 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/clob_pair.js +337 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.d.ts +54 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/equity_tier_limit_config.js +151 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.d.ts +26 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/genesis.js +114 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.d.ts +73 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations.js +167 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.d.ts +141 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/liquidations_config.js +282 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.d.ts +164 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/matches.js +439 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.d.ts +132 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/mev.js +445 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.d.ts +59 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/operation.js +183 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.d.ts +426 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order.js +811 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.d.ts +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/order_removals.js +198 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.d.ts +55 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/process_proposer_matches_events.js +181 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.d.ts +242 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.js +639 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.d.ts +32 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/query.rpc.Query.js +90 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.d.ts +142 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.js +359 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.d.ts +21 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/clob/tx.rpc.msg.js +53 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.d.ts +36 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/bridge/bridge.js +113 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.d.ts +46 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/liquidation/liquidation.js +113 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.d.ts +68 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/daemons/pricefeed/price_feed.js +241 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.d.ts +60 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/epoch_info.js +135 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.d.ts +66 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.js +228 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/epochs/query.rpc.Query.js +63 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/genesis.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.d.ts +50 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/params.js +176 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.d.ts +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.js +210 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/query.rpc.Query.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.d.ts +39 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.js +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/feetiers/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.d.ts +552 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/events/events.js +1257 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.d.ts +137 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/indexer_manager/event.js +359 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.d.ts +161 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/off_chain_updates/off_chain_updates.js +406 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.d.ts +215 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/clob.js +426 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.d.ts +96 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/protocol/v1/subaccount.js +227 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.d.ts +57 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/redis/redis_order.js +173 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.d.ts +69 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/shared/removal_reason.js +159 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.d.ts +148 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/indexer/socks/messages.js +475 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.d.ts +22 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/genesis.js +107 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.d.ts +34 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/params.js +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.d.ts +178 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/perpetual.js +373 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.d.ts +66 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.js +228 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/query.rpc.Query.js +63 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.d.ts +60 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.js +169 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.d.ts +15 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/perpetuals/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/genesis.js +96 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.d.ts +56 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_param.js +125 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.d.ts +31 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/market_price.js +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.d.ts +184 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.js +426 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.d.ts +28 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/query.rpc.Query.js +83 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.d.ts +56 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.js +169 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.d.ts +15 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/prices/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/genesis.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.d.ts +37 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/params.js +115 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.d.ts +30 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.js +108 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/query.rpc.Query.js +52 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.d.ts +24 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/reward_share.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.d.ts +33 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.js +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rewards/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.d.ts +273 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.query.js +118 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.d.ts +68 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/rpc.tx.js +93 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.d.ts +14 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/genesis.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.d.ts +10 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/query.rpc.Query.js +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.d.ts +91 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/transfer.js +258 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.d.ts +69 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.js +174 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.d.ts +25 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/sending/tx.rpc.msg.js +54 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/genesis.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/params.js +75 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.d.ts +130 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.js +356 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.d.ts +28 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/query.rpc.Query.js +79 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.d.ts +132 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/stats.js +410 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.d.ts +33 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.js +119 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/stats/tx.rpc.msg.js +41 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.d.ts +35 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/asset_position.js +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.d.ts +17 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.d.ts +32 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/perpetual_position.js +95 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.d.ts +67 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.js +238 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.d.ts +20 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/query.rpc.Query.js +63 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.d.ts +65 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/subaccounts/subaccount.js +173 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/genesis.js +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.d.ts +33 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.js +121 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.d.ts +16 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/query.rpc.Query.js +52 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.d.ts +66 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.js +208 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.d.ts +15 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/tx.rpc.msg.js +47 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.d.ts +42 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/dydxprotocol/vest/vest_entry.js +116 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/bundle.js +30 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/gogoproto/gogo.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/annotations.js +3 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.d.ts +671 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/api/http.js +287 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.d.ts +266 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/bundle.js +44 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.d.ts +208 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/any.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.d.ts +1226 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/descriptor.js +2842 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.d.ts +151 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/duration.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.d.ts +197 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/google/protobuf/timestamp.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.d.ts +82 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/helpers.js +184 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.d.ts +12 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/index.js +29 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.d.ts +990 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/abci/types.js +3662 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.d.ts +657 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/bundle.js +61 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/keys.js +85 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.d.ts +98 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/crypto/proof.js +349 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.d.ts +18 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/libs/bits/types.js +100 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.d.ts +79 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/p2p/types.js +332 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.d.ts +22 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/block.js +106 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.d.ts +80 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/evidence.js +314 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.d.ts +154 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/params.js +376 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.d.ts +322 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/types.js +1164 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.d.ts +55 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/types/validator.js +232 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.d.ts +53 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/codegen/tendermint/version/types.js +140 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/index.d.ts +1 -0
- package/build/node_modules/@dydxprotocol/dydxjs/src/index.js +18 -0
- package/build/src/clients/composite-client.d.ts +223 -0
- package/build/src/clients/composite-client.js +357 -0
- package/build/src/clients/constants.d.ts +104 -0
- package/build/src/clients/constants.js +189 -0
- package/build/src/clients/faucet-client.d.ts +10 -0
- package/build/src/clients/faucet-client.js +24 -0
- package/build/src/clients/helpers/chain-helpers.d.ts +13 -0
- package/build/src/clients/helpers/chain-helpers.js +163 -0
- package/build/src/clients/helpers/request-helpers.d.ts +1 -0
- package/build/src/clients/helpers/request-helpers.js +14 -0
- package/build/src/clients/indexer-client.d.ts +25 -0
- package/build/src/clients/indexer-client.js +38 -0
- package/build/src/clients/lib/axios/axiosRequest.d.ts +8 -0
- package/build/src/clients/lib/axios/axiosRequest.js +35 -0
- package/build/src/clients/lib/axios/errors.d.ts +30 -0
- package/build/src/clients/lib/axios/errors.js +28 -0
- package/build/src/clients/lib/axios/index.d.ts +6 -0
- package/build/src/clients/lib/axios/index.js +23 -0
- package/build/src/clients/lib/axios/types.d.ts +6 -0
- package/build/src/clients/lib/axios/types.js +11 -0
- package/build/src/clients/lib/errors.d.ts +35 -0
- package/build/src/clients/lib/errors.js +58 -0
- package/build/src/clients/lib/registry.d.ts +3 -0
- package/build/src/clients/lib/registry.js +24 -0
- package/build/src/clients/modules/account.d.ts +18 -0
- package/build/src/clients/modules/account.js +105 -0
- package/build/src/clients/modules/composer.d.ts +12 -0
- package/build/src/clients/modules/composer.js +152 -0
- package/build/src/clients/modules/get.d.ts +118 -0
- package/build/src/clients/modules/get.js +232 -0
- package/build/src/clients/modules/local-wallet.d.ts +15 -0
- package/build/src/clients/modules/local-wallet.js +47 -0
- package/build/src/clients/modules/markets.d.ts +15 -0
- package/build/src/clients/modules/markets.js +60 -0
- package/build/src/clients/modules/post.d.ts +82 -0
- package/build/src/clients/modules/post.js +218 -0
- package/build/src/clients/modules/proto-includes.d.ts +15 -0
- package/build/src/clients/modules/proto-includes.js +45 -0
- package/build/src/clients/modules/rest.d.ts +9 -0
- package/build/src/clients/modules/rest.js +27 -0
- package/build/src/clients/modules/signer.d.ts +16 -0
- package/build/src/clients/modules/signer.js +44 -0
- package/build/src/clients/modules/tendermintClient.d.ts +51 -0
- package/build/src/clients/modules/tendermintClient.js +135 -0
- package/build/src/clients/native.d.ts +43 -0
- package/build/src/clients/native.js +641 -0
- package/build/src/clients/socket-client.d.ts +125 -0
- package/build/src/clients/socket-client.js +270 -0
- package/build/src/clients/subaccount.d.ts +7 -0
- package/build/src/clients/subaccount.js +23 -0
- package/build/src/clients/types.d.ts +47 -0
- package/build/src/clients/types.js +26 -0
- package/build/src/clients/validator-client.d.ts +28 -0
- package/build/src/clients/validator-client.js +63 -0
- package/build/src/index.d.ts +13 -0
- package/build/src/index.js +57 -0
- package/build/src/lib/constants.d.ts +15 -0
- package/build/src/lib/constants.js +32 -0
- package/build/src/lib/errors.d.ts +22 -0
- package/build/src/lib/errors.js +37 -0
- package/build/src/lib/helpers.d.ts +16 -0
- package/build/src/lib/helpers.js +61 -0
- package/build/src/lib/onboarding.d.ts +28 -0
- package/build/src/lib/onboarding.js +54 -0
- package/build/src/lib/utils.d.ts +13 -0
- package/build/src/lib/utils.js +36 -0
- package/build/src/lib/validation.d.ts +18 -0
- package/build/src/lib/validation.js +123 -0
- package/build/src/network_optimizer.d.ts +5 -0
- package/build/src/network_optimizer.js +54 -0
- package/build/src/types.d.ts +35 -0
- package/build/src/types.js +32 -0
- package/examples/account_endpoints.ts +142 -0
- package/examples/composite_example.ts +60 -0
- package/examples/constants.ts +27 -0
- package/examples/faucet_endpoint.ts +23 -0
- package/examples/human_readable_orders.json +86 -0
- package/examples/json-encoding.ts +33 -0
- package/examples/markets_endpoints.ts +159 -0
- package/examples/native_examples.ts +113 -0
- package/examples/optimal_node.ts +51 -0
- package/examples/raw_orders.json +130 -0
- package/examples/transfer_example_deposit.ts +37 -0
- package/examples/transfer_example_send.ts +79 -0
- package/examples/transfer_example_subaccount_transfer.ts +40 -0
- package/examples/transfer_example_withdraw.ts +38 -0
- package/examples/transfer_example_withdraw_other.ts +70 -0
- package/examples/validator_get_example.ts +100 -0
- package/examples/validator_post_example.ts +86 -0
- package/examples/wallet_address.ts +17 -0
- package/examples/websocket_example.ts +37 -0
- package/jest.config.js +10 -0
- package/jest.globalSetup.js +5 -0
- package/jest.setup.js +1 -0
- package/package.json +72 -0
- package/scripts/bump_version.sh +16 -0
- package/scripts/publish-if-not-exists.sh +21 -0
- package/src/clients/composite-client.ts +611 -0
- package/src/clients/constants.ts +204 -0
- package/src/clients/faucet-client.ts +27 -0
- package/src/clients/helpers/chain-helpers.ts +208 -0
- package/src/clients/helpers/request-helpers.ts +13 -0
- package/src/clients/indexer-client.ts +39 -0
- package/src/clients/lib/axios/axiosRequest.ts +44 -0
- package/src/clients/lib/axios/errors.ts +46 -0
- package/src/clients/lib/axios/index.ts +7 -0
- package/src/clients/lib/axios/types.ts +6 -0
- package/src/clients/lib/errors.ts +70 -0
- package/src/clients/lib/registry.ts +30 -0
- package/src/clients/modules/account.ts +168 -0
- package/src/clients/modules/composer.ts +235 -0
- package/src/clients/modules/get.ts +347 -0
- package/src/clients/modules/local-wallet.ts +78 -0
- package/src/clients/modules/markets.ts +77 -0
- package/src/clients/modules/post.ts +484 -0
- package/src/clients/modules/proto-includes.ts +17 -0
- package/src/clients/modules/rest.ts +37 -0
- package/src/clients/modules/signer.ts +66 -0
- package/src/clients/modules/tendermintClient.ts +185 -0
- package/src/clients/native.ts +768 -0
- package/src/clients/socket-client.ts +296 -0
- package/src/clients/subaccount.ts +24 -0
- package/src/clients/types.ts +73 -0
- package/src/clients/validator-client.ts +74 -0
- package/src/index.ts +17 -0
- package/src/lib/constants.ts +37 -0
- package/src/lib/errors.ts +44 -0
- package/src/lib/helpers.ts +59 -0
- package/src/lib/onboarding.ts +64 -0
- package/src/lib/utils.ts +36 -0
- package/src/lib/validation.ts +151 -0
- package/src/network_optimizer.ts +70 -0
- package/src/types.ts +58 -0
- package/tasks.json +16 -0
- package/tsconfig.eslint.json +17 -0
- package/tsconfig.json +20 -0
- package/webpack.config.js +48 -0
|
@@ -0,0 +1,3662 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.ResponseListSnapshots = exports.ResponseCommit = exports.ResponseEndBlock = exports.ResponseDeliverTx = exports.ResponseCheckTx = exports.ResponseBeginBlock = exports.ResponseQuery = exports.ResponseInitChain = exports.ResponseInfo = exports.ResponseFlush = exports.ResponseEcho = exports.ResponseException = exports.Response = exports.RequestProcessProposal = exports.RequestPrepareProposal = exports.RequestApplySnapshotChunk = exports.RequestLoadSnapshotChunk = exports.RequestOfferSnapshot = exports.RequestListSnapshots = exports.RequestCommit = exports.RequestEndBlock = exports.RequestDeliverTx = exports.RequestCheckTx = exports.RequestBeginBlock = exports.RequestQuery = exports.RequestInitChain = exports.RequestInfo = exports.RequestFlush = exports.RequestEcho = exports.Request = exports.misbehaviorTypeToJSON = exports.misbehaviorTypeFromJSON = exports.MisbehaviorTypeSDKType = exports.MisbehaviorType = exports.responseProcessProposal_ProposalStatusToJSON = exports.responseProcessProposal_ProposalStatusFromJSON = exports.ResponseProcessProposal_ProposalStatusSDKType = exports.ResponseProcessProposal_ProposalStatus = exports.responseApplySnapshotChunk_ResultToJSON = exports.responseApplySnapshotChunk_ResultFromJSON = exports.ResponseApplySnapshotChunk_ResultSDKType = exports.ResponseApplySnapshotChunk_Result = exports.responseOfferSnapshot_ResultToJSON = exports.responseOfferSnapshot_ResultFromJSON = exports.ResponseOfferSnapshot_ResultSDKType = exports.ResponseOfferSnapshot_Result = exports.checkTxTypeToJSON = exports.checkTxTypeFromJSON = exports.CheckTxTypeSDKType = exports.CheckTxType = void 0;
|
|
27
|
+
exports.Snapshot = exports.Misbehavior = exports.ExtendedVoteInfo = exports.VoteInfo = exports.ValidatorUpdate = exports.Validator = exports.TxResult = exports.EventAttribute = exports.Event = exports.ExtendedCommitInfo = exports.CommitInfo = exports.ResponseProcessProposal = exports.ResponsePrepareProposal = exports.ResponseApplySnapshotChunk = exports.ResponseLoadSnapshotChunk = exports.ResponseOfferSnapshot = void 0;
|
|
28
|
+
const timestamp_1 = require("../../google/protobuf/timestamp");
|
|
29
|
+
const params_1 = require("../types/params");
|
|
30
|
+
const types_1 = require("../types/types");
|
|
31
|
+
const proof_1 = require("../crypto/proof");
|
|
32
|
+
const keys_1 = require("../crypto/keys");
|
|
33
|
+
const _m0 = __importStar(require("protobufjs/minimal"));
|
|
34
|
+
const helpers_1 = require("../../helpers");
|
|
35
|
+
var CheckTxType;
|
|
36
|
+
(function (CheckTxType) {
|
|
37
|
+
CheckTxType[CheckTxType["NEW"] = 0] = "NEW";
|
|
38
|
+
CheckTxType[CheckTxType["RECHECK"] = 1] = "RECHECK";
|
|
39
|
+
CheckTxType[CheckTxType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
40
|
+
})(CheckTxType = exports.CheckTxType || (exports.CheckTxType = {}));
|
|
41
|
+
exports.CheckTxTypeSDKType = CheckTxType;
|
|
42
|
+
function checkTxTypeFromJSON(object) {
|
|
43
|
+
switch (object) {
|
|
44
|
+
case 0:
|
|
45
|
+
case "NEW":
|
|
46
|
+
return CheckTxType.NEW;
|
|
47
|
+
case 1:
|
|
48
|
+
case "RECHECK":
|
|
49
|
+
return CheckTxType.RECHECK;
|
|
50
|
+
case -1:
|
|
51
|
+
case "UNRECOGNIZED":
|
|
52
|
+
default:
|
|
53
|
+
return CheckTxType.UNRECOGNIZED;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.checkTxTypeFromJSON = checkTxTypeFromJSON;
|
|
57
|
+
function checkTxTypeToJSON(object) {
|
|
58
|
+
switch (object) {
|
|
59
|
+
case CheckTxType.NEW:
|
|
60
|
+
return "NEW";
|
|
61
|
+
case CheckTxType.RECHECK:
|
|
62
|
+
return "RECHECK";
|
|
63
|
+
case CheckTxType.UNRECOGNIZED:
|
|
64
|
+
default:
|
|
65
|
+
return "UNRECOGNIZED";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.checkTxTypeToJSON = checkTxTypeToJSON;
|
|
69
|
+
var ResponseOfferSnapshot_Result;
|
|
70
|
+
(function (ResponseOfferSnapshot_Result) {
|
|
71
|
+
/** UNKNOWN - Unknown result, abort all snapshot restoration */
|
|
72
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["UNKNOWN"] = 0] = "UNKNOWN";
|
|
73
|
+
/** ACCEPT - Snapshot accepted, apply chunks */
|
|
74
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["ACCEPT"] = 1] = "ACCEPT";
|
|
75
|
+
/** ABORT - Abort all snapshot restoration */
|
|
76
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["ABORT"] = 2] = "ABORT";
|
|
77
|
+
/** REJECT - Reject this specific snapshot, try others */
|
|
78
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT"] = 3] = "REJECT";
|
|
79
|
+
/** REJECT_FORMAT - Reject all snapshots of this format, try others */
|
|
80
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT_FORMAT"] = 4] = "REJECT_FORMAT";
|
|
81
|
+
/** REJECT_SENDER - Reject all snapshots from the sender(s), try others */
|
|
82
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["REJECT_SENDER"] = 5] = "REJECT_SENDER";
|
|
83
|
+
ResponseOfferSnapshot_Result[ResponseOfferSnapshot_Result["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
84
|
+
})(ResponseOfferSnapshot_Result = exports.ResponseOfferSnapshot_Result || (exports.ResponseOfferSnapshot_Result = {}));
|
|
85
|
+
exports.ResponseOfferSnapshot_ResultSDKType = ResponseOfferSnapshot_Result;
|
|
86
|
+
function responseOfferSnapshot_ResultFromJSON(object) {
|
|
87
|
+
switch (object) {
|
|
88
|
+
case 0:
|
|
89
|
+
case "UNKNOWN":
|
|
90
|
+
return ResponseOfferSnapshot_Result.UNKNOWN;
|
|
91
|
+
case 1:
|
|
92
|
+
case "ACCEPT":
|
|
93
|
+
return ResponseOfferSnapshot_Result.ACCEPT;
|
|
94
|
+
case 2:
|
|
95
|
+
case "ABORT":
|
|
96
|
+
return ResponseOfferSnapshot_Result.ABORT;
|
|
97
|
+
case 3:
|
|
98
|
+
case "REJECT":
|
|
99
|
+
return ResponseOfferSnapshot_Result.REJECT;
|
|
100
|
+
case 4:
|
|
101
|
+
case "REJECT_FORMAT":
|
|
102
|
+
return ResponseOfferSnapshot_Result.REJECT_FORMAT;
|
|
103
|
+
case 5:
|
|
104
|
+
case "REJECT_SENDER":
|
|
105
|
+
return ResponseOfferSnapshot_Result.REJECT_SENDER;
|
|
106
|
+
case -1:
|
|
107
|
+
case "UNRECOGNIZED":
|
|
108
|
+
default:
|
|
109
|
+
return ResponseOfferSnapshot_Result.UNRECOGNIZED;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.responseOfferSnapshot_ResultFromJSON = responseOfferSnapshot_ResultFromJSON;
|
|
113
|
+
function responseOfferSnapshot_ResultToJSON(object) {
|
|
114
|
+
switch (object) {
|
|
115
|
+
case ResponseOfferSnapshot_Result.UNKNOWN:
|
|
116
|
+
return "UNKNOWN";
|
|
117
|
+
case ResponseOfferSnapshot_Result.ACCEPT:
|
|
118
|
+
return "ACCEPT";
|
|
119
|
+
case ResponseOfferSnapshot_Result.ABORT:
|
|
120
|
+
return "ABORT";
|
|
121
|
+
case ResponseOfferSnapshot_Result.REJECT:
|
|
122
|
+
return "REJECT";
|
|
123
|
+
case ResponseOfferSnapshot_Result.REJECT_FORMAT:
|
|
124
|
+
return "REJECT_FORMAT";
|
|
125
|
+
case ResponseOfferSnapshot_Result.REJECT_SENDER:
|
|
126
|
+
return "REJECT_SENDER";
|
|
127
|
+
case ResponseOfferSnapshot_Result.UNRECOGNIZED:
|
|
128
|
+
default:
|
|
129
|
+
return "UNRECOGNIZED";
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.responseOfferSnapshot_ResultToJSON = responseOfferSnapshot_ResultToJSON;
|
|
133
|
+
var ResponseApplySnapshotChunk_Result;
|
|
134
|
+
(function (ResponseApplySnapshotChunk_Result) {
|
|
135
|
+
/** UNKNOWN - Unknown result, abort all snapshot restoration */
|
|
136
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["UNKNOWN"] = 0] = "UNKNOWN";
|
|
137
|
+
/** ACCEPT - Chunk successfully accepted */
|
|
138
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["ACCEPT"] = 1] = "ACCEPT";
|
|
139
|
+
/** ABORT - Abort all snapshot restoration */
|
|
140
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["ABORT"] = 2] = "ABORT";
|
|
141
|
+
/** RETRY - Retry chunk (combine with refetch and reject) */
|
|
142
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["RETRY"] = 3] = "RETRY";
|
|
143
|
+
/** RETRY_SNAPSHOT - Retry snapshot (combine with refetch and reject) */
|
|
144
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["RETRY_SNAPSHOT"] = 4] = "RETRY_SNAPSHOT";
|
|
145
|
+
/** REJECT_SNAPSHOT - Reject this snapshot, try others */
|
|
146
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["REJECT_SNAPSHOT"] = 5] = "REJECT_SNAPSHOT";
|
|
147
|
+
ResponseApplySnapshotChunk_Result[ResponseApplySnapshotChunk_Result["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
148
|
+
})(ResponseApplySnapshotChunk_Result = exports.ResponseApplySnapshotChunk_Result || (exports.ResponseApplySnapshotChunk_Result = {}));
|
|
149
|
+
exports.ResponseApplySnapshotChunk_ResultSDKType = ResponseApplySnapshotChunk_Result;
|
|
150
|
+
function responseApplySnapshotChunk_ResultFromJSON(object) {
|
|
151
|
+
switch (object) {
|
|
152
|
+
case 0:
|
|
153
|
+
case "UNKNOWN":
|
|
154
|
+
return ResponseApplySnapshotChunk_Result.UNKNOWN;
|
|
155
|
+
case 1:
|
|
156
|
+
case "ACCEPT":
|
|
157
|
+
return ResponseApplySnapshotChunk_Result.ACCEPT;
|
|
158
|
+
case 2:
|
|
159
|
+
case "ABORT":
|
|
160
|
+
return ResponseApplySnapshotChunk_Result.ABORT;
|
|
161
|
+
case 3:
|
|
162
|
+
case "RETRY":
|
|
163
|
+
return ResponseApplySnapshotChunk_Result.RETRY;
|
|
164
|
+
case 4:
|
|
165
|
+
case "RETRY_SNAPSHOT":
|
|
166
|
+
return ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT;
|
|
167
|
+
case 5:
|
|
168
|
+
case "REJECT_SNAPSHOT":
|
|
169
|
+
return ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT;
|
|
170
|
+
case -1:
|
|
171
|
+
case "UNRECOGNIZED":
|
|
172
|
+
default:
|
|
173
|
+
return ResponseApplySnapshotChunk_Result.UNRECOGNIZED;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
exports.responseApplySnapshotChunk_ResultFromJSON = responseApplySnapshotChunk_ResultFromJSON;
|
|
177
|
+
function responseApplySnapshotChunk_ResultToJSON(object) {
|
|
178
|
+
switch (object) {
|
|
179
|
+
case ResponseApplySnapshotChunk_Result.UNKNOWN:
|
|
180
|
+
return "UNKNOWN";
|
|
181
|
+
case ResponseApplySnapshotChunk_Result.ACCEPT:
|
|
182
|
+
return "ACCEPT";
|
|
183
|
+
case ResponseApplySnapshotChunk_Result.ABORT:
|
|
184
|
+
return "ABORT";
|
|
185
|
+
case ResponseApplySnapshotChunk_Result.RETRY:
|
|
186
|
+
return "RETRY";
|
|
187
|
+
case ResponseApplySnapshotChunk_Result.RETRY_SNAPSHOT:
|
|
188
|
+
return "RETRY_SNAPSHOT";
|
|
189
|
+
case ResponseApplySnapshotChunk_Result.REJECT_SNAPSHOT:
|
|
190
|
+
return "REJECT_SNAPSHOT";
|
|
191
|
+
case ResponseApplySnapshotChunk_Result.UNRECOGNIZED:
|
|
192
|
+
default:
|
|
193
|
+
return "UNRECOGNIZED";
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
exports.responseApplySnapshotChunk_ResultToJSON = responseApplySnapshotChunk_ResultToJSON;
|
|
197
|
+
var ResponseProcessProposal_ProposalStatus;
|
|
198
|
+
(function (ResponseProcessProposal_ProposalStatus) {
|
|
199
|
+
ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["UNKNOWN"] = 0] = "UNKNOWN";
|
|
200
|
+
ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["ACCEPT"] = 1] = "ACCEPT";
|
|
201
|
+
ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["REJECT"] = 2] = "REJECT";
|
|
202
|
+
ResponseProcessProposal_ProposalStatus[ResponseProcessProposal_ProposalStatus["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
203
|
+
})(ResponseProcessProposal_ProposalStatus = exports.ResponseProcessProposal_ProposalStatus || (exports.ResponseProcessProposal_ProposalStatus = {}));
|
|
204
|
+
exports.ResponseProcessProposal_ProposalStatusSDKType = ResponseProcessProposal_ProposalStatus;
|
|
205
|
+
function responseProcessProposal_ProposalStatusFromJSON(object) {
|
|
206
|
+
switch (object) {
|
|
207
|
+
case 0:
|
|
208
|
+
case "UNKNOWN":
|
|
209
|
+
return ResponseProcessProposal_ProposalStatus.UNKNOWN;
|
|
210
|
+
case 1:
|
|
211
|
+
case "ACCEPT":
|
|
212
|
+
return ResponseProcessProposal_ProposalStatus.ACCEPT;
|
|
213
|
+
case 2:
|
|
214
|
+
case "REJECT":
|
|
215
|
+
return ResponseProcessProposal_ProposalStatus.REJECT;
|
|
216
|
+
case -1:
|
|
217
|
+
case "UNRECOGNIZED":
|
|
218
|
+
default:
|
|
219
|
+
return ResponseProcessProposal_ProposalStatus.UNRECOGNIZED;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
exports.responseProcessProposal_ProposalStatusFromJSON = responseProcessProposal_ProposalStatusFromJSON;
|
|
223
|
+
function responseProcessProposal_ProposalStatusToJSON(object) {
|
|
224
|
+
switch (object) {
|
|
225
|
+
case ResponseProcessProposal_ProposalStatus.UNKNOWN:
|
|
226
|
+
return "UNKNOWN";
|
|
227
|
+
case ResponseProcessProposal_ProposalStatus.ACCEPT:
|
|
228
|
+
return "ACCEPT";
|
|
229
|
+
case ResponseProcessProposal_ProposalStatus.REJECT:
|
|
230
|
+
return "REJECT";
|
|
231
|
+
case ResponseProcessProposal_ProposalStatus.UNRECOGNIZED:
|
|
232
|
+
default:
|
|
233
|
+
return "UNRECOGNIZED";
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
exports.responseProcessProposal_ProposalStatusToJSON = responseProcessProposal_ProposalStatusToJSON;
|
|
237
|
+
var MisbehaviorType;
|
|
238
|
+
(function (MisbehaviorType) {
|
|
239
|
+
MisbehaviorType[MisbehaviorType["UNKNOWN"] = 0] = "UNKNOWN";
|
|
240
|
+
MisbehaviorType[MisbehaviorType["DUPLICATE_VOTE"] = 1] = "DUPLICATE_VOTE";
|
|
241
|
+
MisbehaviorType[MisbehaviorType["LIGHT_CLIENT_ATTACK"] = 2] = "LIGHT_CLIENT_ATTACK";
|
|
242
|
+
MisbehaviorType[MisbehaviorType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
|
|
243
|
+
})(MisbehaviorType = exports.MisbehaviorType || (exports.MisbehaviorType = {}));
|
|
244
|
+
exports.MisbehaviorTypeSDKType = MisbehaviorType;
|
|
245
|
+
function misbehaviorTypeFromJSON(object) {
|
|
246
|
+
switch (object) {
|
|
247
|
+
case 0:
|
|
248
|
+
case "UNKNOWN":
|
|
249
|
+
return MisbehaviorType.UNKNOWN;
|
|
250
|
+
case 1:
|
|
251
|
+
case "DUPLICATE_VOTE":
|
|
252
|
+
return MisbehaviorType.DUPLICATE_VOTE;
|
|
253
|
+
case 2:
|
|
254
|
+
case "LIGHT_CLIENT_ATTACK":
|
|
255
|
+
return MisbehaviorType.LIGHT_CLIENT_ATTACK;
|
|
256
|
+
case -1:
|
|
257
|
+
case "UNRECOGNIZED":
|
|
258
|
+
default:
|
|
259
|
+
return MisbehaviorType.UNRECOGNIZED;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
exports.misbehaviorTypeFromJSON = misbehaviorTypeFromJSON;
|
|
263
|
+
function misbehaviorTypeToJSON(object) {
|
|
264
|
+
switch (object) {
|
|
265
|
+
case MisbehaviorType.UNKNOWN:
|
|
266
|
+
return "UNKNOWN";
|
|
267
|
+
case MisbehaviorType.DUPLICATE_VOTE:
|
|
268
|
+
return "DUPLICATE_VOTE";
|
|
269
|
+
case MisbehaviorType.LIGHT_CLIENT_ATTACK:
|
|
270
|
+
return "LIGHT_CLIENT_ATTACK";
|
|
271
|
+
case MisbehaviorType.UNRECOGNIZED:
|
|
272
|
+
default:
|
|
273
|
+
return "UNRECOGNIZED";
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
exports.misbehaviorTypeToJSON = misbehaviorTypeToJSON;
|
|
277
|
+
function createBaseRequest() {
|
|
278
|
+
return {
|
|
279
|
+
echo: undefined,
|
|
280
|
+
flush: undefined,
|
|
281
|
+
info: undefined,
|
|
282
|
+
initChain: undefined,
|
|
283
|
+
query: undefined,
|
|
284
|
+
beginBlock: undefined,
|
|
285
|
+
checkTx: undefined,
|
|
286
|
+
deliverTx: undefined,
|
|
287
|
+
endBlock: undefined,
|
|
288
|
+
commit: undefined,
|
|
289
|
+
listSnapshots: undefined,
|
|
290
|
+
offerSnapshot: undefined,
|
|
291
|
+
loadSnapshotChunk: undefined,
|
|
292
|
+
applySnapshotChunk: undefined,
|
|
293
|
+
prepareProposal: undefined,
|
|
294
|
+
processProposal: undefined
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
exports.Request = {
|
|
298
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
299
|
+
if (message.echo !== undefined) {
|
|
300
|
+
exports.RequestEcho.encode(message.echo, writer.uint32(10).fork()).ldelim();
|
|
301
|
+
}
|
|
302
|
+
if (message.flush !== undefined) {
|
|
303
|
+
exports.RequestFlush.encode(message.flush, writer.uint32(18).fork()).ldelim();
|
|
304
|
+
}
|
|
305
|
+
if (message.info !== undefined) {
|
|
306
|
+
exports.RequestInfo.encode(message.info, writer.uint32(26).fork()).ldelim();
|
|
307
|
+
}
|
|
308
|
+
if (message.initChain !== undefined) {
|
|
309
|
+
exports.RequestInitChain.encode(message.initChain, writer.uint32(42).fork()).ldelim();
|
|
310
|
+
}
|
|
311
|
+
if (message.query !== undefined) {
|
|
312
|
+
exports.RequestQuery.encode(message.query, writer.uint32(50).fork()).ldelim();
|
|
313
|
+
}
|
|
314
|
+
if (message.beginBlock !== undefined) {
|
|
315
|
+
exports.RequestBeginBlock.encode(message.beginBlock, writer.uint32(58).fork()).ldelim();
|
|
316
|
+
}
|
|
317
|
+
if (message.checkTx !== undefined) {
|
|
318
|
+
exports.RequestCheckTx.encode(message.checkTx, writer.uint32(66).fork()).ldelim();
|
|
319
|
+
}
|
|
320
|
+
if (message.deliverTx !== undefined) {
|
|
321
|
+
exports.RequestDeliverTx.encode(message.deliverTx, writer.uint32(74).fork()).ldelim();
|
|
322
|
+
}
|
|
323
|
+
if (message.endBlock !== undefined) {
|
|
324
|
+
exports.RequestEndBlock.encode(message.endBlock, writer.uint32(82).fork()).ldelim();
|
|
325
|
+
}
|
|
326
|
+
if (message.commit !== undefined) {
|
|
327
|
+
exports.RequestCommit.encode(message.commit, writer.uint32(90).fork()).ldelim();
|
|
328
|
+
}
|
|
329
|
+
if (message.listSnapshots !== undefined) {
|
|
330
|
+
exports.RequestListSnapshots.encode(message.listSnapshots, writer.uint32(98).fork()).ldelim();
|
|
331
|
+
}
|
|
332
|
+
if (message.offerSnapshot !== undefined) {
|
|
333
|
+
exports.RequestOfferSnapshot.encode(message.offerSnapshot, writer.uint32(106).fork()).ldelim();
|
|
334
|
+
}
|
|
335
|
+
if (message.loadSnapshotChunk !== undefined) {
|
|
336
|
+
exports.RequestLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(114).fork()).ldelim();
|
|
337
|
+
}
|
|
338
|
+
if (message.applySnapshotChunk !== undefined) {
|
|
339
|
+
exports.RequestApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(122).fork()).ldelim();
|
|
340
|
+
}
|
|
341
|
+
if (message.prepareProposal !== undefined) {
|
|
342
|
+
exports.RequestPrepareProposal.encode(message.prepareProposal, writer.uint32(130).fork()).ldelim();
|
|
343
|
+
}
|
|
344
|
+
if (message.processProposal !== undefined) {
|
|
345
|
+
exports.RequestProcessProposal.encode(message.processProposal, writer.uint32(138).fork()).ldelim();
|
|
346
|
+
}
|
|
347
|
+
return writer;
|
|
348
|
+
},
|
|
349
|
+
decode(input, length) {
|
|
350
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
351
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
352
|
+
const message = createBaseRequest();
|
|
353
|
+
while (reader.pos < end) {
|
|
354
|
+
const tag = reader.uint32();
|
|
355
|
+
switch (tag >>> 3) {
|
|
356
|
+
case 1:
|
|
357
|
+
message.echo = exports.RequestEcho.decode(reader, reader.uint32());
|
|
358
|
+
break;
|
|
359
|
+
case 2:
|
|
360
|
+
message.flush = exports.RequestFlush.decode(reader, reader.uint32());
|
|
361
|
+
break;
|
|
362
|
+
case 3:
|
|
363
|
+
message.info = exports.RequestInfo.decode(reader, reader.uint32());
|
|
364
|
+
break;
|
|
365
|
+
case 5:
|
|
366
|
+
message.initChain = exports.RequestInitChain.decode(reader, reader.uint32());
|
|
367
|
+
break;
|
|
368
|
+
case 6:
|
|
369
|
+
message.query = exports.RequestQuery.decode(reader, reader.uint32());
|
|
370
|
+
break;
|
|
371
|
+
case 7:
|
|
372
|
+
message.beginBlock = exports.RequestBeginBlock.decode(reader, reader.uint32());
|
|
373
|
+
break;
|
|
374
|
+
case 8:
|
|
375
|
+
message.checkTx = exports.RequestCheckTx.decode(reader, reader.uint32());
|
|
376
|
+
break;
|
|
377
|
+
case 9:
|
|
378
|
+
message.deliverTx = exports.RequestDeliverTx.decode(reader, reader.uint32());
|
|
379
|
+
break;
|
|
380
|
+
case 10:
|
|
381
|
+
message.endBlock = exports.RequestEndBlock.decode(reader, reader.uint32());
|
|
382
|
+
break;
|
|
383
|
+
case 11:
|
|
384
|
+
message.commit = exports.RequestCommit.decode(reader, reader.uint32());
|
|
385
|
+
break;
|
|
386
|
+
case 12:
|
|
387
|
+
message.listSnapshots = exports.RequestListSnapshots.decode(reader, reader.uint32());
|
|
388
|
+
break;
|
|
389
|
+
case 13:
|
|
390
|
+
message.offerSnapshot = exports.RequestOfferSnapshot.decode(reader, reader.uint32());
|
|
391
|
+
break;
|
|
392
|
+
case 14:
|
|
393
|
+
message.loadSnapshotChunk = exports.RequestLoadSnapshotChunk.decode(reader, reader.uint32());
|
|
394
|
+
break;
|
|
395
|
+
case 15:
|
|
396
|
+
message.applySnapshotChunk = exports.RequestApplySnapshotChunk.decode(reader, reader.uint32());
|
|
397
|
+
break;
|
|
398
|
+
case 16:
|
|
399
|
+
message.prepareProposal = exports.RequestPrepareProposal.decode(reader, reader.uint32());
|
|
400
|
+
break;
|
|
401
|
+
case 17:
|
|
402
|
+
message.processProposal = exports.RequestProcessProposal.decode(reader, reader.uint32());
|
|
403
|
+
break;
|
|
404
|
+
default:
|
|
405
|
+
reader.skipType(tag & 7);
|
|
406
|
+
break;
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
return message;
|
|
410
|
+
},
|
|
411
|
+
fromJSON(object) {
|
|
412
|
+
return {
|
|
413
|
+
echo: (0, helpers_1.isSet)(object.echo) ? exports.RequestEcho.fromJSON(object.echo) : undefined,
|
|
414
|
+
flush: (0, helpers_1.isSet)(object.flush) ? exports.RequestFlush.fromJSON(object.flush) : undefined,
|
|
415
|
+
info: (0, helpers_1.isSet)(object.info) ? exports.RequestInfo.fromJSON(object.info) : undefined,
|
|
416
|
+
initChain: (0, helpers_1.isSet)(object.initChain) ? exports.RequestInitChain.fromJSON(object.initChain) : undefined,
|
|
417
|
+
query: (0, helpers_1.isSet)(object.query) ? exports.RequestQuery.fromJSON(object.query) : undefined,
|
|
418
|
+
beginBlock: (0, helpers_1.isSet)(object.beginBlock) ? exports.RequestBeginBlock.fromJSON(object.beginBlock) : undefined,
|
|
419
|
+
checkTx: (0, helpers_1.isSet)(object.checkTx) ? exports.RequestCheckTx.fromJSON(object.checkTx) : undefined,
|
|
420
|
+
deliverTx: (0, helpers_1.isSet)(object.deliverTx) ? exports.RequestDeliverTx.fromJSON(object.deliverTx) : undefined,
|
|
421
|
+
endBlock: (0, helpers_1.isSet)(object.endBlock) ? exports.RequestEndBlock.fromJSON(object.endBlock) : undefined,
|
|
422
|
+
commit: (0, helpers_1.isSet)(object.commit) ? exports.RequestCommit.fromJSON(object.commit) : undefined,
|
|
423
|
+
listSnapshots: (0, helpers_1.isSet)(object.listSnapshots) ? exports.RequestListSnapshots.fromJSON(object.listSnapshots) : undefined,
|
|
424
|
+
offerSnapshot: (0, helpers_1.isSet)(object.offerSnapshot) ? exports.RequestOfferSnapshot.fromJSON(object.offerSnapshot) : undefined,
|
|
425
|
+
loadSnapshotChunk: (0, helpers_1.isSet)(object.loadSnapshotChunk) ? exports.RequestLoadSnapshotChunk.fromJSON(object.loadSnapshotChunk) : undefined,
|
|
426
|
+
applySnapshotChunk: (0, helpers_1.isSet)(object.applySnapshotChunk) ? exports.RequestApplySnapshotChunk.fromJSON(object.applySnapshotChunk) : undefined,
|
|
427
|
+
prepareProposal: (0, helpers_1.isSet)(object.prepareProposal) ? exports.RequestPrepareProposal.fromJSON(object.prepareProposal) : undefined,
|
|
428
|
+
processProposal: (0, helpers_1.isSet)(object.processProposal) ? exports.RequestProcessProposal.fromJSON(object.processProposal) : undefined
|
|
429
|
+
};
|
|
430
|
+
},
|
|
431
|
+
toJSON(message) {
|
|
432
|
+
const obj = {};
|
|
433
|
+
message.echo !== undefined && (obj.echo = message.echo ? exports.RequestEcho.toJSON(message.echo) : undefined);
|
|
434
|
+
message.flush !== undefined && (obj.flush = message.flush ? exports.RequestFlush.toJSON(message.flush) : undefined);
|
|
435
|
+
message.info !== undefined && (obj.info = message.info ? exports.RequestInfo.toJSON(message.info) : undefined);
|
|
436
|
+
message.initChain !== undefined && (obj.initChain = message.initChain ? exports.RequestInitChain.toJSON(message.initChain) : undefined);
|
|
437
|
+
message.query !== undefined && (obj.query = message.query ? exports.RequestQuery.toJSON(message.query) : undefined);
|
|
438
|
+
message.beginBlock !== undefined && (obj.beginBlock = message.beginBlock ? exports.RequestBeginBlock.toJSON(message.beginBlock) : undefined);
|
|
439
|
+
message.checkTx !== undefined && (obj.checkTx = message.checkTx ? exports.RequestCheckTx.toJSON(message.checkTx) : undefined);
|
|
440
|
+
message.deliverTx !== undefined && (obj.deliverTx = message.deliverTx ? exports.RequestDeliverTx.toJSON(message.deliverTx) : undefined);
|
|
441
|
+
message.endBlock !== undefined && (obj.endBlock = message.endBlock ? exports.RequestEndBlock.toJSON(message.endBlock) : undefined);
|
|
442
|
+
message.commit !== undefined && (obj.commit = message.commit ? exports.RequestCommit.toJSON(message.commit) : undefined);
|
|
443
|
+
message.listSnapshots !== undefined && (obj.listSnapshots = message.listSnapshots ? exports.RequestListSnapshots.toJSON(message.listSnapshots) : undefined);
|
|
444
|
+
message.offerSnapshot !== undefined && (obj.offerSnapshot = message.offerSnapshot ? exports.RequestOfferSnapshot.toJSON(message.offerSnapshot) : undefined);
|
|
445
|
+
message.loadSnapshotChunk !== undefined && (obj.loadSnapshotChunk = message.loadSnapshotChunk ? exports.RequestLoadSnapshotChunk.toJSON(message.loadSnapshotChunk) : undefined);
|
|
446
|
+
message.applySnapshotChunk !== undefined && (obj.applySnapshotChunk = message.applySnapshotChunk ? exports.RequestApplySnapshotChunk.toJSON(message.applySnapshotChunk) : undefined);
|
|
447
|
+
message.prepareProposal !== undefined && (obj.prepareProposal = message.prepareProposal ? exports.RequestPrepareProposal.toJSON(message.prepareProposal) : undefined);
|
|
448
|
+
message.processProposal !== undefined && (obj.processProposal = message.processProposal ? exports.RequestProcessProposal.toJSON(message.processProposal) : undefined);
|
|
449
|
+
return obj;
|
|
450
|
+
},
|
|
451
|
+
fromPartial(object) {
|
|
452
|
+
const message = createBaseRequest();
|
|
453
|
+
message.echo = object.echo !== undefined && object.echo !== null ? exports.RequestEcho.fromPartial(object.echo) : undefined;
|
|
454
|
+
message.flush = object.flush !== undefined && object.flush !== null ? exports.RequestFlush.fromPartial(object.flush) : undefined;
|
|
455
|
+
message.info = object.info !== undefined && object.info !== null ? exports.RequestInfo.fromPartial(object.info) : undefined;
|
|
456
|
+
message.initChain = object.initChain !== undefined && object.initChain !== null ? exports.RequestInitChain.fromPartial(object.initChain) : undefined;
|
|
457
|
+
message.query = object.query !== undefined && object.query !== null ? exports.RequestQuery.fromPartial(object.query) : undefined;
|
|
458
|
+
message.beginBlock = object.beginBlock !== undefined && object.beginBlock !== null ? exports.RequestBeginBlock.fromPartial(object.beginBlock) : undefined;
|
|
459
|
+
message.checkTx = object.checkTx !== undefined && object.checkTx !== null ? exports.RequestCheckTx.fromPartial(object.checkTx) : undefined;
|
|
460
|
+
message.deliverTx = object.deliverTx !== undefined && object.deliverTx !== null ? exports.RequestDeliverTx.fromPartial(object.deliverTx) : undefined;
|
|
461
|
+
message.endBlock = object.endBlock !== undefined && object.endBlock !== null ? exports.RequestEndBlock.fromPartial(object.endBlock) : undefined;
|
|
462
|
+
message.commit = object.commit !== undefined && object.commit !== null ? exports.RequestCommit.fromPartial(object.commit) : undefined;
|
|
463
|
+
message.listSnapshots = object.listSnapshots !== undefined && object.listSnapshots !== null ? exports.RequestListSnapshots.fromPartial(object.listSnapshots) : undefined;
|
|
464
|
+
message.offerSnapshot = object.offerSnapshot !== undefined && object.offerSnapshot !== null ? exports.RequestOfferSnapshot.fromPartial(object.offerSnapshot) : undefined;
|
|
465
|
+
message.loadSnapshotChunk = object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null ? exports.RequestLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) : undefined;
|
|
466
|
+
message.applySnapshotChunk = object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null ? exports.RequestApplySnapshotChunk.fromPartial(object.applySnapshotChunk) : undefined;
|
|
467
|
+
message.prepareProposal = object.prepareProposal !== undefined && object.prepareProposal !== null ? exports.RequestPrepareProposal.fromPartial(object.prepareProposal) : undefined;
|
|
468
|
+
message.processProposal = object.processProposal !== undefined && object.processProposal !== null ? exports.RequestProcessProposal.fromPartial(object.processProposal) : undefined;
|
|
469
|
+
return message;
|
|
470
|
+
}
|
|
471
|
+
};
|
|
472
|
+
function createBaseRequestEcho() {
|
|
473
|
+
return {
|
|
474
|
+
message: ""
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
exports.RequestEcho = {
|
|
478
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
479
|
+
if (message.message !== "") {
|
|
480
|
+
writer.uint32(10).string(message.message);
|
|
481
|
+
}
|
|
482
|
+
return writer;
|
|
483
|
+
},
|
|
484
|
+
decode(input, length) {
|
|
485
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
486
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
487
|
+
const message = createBaseRequestEcho();
|
|
488
|
+
while (reader.pos < end) {
|
|
489
|
+
const tag = reader.uint32();
|
|
490
|
+
switch (tag >>> 3) {
|
|
491
|
+
case 1:
|
|
492
|
+
message.message = reader.string();
|
|
493
|
+
break;
|
|
494
|
+
default:
|
|
495
|
+
reader.skipType(tag & 7);
|
|
496
|
+
break;
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
return message;
|
|
500
|
+
},
|
|
501
|
+
fromJSON(object) {
|
|
502
|
+
return {
|
|
503
|
+
message: (0, helpers_1.isSet)(object.message) ? String(object.message) : ""
|
|
504
|
+
};
|
|
505
|
+
},
|
|
506
|
+
toJSON(message) {
|
|
507
|
+
const obj = {};
|
|
508
|
+
message.message !== undefined && (obj.message = message.message);
|
|
509
|
+
return obj;
|
|
510
|
+
},
|
|
511
|
+
fromPartial(object) {
|
|
512
|
+
var _a;
|
|
513
|
+
const message = createBaseRequestEcho();
|
|
514
|
+
message.message = (_a = object.message) !== null && _a !== void 0 ? _a : "";
|
|
515
|
+
return message;
|
|
516
|
+
}
|
|
517
|
+
};
|
|
518
|
+
function createBaseRequestFlush() {
|
|
519
|
+
return {};
|
|
520
|
+
}
|
|
521
|
+
exports.RequestFlush = {
|
|
522
|
+
encode(_, writer = _m0.Writer.create()) {
|
|
523
|
+
return writer;
|
|
524
|
+
},
|
|
525
|
+
decode(input, length) {
|
|
526
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
527
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
528
|
+
const message = createBaseRequestFlush();
|
|
529
|
+
while (reader.pos < end) {
|
|
530
|
+
const tag = reader.uint32();
|
|
531
|
+
switch (tag >>> 3) {
|
|
532
|
+
default:
|
|
533
|
+
reader.skipType(tag & 7);
|
|
534
|
+
break;
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
return message;
|
|
538
|
+
},
|
|
539
|
+
fromJSON(_) {
|
|
540
|
+
return {};
|
|
541
|
+
},
|
|
542
|
+
toJSON(_) {
|
|
543
|
+
const obj = {};
|
|
544
|
+
return obj;
|
|
545
|
+
},
|
|
546
|
+
fromPartial(_) {
|
|
547
|
+
const message = createBaseRequestFlush();
|
|
548
|
+
return message;
|
|
549
|
+
}
|
|
550
|
+
};
|
|
551
|
+
function createBaseRequestInfo() {
|
|
552
|
+
return {
|
|
553
|
+
version: "",
|
|
554
|
+
blockVersion: helpers_1.Long.UZERO,
|
|
555
|
+
p2pVersion: helpers_1.Long.UZERO,
|
|
556
|
+
abciVersion: ""
|
|
557
|
+
};
|
|
558
|
+
}
|
|
559
|
+
exports.RequestInfo = {
|
|
560
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
561
|
+
if (message.version !== "") {
|
|
562
|
+
writer.uint32(10).string(message.version);
|
|
563
|
+
}
|
|
564
|
+
if (!message.blockVersion.isZero()) {
|
|
565
|
+
writer.uint32(16).uint64(message.blockVersion);
|
|
566
|
+
}
|
|
567
|
+
if (!message.p2pVersion.isZero()) {
|
|
568
|
+
writer.uint32(24).uint64(message.p2pVersion);
|
|
569
|
+
}
|
|
570
|
+
if (message.abciVersion !== "") {
|
|
571
|
+
writer.uint32(34).string(message.abciVersion);
|
|
572
|
+
}
|
|
573
|
+
return writer;
|
|
574
|
+
},
|
|
575
|
+
decode(input, length) {
|
|
576
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
577
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
578
|
+
const message = createBaseRequestInfo();
|
|
579
|
+
while (reader.pos < end) {
|
|
580
|
+
const tag = reader.uint32();
|
|
581
|
+
switch (tag >>> 3) {
|
|
582
|
+
case 1:
|
|
583
|
+
message.version = reader.string();
|
|
584
|
+
break;
|
|
585
|
+
case 2:
|
|
586
|
+
message.blockVersion = reader.uint64();
|
|
587
|
+
break;
|
|
588
|
+
case 3:
|
|
589
|
+
message.p2pVersion = reader.uint64();
|
|
590
|
+
break;
|
|
591
|
+
case 4:
|
|
592
|
+
message.abciVersion = reader.string();
|
|
593
|
+
break;
|
|
594
|
+
default:
|
|
595
|
+
reader.skipType(tag & 7);
|
|
596
|
+
break;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
return message;
|
|
600
|
+
},
|
|
601
|
+
fromJSON(object) {
|
|
602
|
+
return {
|
|
603
|
+
version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "",
|
|
604
|
+
blockVersion: (0, helpers_1.isSet)(object.blockVersion) ? helpers_1.Long.fromValue(object.blockVersion) : helpers_1.Long.UZERO,
|
|
605
|
+
p2pVersion: (0, helpers_1.isSet)(object.p2pVersion) ? helpers_1.Long.fromValue(object.p2pVersion) : helpers_1.Long.UZERO,
|
|
606
|
+
abciVersion: (0, helpers_1.isSet)(object.abciVersion) ? String(object.abciVersion) : ""
|
|
607
|
+
};
|
|
608
|
+
},
|
|
609
|
+
toJSON(message) {
|
|
610
|
+
const obj = {};
|
|
611
|
+
message.version !== undefined && (obj.version = message.version);
|
|
612
|
+
message.blockVersion !== undefined && (obj.blockVersion = (message.blockVersion || helpers_1.Long.UZERO).toString());
|
|
613
|
+
message.p2pVersion !== undefined && (obj.p2pVersion = (message.p2pVersion || helpers_1.Long.UZERO).toString());
|
|
614
|
+
message.abciVersion !== undefined && (obj.abciVersion = message.abciVersion);
|
|
615
|
+
return obj;
|
|
616
|
+
},
|
|
617
|
+
fromPartial(object) {
|
|
618
|
+
var _a, _b;
|
|
619
|
+
const message = createBaseRequestInfo();
|
|
620
|
+
message.version = (_a = object.version) !== null && _a !== void 0 ? _a : "";
|
|
621
|
+
message.blockVersion = object.blockVersion !== undefined && object.blockVersion !== null ? helpers_1.Long.fromValue(object.blockVersion) : helpers_1.Long.UZERO;
|
|
622
|
+
message.p2pVersion = object.p2pVersion !== undefined && object.p2pVersion !== null ? helpers_1.Long.fromValue(object.p2pVersion) : helpers_1.Long.UZERO;
|
|
623
|
+
message.abciVersion = (_b = object.abciVersion) !== null && _b !== void 0 ? _b : "";
|
|
624
|
+
return message;
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
function createBaseRequestInitChain() {
|
|
628
|
+
return {
|
|
629
|
+
time: undefined,
|
|
630
|
+
chainId: "",
|
|
631
|
+
consensusParams: undefined,
|
|
632
|
+
validators: [],
|
|
633
|
+
appStateBytes: new Uint8Array(),
|
|
634
|
+
initialHeight: helpers_1.Long.ZERO
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
exports.RequestInitChain = {
|
|
638
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
639
|
+
if (message.time !== undefined) {
|
|
640
|
+
timestamp_1.Timestamp.encode(message.time, writer.uint32(10).fork()).ldelim();
|
|
641
|
+
}
|
|
642
|
+
if (message.chainId !== "") {
|
|
643
|
+
writer.uint32(18).string(message.chainId);
|
|
644
|
+
}
|
|
645
|
+
if (message.consensusParams !== undefined) {
|
|
646
|
+
params_1.ConsensusParams.encode(message.consensusParams, writer.uint32(26).fork()).ldelim();
|
|
647
|
+
}
|
|
648
|
+
for (const v of message.validators) {
|
|
649
|
+
exports.ValidatorUpdate.encode(v, writer.uint32(34).fork()).ldelim();
|
|
650
|
+
}
|
|
651
|
+
if (message.appStateBytes.length !== 0) {
|
|
652
|
+
writer.uint32(42).bytes(message.appStateBytes);
|
|
653
|
+
}
|
|
654
|
+
if (!message.initialHeight.isZero()) {
|
|
655
|
+
writer.uint32(48).int64(message.initialHeight);
|
|
656
|
+
}
|
|
657
|
+
return writer;
|
|
658
|
+
},
|
|
659
|
+
decode(input, length) {
|
|
660
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
661
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
662
|
+
const message = createBaseRequestInitChain();
|
|
663
|
+
while (reader.pos < end) {
|
|
664
|
+
const tag = reader.uint32();
|
|
665
|
+
switch (tag >>> 3) {
|
|
666
|
+
case 1:
|
|
667
|
+
message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
|
|
668
|
+
break;
|
|
669
|
+
case 2:
|
|
670
|
+
message.chainId = reader.string();
|
|
671
|
+
break;
|
|
672
|
+
case 3:
|
|
673
|
+
message.consensusParams = params_1.ConsensusParams.decode(reader, reader.uint32());
|
|
674
|
+
break;
|
|
675
|
+
case 4:
|
|
676
|
+
message.validators.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
|
|
677
|
+
break;
|
|
678
|
+
case 5:
|
|
679
|
+
message.appStateBytes = reader.bytes();
|
|
680
|
+
break;
|
|
681
|
+
case 6:
|
|
682
|
+
message.initialHeight = reader.int64();
|
|
683
|
+
break;
|
|
684
|
+
default:
|
|
685
|
+
reader.skipType(tag & 7);
|
|
686
|
+
break;
|
|
687
|
+
}
|
|
688
|
+
}
|
|
689
|
+
return message;
|
|
690
|
+
},
|
|
691
|
+
fromJSON(object) {
|
|
692
|
+
return {
|
|
693
|
+
time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
|
|
694
|
+
chainId: (0, helpers_1.isSet)(object.chainId) ? String(object.chainId) : "",
|
|
695
|
+
consensusParams: (0, helpers_1.isSet)(object.consensusParams) ? params_1.ConsensusParams.fromJSON(object.consensusParams) : undefined,
|
|
696
|
+
validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators) ? object.validators.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
|
|
697
|
+
appStateBytes: (0, helpers_1.isSet)(object.appStateBytes) ? (0, helpers_1.bytesFromBase64)(object.appStateBytes) : new Uint8Array(),
|
|
698
|
+
initialHeight: (0, helpers_1.isSet)(object.initialHeight) ? helpers_1.Long.fromValue(object.initialHeight) : helpers_1.Long.ZERO
|
|
699
|
+
};
|
|
700
|
+
},
|
|
701
|
+
toJSON(message) {
|
|
702
|
+
const obj = {};
|
|
703
|
+
message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
|
|
704
|
+
message.chainId !== undefined && (obj.chainId = message.chainId);
|
|
705
|
+
message.consensusParams !== undefined && (obj.consensusParams = message.consensusParams ? params_1.ConsensusParams.toJSON(message.consensusParams) : undefined);
|
|
706
|
+
if (message.validators) {
|
|
707
|
+
obj.validators = message.validators.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
obj.validators = [];
|
|
711
|
+
}
|
|
712
|
+
message.appStateBytes !== undefined && (obj.appStateBytes = (0, helpers_1.base64FromBytes)(message.appStateBytes !== undefined ? message.appStateBytes : new Uint8Array()));
|
|
713
|
+
message.initialHeight !== undefined && (obj.initialHeight = (message.initialHeight || helpers_1.Long.ZERO).toString());
|
|
714
|
+
return obj;
|
|
715
|
+
},
|
|
716
|
+
fromPartial(object) {
|
|
717
|
+
var _a, _b, _c;
|
|
718
|
+
const message = createBaseRequestInitChain();
|
|
719
|
+
message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
|
|
720
|
+
message.chainId = (_a = object.chainId) !== null && _a !== void 0 ? _a : "";
|
|
721
|
+
message.consensusParams = object.consensusParams !== undefined && object.consensusParams !== null ? params_1.ConsensusParams.fromPartial(object.consensusParams) : undefined;
|
|
722
|
+
message.validators = ((_b = object.validators) === null || _b === void 0 ? void 0 : _b.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
|
|
723
|
+
message.appStateBytes = (_c = object.appStateBytes) !== null && _c !== void 0 ? _c : new Uint8Array();
|
|
724
|
+
message.initialHeight = object.initialHeight !== undefined && object.initialHeight !== null ? helpers_1.Long.fromValue(object.initialHeight) : helpers_1.Long.ZERO;
|
|
725
|
+
return message;
|
|
726
|
+
}
|
|
727
|
+
};
|
|
728
|
+
function createBaseRequestQuery() {
|
|
729
|
+
return {
|
|
730
|
+
data: new Uint8Array(),
|
|
731
|
+
path: "",
|
|
732
|
+
height: helpers_1.Long.ZERO,
|
|
733
|
+
prove: false
|
|
734
|
+
};
|
|
735
|
+
}
|
|
736
|
+
exports.RequestQuery = {
|
|
737
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
738
|
+
if (message.data.length !== 0) {
|
|
739
|
+
writer.uint32(10).bytes(message.data);
|
|
740
|
+
}
|
|
741
|
+
if (message.path !== "") {
|
|
742
|
+
writer.uint32(18).string(message.path);
|
|
743
|
+
}
|
|
744
|
+
if (!message.height.isZero()) {
|
|
745
|
+
writer.uint32(24).int64(message.height);
|
|
746
|
+
}
|
|
747
|
+
if (message.prove === true) {
|
|
748
|
+
writer.uint32(32).bool(message.prove);
|
|
749
|
+
}
|
|
750
|
+
return writer;
|
|
751
|
+
},
|
|
752
|
+
decode(input, length) {
|
|
753
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
754
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
755
|
+
const message = createBaseRequestQuery();
|
|
756
|
+
while (reader.pos < end) {
|
|
757
|
+
const tag = reader.uint32();
|
|
758
|
+
switch (tag >>> 3) {
|
|
759
|
+
case 1:
|
|
760
|
+
message.data = reader.bytes();
|
|
761
|
+
break;
|
|
762
|
+
case 2:
|
|
763
|
+
message.path = reader.string();
|
|
764
|
+
break;
|
|
765
|
+
case 3:
|
|
766
|
+
message.height = reader.int64();
|
|
767
|
+
break;
|
|
768
|
+
case 4:
|
|
769
|
+
message.prove = reader.bool();
|
|
770
|
+
break;
|
|
771
|
+
default:
|
|
772
|
+
reader.skipType(tag & 7);
|
|
773
|
+
break;
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
return message;
|
|
777
|
+
},
|
|
778
|
+
fromJSON(object) {
|
|
779
|
+
return {
|
|
780
|
+
data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
|
|
781
|
+
path: (0, helpers_1.isSet)(object.path) ? String(object.path) : "",
|
|
782
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
|
|
783
|
+
prove: (0, helpers_1.isSet)(object.prove) ? Boolean(object.prove) : false
|
|
784
|
+
};
|
|
785
|
+
},
|
|
786
|
+
toJSON(message) {
|
|
787
|
+
const obj = {};
|
|
788
|
+
message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
|
|
789
|
+
message.path !== undefined && (obj.path = message.path);
|
|
790
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
791
|
+
message.prove !== undefined && (obj.prove = message.prove);
|
|
792
|
+
return obj;
|
|
793
|
+
},
|
|
794
|
+
fromPartial(object) {
|
|
795
|
+
var _a, _b, _c;
|
|
796
|
+
const message = createBaseRequestQuery();
|
|
797
|
+
message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
798
|
+
message.path = (_b = object.path) !== null && _b !== void 0 ? _b : "";
|
|
799
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
800
|
+
message.prove = (_c = object.prove) !== null && _c !== void 0 ? _c : false;
|
|
801
|
+
return message;
|
|
802
|
+
}
|
|
803
|
+
};
|
|
804
|
+
function createBaseRequestBeginBlock() {
|
|
805
|
+
return {
|
|
806
|
+
hash: new Uint8Array(),
|
|
807
|
+
header: undefined,
|
|
808
|
+
lastCommitInfo: undefined,
|
|
809
|
+
byzantineValidators: []
|
|
810
|
+
};
|
|
811
|
+
}
|
|
812
|
+
exports.RequestBeginBlock = {
|
|
813
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
814
|
+
if (message.hash.length !== 0) {
|
|
815
|
+
writer.uint32(10).bytes(message.hash);
|
|
816
|
+
}
|
|
817
|
+
if (message.header !== undefined) {
|
|
818
|
+
types_1.Header.encode(message.header, writer.uint32(18).fork()).ldelim();
|
|
819
|
+
}
|
|
820
|
+
if (message.lastCommitInfo !== undefined) {
|
|
821
|
+
exports.CommitInfo.encode(message.lastCommitInfo, writer.uint32(26).fork()).ldelim();
|
|
822
|
+
}
|
|
823
|
+
for (const v of message.byzantineValidators) {
|
|
824
|
+
exports.Misbehavior.encode(v, writer.uint32(34).fork()).ldelim();
|
|
825
|
+
}
|
|
826
|
+
return writer;
|
|
827
|
+
},
|
|
828
|
+
decode(input, length) {
|
|
829
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
830
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
831
|
+
const message = createBaseRequestBeginBlock();
|
|
832
|
+
while (reader.pos < end) {
|
|
833
|
+
const tag = reader.uint32();
|
|
834
|
+
switch (tag >>> 3) {
|
|
835
|
+
case 1:
|
|
836
|
+
message.hash = reader.bytes();
|
|
837
|
+
break;
|
|
838
|
+
case 2:
|
|
839
|
+
message.header = types_1.Header.decode(reader, reader.uint32());
|
|
840
|
+
break;
|
|
841
|
+
case 3:
|
|
842
|
+
message.lastCommitInfo = exports.CommitInfo.decode(reader, reader.uint32());
|
|
843
|
+
break;
|
|
844
|
+
case 4:
|
|
845
|
+
message.byzantineValidators.push(exports.Misbehavior.decode(reader, reader.uint32()));
|
|
846
|
+
break;
|
|
847
|
+
default:
|
|
848
|
+
reader.skipType(tag & 7);
|
|
849
|
+
break;
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
return message;
|
|
853
|
+
},
|
|
854
|
+
fromJSON(object) {
|
|
855
|
+
return {
|
|
856
|
+
hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
|
|
857
|
+
header: (0, helpers_1.isSet)(object.header) ? types_1.Header.fromJSON(object.header) : undefined,
|
|
858
|
+
lastCommitInfo: (0, helpers_1.isSet)(object.lastCommitInfo) ? exports.CommitInfo.fromJSON(object.lastCommitInfo) : undefined,
|
|
859
|
+
byzantineValidators: Array.isArray(object === null || object === void 0 ? void 0 : object.byzantineValidators) ? object.byzantineValidators.map((e) => exports.Misbehavior.fromJSON(e)) : []
|
|
860
|
+
};
|
|
861
|
+
},
|
|
862
|
+
toJSON(message) {
|
|
863
|
+
const obj = {};
|
|
864
|
+
message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
|
|
865
|
+
message.header !== undefined && (obj.header = message.header ? types_1.Header.toJSON(message.header) : undefined);
|
|
866
|
+
message.lastCommitInfo !== undefined && (obj.lastCommitInfo = message.lastCommitInfo ? exports.CommitInfo.toJSON(message.lastCommitInfo) : undefined);
|
|
867
|
+
if (message.byzantineValidators) {
|
|
868
|
+
obj.byzantineValidators = message.byzantineValidators.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
|
|
869
|
+
}
|
|
870
|
+
else {
|
|
871
|
+
obj.byzantineValidators = [];
|
|
872
|
+
}
|
|
873
|
+
return obj;
|
|
874
|
+
},
|
|
875
|
+
fromPartial(object) {
|
|
876
|
+
var _a, _b;
|
|
877
|
+
const message = createBaseRequestBeginBlock();
|
|
878
|
+
message.hash = (_a = object.hash) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
879
|
+
message.header = object.header !== undefined && object.header !== null ? types_1.Header.fromPartial(object.header) : undefined;
|
|
880
|
+
message.lastCommitInfo = object.lastCommitInfo !== undefined && object.lastCommitInfo !== null ? exports.CommitInfo.fromPartial(object.lastCommitInfo) : undefined;
|
|
881
|
+
message.byzantineValidators = ((_b = object.byzantineValidators) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
|
|
882
|
+
return message;
|
|
883
|
+
}
|
|
884
|
+
};
|
|
885
|
+
function createBaseRequestCheckTx() {
|
|
886
|
+
return {
|
|
887
|
+
tx: new Uint8Array(),
|
|
888
|
+
type: 0
|
|
889
|
+
};
|
|
890
|
+
}
|
|
891
|
+
exports.RequestCheckTx = {
|
|
892
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
893
|
+
if (message.tx.length !== 0) {
|
|
894
|
+
writer.uint32(10).bytes(message.tx);
|
|
895
|
+
}
|
|
896
|
+
if (message.type !== 0) {
|
|
897
|
+
writer.uint32(16).int32(message.type);
|
|
898
|
+
}
|
|
899
|
+
return writer;
|
|
900
|
+
},
|
|
901
|
+
decode(input, length) {
|
|
902
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
903
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
904
|
+
const message = createBaseRequestCheckTx();
|
|
905
|
+
while (reader.pos < end) {
|
|
906
|
+
const tag = reader.uint32();
|
|
907
|
+
switch (tag >>> 3) {
|
|
908
|
+
case 1:
|
|
909
|
+
message.tx = reader.bytes();
|
|
910
|
+
break;
|
|
911
|
+
case 2:
|
|
912
|
+
message.type = reader.int32();
|
|
913
|
+
break;
|
|
914
|
+
default:
|
|
915
|
+
reader.skipType(tag & 7);
|
|
916
|
+
break;
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
return message;
|
|
920
|
+
},
|
|
921
|
+
fromJSON(object) {
|
|
922
|
+
return {
|
|
923
|
+
tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array(),
|
|
924
|
+
type: (0, helpers_1.isSet)(object.type) ? checkTxTypeFromJSON(object.type) : 0
|
|
925
|
+
};
|
|
926
|
+
},
|
|
927
|
+
toJSON(message) {
|
|
928
|
+
const obj = {};
|
|
929
|
+
message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
|
|
930
|
+
message.type !== undefined && (obj.type = checkTxTypeToJSON(message.type));
|
|
931
|
+
return obj;
|
|
932
|
+
},
|
|
933
|
+
fromPartial(object) {
|
|
934
|
+
var _a, _b;
|
|
935
|
+
const message = createBaseRequestCheckTx();
|
|
936
|
+
message.tx = (_a = object.tx) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
937
|
+
message.type = (_b = object.type) !== null && _b !== void 0 ? _b : 0;
|
|
938
|
+
return message;
|
|
939
|
+
}
|
|
940
|
+
};
|
|
941
|
+
function createBaseRequestDeliverTx() {
|
|
942
|
+
return {
|
|
943
|
+
tx: new Uint8Array()
|
|
944
|
+
};
|
|
945
|
+
}
|
|
946
|
+
exports.RequestDeliverTx = {
|
|
947
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
948
|
+
if (message.tx.length !== 0) {
|
|
949
|
+
writer.uint32(10).bytes(message.tx);
|
|
950
|
+
}
|
|
951
|
+
return writer;
|
|
952
|
+
},
|
|
953
|
+
decode(input, length) {
|
|
954
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
955
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
956
|
+
const message = createBaseRequestDeliverTx();
|
|
957
|
+
while (reader.pos < end) {
|
|
958
|
+
const tag = reader.uint32();
|
|
959
|
+
switch (tag >>> 3) {
|
|
960
|
+
case 1:
|
|
961
|
+
message.tx = reader.bytes();
|
|
962
|
+
break;
|
|
963
|
+
default:
|
|
964
|
+
reader.skipType(tag & 7);
|
|
965
|
+
break;
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
return message;
|
|
969
|
+
},
|
|
970
|
+
fromJSON(object) {
|
|
971
|
+
return {
|
|
972
|
+
tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array()
|
|
973
|
+
};
|
|
974
|
+
},
|
|
975
|
+
toJSON(message) {
|
|
976
|
+
const obj = {};
|
|
977
|
+
message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
|
|
978
|
+
return obj;
|
|
979
|
+
},
|
|
980
|
+
fromPartial(object) {
|
|
981
|
+
var _a;
|
|
982
|
+
const message = createBaseRequestDeliverTx();
|
|
983
|
+
message.tx = (_a = object.tx) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
984
|
+
return message;
|
|
985
|
+
}
|
|
986
|
+
};
|
|
987
|
+
function createBaseRequestEndBlock() {
|
|
988
|
+
return {
|
|
989
|
+
height: helpers_1.Long.ZERO
|
|
990
|
+
};
|
|
991
|
+
}
|
|
992
|
+
exports.RequestEndBlock = {
|
|
993
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
994
|
+
if (!message.height.isZero()) {
|
|
995
|
+
writer.uint32(8).int64(message.height);
|
|
996
|
+
}
|
|
997
|
+
return writer;
|
|
998
|
+
},
|
|
999
|
+
decode(input, length) {
|
|
1000
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1001
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1002
|
+
const message = createBaseRequestEndBlock();
|
|
1003
|
+
while (reader.pos < end) {
|
|
1004
|
+
const tag = reader.uint32();
|
|
1005
|
+
switch (tag >>> 3) {
|
|
1006
|
+
case 1:
|
|
1007
|
+
message.height = reader.int64();
|
|
1008
|
+
break;
|
|
1009
|
+
default:
|
|
1010
|
+
reader.skipType(tag & 7);
|
|
1011
|
+
break;
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
return message;
|
|
1015
|
+
},
|
|
1016
|
+
fromJSON(object) {
|
|
1017
|
+
return {
|
|
1018
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO
|
|
1019
|
+
};
|
|
1020
|
+
},
|
|
1021
|
+
toJSON(message) {
|
|
1022
|
+
const obj = {};
|
|
1023
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
1024
|
+
return obj;
|
|
1025
|
+
},
|
|
1026
|
+
fromPartial(object) {
|
|
1027
|
+
const message = createBaseRequestEndBlock();
|
|
1028
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
1029
|
+
return message;
|
|
1030
|
+
}
|
|
1031
|
+
};
|
|
1032
|
+
function createBaseRequestCommit() {
|
|
1033
|
+
return {};
|
|
1034
|
+
}
|
|
1035
|
+
exports.RequestCommit = {
|
|
1036
|
+
encode(_, writer = _m0.Writer.create()) {
|
|
1037
|
+
return writer;
|
|
1038
|
+
},
|
|
1039
|
+
decode(input, length) {
|
|
1040
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1041
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1042
|
+
const message = createBaseRequestCommit();
|
|
1043
|
+
while (reader.pos < end) {
|
|
1044
|
+
const tag = reader.uint32();
|
|
1045
|
+
switch (tag >>> 3) {
|
|
1046
|
+
default:
|
|
1047
|
+
reader.skipType(tag & 7);
|
|
1048
|
+
break;
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
return message;
|
|
1052
|
+
},
|
|
1053
|
+
fromJSON(_) {
|
|
1054
|
+
return {};
|
|
1055
|
+
},
|
|
1056
|
+
toJSON(_) {
|
|
1057
|
+
const obj = {};
|
|
1058
|
+
return obj;
|
|
1059
|
+
},
|
|
1060
|
+
fromPartial(_) {
|
|
1061
|
+
const message = createBaseRequestCommit();
|
|
1062
|
+
return message;
|
|
1063
|
+
}
|
|
1064
|
+
};
|
|
1065
|
+
function createBaseRequestListSnapshots() {
|
|
1066
|
+
return {};
|
|
1067
|
+
}
|
|
1068
|
+
exports.RequestListSnapshots = {
|
|
1069
|
+
encode(_, writer = _m0.Writer.create()) {
|
|
1070
|
+
return writer;
|
|
1071
|
+
},
|
|
1072
|
+
decode(input, length) {
|
|
1073
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1074
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1075
|
+
const message = createBaseRequestListSnapshots();
|
|
1076
|
+
while (reader.pos < end) {
|
|
1077
|
+
const tag = reader.uint32();
|
|
1078
|
+
switch (tag >>> 3) {
|
|
1079
|
+
default:
|
|
1080
|
+
reader.skipType(tag & 7);
|
|
1081
|
+
break;
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
return message;
|
|
1085
|
+
},
|
|
1086
|
+
fromJSON(_) {
|
|
1087
|
+
return {};
|
|
1088
|
+
},
|
|
1089
|
+
toJSON(_) {
|
|
1090
|
+
const obj = {};
|
|
1091
|
+
return obj;
|
|
1092
|
+
},
|
|
1093
|
+
fromPartial(_) {
|
|
1094
|
+
const message = createBaseRequestListSnapshots();
|
|
1095
|
+
return message;
|
|
1096
|
+
}
|
|
1097
|
+
};
|
|
1098
|
+
function createBaseRequestOfferSnapshot() {
|
|
1099
|
+
return {
|
|
1100
|
+
snapshot: undefined,
|
|
1101
|
+
appHash: new Uint8Array()
|
|
1102
|
+
};
|
|
1103
|
+
}
|
|
1104
|
+
exports.RequestOfferSnapshot = {
|
|
1105
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1106
|
+
if (message.snapshot !== undefined) {
|
|
1107
|
+
exports.Snapshot.encode(message.snapshot, writer.uint32(10).fork()).ldelim();
|
|
1108
|
+
}
|
|
1109
|
+
if (message.appHash.length !== 0) {
|
|
1110
|
+
writer.uint32(18).bytes(message.appHash);
|
|
1111
|
+
}
|
|
1112
|
+
return writer;
|
|
1113
|
+
},
|
|
1114
|
+
decode(input, length) {
|
|
1115
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1116
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1117
|
+
const message = createBaseRequestOfferSnapshot();
|
|
1118
|
+
while (reader.pos < end) {
|
|
1119
|
+
const tag = reader.uint32();
|
|
1120
|
+
switch (tag >>> 3) {
|
|
1121
|
+
case 1:
|
|
1122
|
+
message.snapshot = exports.Snapshot.decode(reader, reader.uint32());
|
|
1123
|
+
break;
|
|
1124
|
+
case 2:
|
|
1125
|
+
message.appHash = reader.bytes();
|
|
1126
|
+
break;
|
|
1127
|
+
default:
|
|
1128
|
+
reader.skipType(tag & 7);
|
|
1129
|
+
break;
|
|
1130
|
+
}
|
|
1131
|
+
}
|
|
1132
|
+
return message;
|
|
1133
|
+
},
|
|
1134
|
+
fromJSON(object) {
|
|
1135
|
+
return {
|
|
1136
|
+
snapshot: (0, helpers_1.isSet)(object.snapshot) ? exports.Snapshot.fromJSON(object.snapshot) : undefined,
|
|
1137
|
+
appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array()
|
|
1138
|
+
};
|
|
1139
|
+
},
|
|
1140
|
+
toJSON(message) {
|
|
1141
|
+
const obj = {};
|
|
1142
|
+
message.snapshot !== undefined && (obj.snapshot = message.snapshot ? exports.Snapshot.toJSON(message.snapshot) : undefined);
|
|
1143
|
+
message.appHash !== undefined && (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array()));
|
|
1144
|
+
return obj;
|
|
1145
|
+
},
|
|
1146
|
+
fromPartial(object) {
|
|
1147
|
+
var _a;
|
|
1148
|
+
const message = createBaseRequestOfferSnapshot();
|
|
1149
|
+
message.snapshot = object.snapshot !== undefined && object.snapshot !== null ? exports.Snapshot.fromPartial(object.snapshot) : undefined;
|
|
1150
|
+
message.appHash = (_a = object.appHash) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
1151
|
+
return message;
|
|
1152
|
+
}
|
|
1153
|
+
};
|
|
1154
|
+
function createBaseRequestLoadSnapshotChunk() {
|
|
1155
|
+
return {
|
|
1156
|
+
height: helpers_1.Long.UZERO,
|
|
1157
|
+
format: 0,
|
|
1158
|
+
chunk: 0
|
|
1159
|
+
};
|
|
1160
|
+
}
|
|
1161
|
+
exports.RequestLoadSnapshotChunk = {
|
|
1162
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1163
|
+
if (!message.height.isZero()) {
|
|
1164
|
+
writer.uint32(8).uint64(message.height);
|
|
1165
|
+
}
|
|
1166
|
+
if (message.format !== 0) {
|
|
1167
|
+
writer.uint32(16).uint32(message.format);
|
|
1168
|
+
}
|
|
1169
|
+
if (message.chunk !== 0) {
|
|
1170
|
+
writer.uint32(24).uint32(message.chunk);
|
|
1171
|
+
}
|
|
1172
|
+
return writer;
|
|
1173
|
+
},
|
|
1174
|
+
decode(input, length) {
|
|
1175
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1176
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1177
|
+
const message = createBaseRequestLoadSnapshotChunk();
|
|
1178
|
+
while (reader.pos < end) {
|
|
1179
|
+
const tag = reader.uint32();
|
|
1180
|
+
switch (tag >>> 3) {
|
|
1181
|
+
case 1:
|
|
1182
|
+
message.height = reader.uint64();
|
|
1183
|
+
break;
|
|
1184
|
+
case 2:
|
|
1185
|
+
message.format = reader.uint32();
|
|
1186
|
+
break;
|
|
1187
|
+
case 3:
|
|
1188
|
+
message.chunk = reader.uint32();
|
|
1189
|
+
break;
|
|
1190
|
+
default:
|
|
1191
|
+
reader.skipType(tag & 7);
|
|
1192
|
+
break;
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
return message;
|
|
1196
|
+
},
|
|
1197
|
+
fromJSON(object) {
|
|
1198
|
+
return {
|
|
1199
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO,
|
|
1200
|
+
format: (0, helpers_1.isSet)(object.format) ? Number(object.format) : 0,
|
|
1201
|
+
chunk: (0, helpers_1.isSet)(object.chunk) ? Number(object.chunk) : 0
|
|
1202
|
+
};
|
|
1203
|
+
},
|
|
1204
|
+
toJSON(message) {
|
|
1205
|
+
const obj = {};
|
|
1206
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.UZERO).toString());
|
|
1207
|
+
message.format !== undefined && (obj.format = Math.round(message.format));
|
|
1208
|
+
message.chunk !== undefined && (obj.chunk = Math.round(message.chunk));
|
|
1209
|
+
return obj;
|
|
1210
|
+
},
|
|
1211
|
+
fromPartial(object) {
|
|
1212
|
+
var _a, _b;
|
|
1213
|
+
const message = createBaseRequestLoadSnapshotChunk();
|
|
1214
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO;
|
|
1215
|
+
message.format = (_a = object.format) !== null && _a !== void 0 ? _a : 0;
|
|
1216
|
+
message.chunk = (_b = object.chunk) !== null && _b !== void 0 ? _b : 0;
|
|
1217
|
+
return message;
|
|
1218
|
+
}
|
|
1219
|
+
};
|
|
1220
|
+
function createBaseRequestApplySnapshotChunk() {
|
|
1221
|
+
return {
|
|
1222
|
+
index: 0,
|
|
1223
|
+
chunk: new Uint8Array(),
|
|
1224
|
+
sender: ""
|
|
1225
|
+
};
|
|
1226
|
+
}
|
|
1227
|
+
exports.RequestApplySnapshotChunk = {
|
|
1228
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1229
|
+
if (message.index !== 0) {
|
|
1230
|
+
writer.uint32(8).uint32(message.index);
|
|
1231
|
+
}
|
|
1232
|
+
if (message.chunk.length !== 0) {
|
|
1233
|
+
writer.uint32(18).bytes(message.chunk);
|
|
1234
|
+
}
|
|
1235
|
+
if (message.sender !== "") {
|
|
1236
|
+
writer.uint32(26).string(message.sender);
|
|
1237
|
+
}
|
|
1238
|
+
return writer;
|
|
1239
|
+
},
|
|
1240
|
+
decode(input, length) {
|
|
1241
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1242
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1243
|
+
const message = createBaseRequestApplySnapshotChunk();
|
|
1244
|
+
while (reader.pos < end) {
|
|
1245
|
+
const tag = reader.uint32();
|
|
1246
|
+
switch (tag >>> 3) {
|
|
1247
|
+
case 1:
|
|
1248
|
+
message.index = reader.uint32();
|
|
1249
|
+
break;
|
|
1250
|
+
case 2:
|
|
1251
|
+
message.chunk = reader.bytes();
|
|
1252
|
+
break;
|
|
1253
|
+
case 3:
|
|
1254
|
+
message.sender = reader.string();
|
|
1255
|
+
break;
|
|
1256
|
+
default:
|
|
1257
|
+
reader.skipType(tag & 7);
|
|
1258
|
+
break;
|
|
1259
|
+
}
|
|
1260
|
+
}
|
|
1261
|
+
return message;
|
|
1262
|
+
},
|
|
1263
|
+
fromJSON(object) {
|
|
1264
|
+
return {
|
|
1265
|
+
index: (0, helpers_1.isSet)(object.index) ? Number(object.index) : 0,
|
|
1266
|
+
chunk: (0, helpers_1.isSet)(object.chunk) ? (0, helpers_1.bytesFromBase64)(object.chunk) : new Uint8Array(),
|
|
1267
|
+
sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : ""
|
|
1268
|
+
};
|
|
1269
|
+
},
|
|
1270
|
+
toJSON(message) {
|
|
1271
|
+
const obj = {};
|
|
1272
|
+
message.index !== undefined && (obj.index = Math.round(message.index));
|
|
1273
|
+
message.chunk !== undefined && (obj.chunk = (0, helpers_1.base64FromBytes)(message.chunk !== undefined ? message.chunk : new Uint8Array()));
|
|
1274
|
+
message.sender !== undefined && (obj.sender = message.sender);
|
|
1275
|
+
return obj;
|
|
1276
|
+
},
|
|
1277
|
+
fromPartial(object) {
|
|
1278
|
+
var _a, _b, _c;
|
|
1279
|
+
const message = createBaseRequestApplySnapshotChunk();
|
|
1280
|
+
message.index = (_a = object.index) !== null && _a !== void 0 ? _a : 0;
|
|
1281
|
+
message.chunk = (_b = object.chunk) !== null && _b !== void 0 ? _b : new Uint8Array();
|
|
1282
|
+
message.sender = (_c = object.sender) !== null && _c !== void 0 ? _c : "";
|
|
1283
|
+
return message;
|
|
1284
|
+
}
|
|
1285
|
+
};
|
|
1286
|
+
function createBaseRequestPrepareProposal() {
|
|
1287
|
+
return {
|
|
1288
|
+
maxTxBytes: helpers_1.Long.ZERO,
|
|
1289
|
+
txs: [],
|
|
1290
|
+
localLastCommit: undefined,
|
|
1291
|
+
misbehavior: [],
|
|
1292
|
+
height: helpers_1.Long.ZERO,
|
|
1293
|
+
time: undefined,
|
|
1294
|
+
nextValidatorsHash: new Uint8Array(),
|
|
1295
|
+
proposerAddress: new Uint8Array()
|
|
1296
|
+
};
|
|
1297
|
+
}
|
|
1298
|
+
exports.RequestPrepareProposal = {
|
|
1299
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1300
|
+
if (!message.maxTxBytes.isZero()) {
|
|
1301
|
+
writer.uint32(8).int64(message.maxTxBytes);
|
|
1302
|
+
}
|
|
1303
|
+
for (const v of message.txs) {
|
|
1304
|
+
writer.uint32(18).bytes(v);
|
|
1305
|
+
}
|
|
1306
|
+
if (message.localLastCommit !== undefined) {
|
|
1307
|
+
exports.ExtendedCommitInfo.encode(message.localLastCommit, writer.uint32(26).fork()).ldelim();
|
|
1308
|
+
}
|
|
1309
|
+
for (const v of message.misbehavior) {
|
|
1310
|
+
exports.Misbehavior.encode(v, writer.uint32(34).fork()).ldelim();
|
|
1311
|
+
}
|
|
1312
|
+
if (!message.height.isZero()) {
|
|
1313
|
+
writer.uint32(40).int64(message.height);
|
|
1314
|
+
}
|
|
1315
|
+
if (message.time !== undefined) {
|
|
1316
|
+
timestamp_1.Timestamp.encode(message.time, writer.uint32(50).fork()).ldelim();
|
|
1317
|
+
}
|
|
1318
|
+
if (message.nextValidatorsHash.length !== 0) {
|
|
1319
|
+
writer.uint32(58).bytes(message.nextValidatorsHash);
|
|
1320
|
+
}
|
|
1321
|
+
if (message.proposerAddress.length !== 0) {
|
|
1322
|
+
writer.uint32(66).bytes(message.proposerAddress);
|
|
1323
|
+
}
|
|
1324
|
+
return writer;
|
|
1325
|
+
},
|
|
1326
|
+
decode(input, length) {
|
|
1327
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1328
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1329
|
+
const message = createBaseRequestPrepareProposal();
|
|
1330
|
+
while (reader.pos < end) {
|
|
1331
|
+
const tag = reader.uint32();
|
|
1332
|
+
switch (tag >>> 3) {
|
|
1333
|
+
case 1:
|
|
1334
|
+
message.maxTxBytes = reader.int64();
|
|
1335
|
+
break;
|
|
1336
|
+
case 2:
|
|
1337
|
+
message.txs.push(reader.bytes());
|
|
1338
|
+
break;
|
|
1339
|
+
case 3:
|
|
1340
|
+
message.localLastCommit = exports.ExtendedCommitInfo.decode(reader, reader.uint32());
|
|
1341
|
+
break;
|
|
1342
|
+
case 4:
|
|
1343
|
+
message.misbehavior.push(exports.Misbehavior.decode(reader, reader.uint32()));
|
|
1344
|
+
break;
|
|
1345
|
+
case 5:
|
|
1346
|
+
message.height = reader.int64();
|
|
1347
|
+
break;
|
|
1348
|
+
case 6:
|
|
1349
|
+
message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
|
|
1350
|
+
break;
|
|
1351
|
+
case 7:
|
|
1352
|
+
message.nextValidatorsHash = reader.bytes();
|
|
1353
|
+
break;
|
|
1354
|
+
case 8:
|
|
1355
|
+
message.proposerAddress = reader.bytes();
|
|
1356
|
+
break;
|
|
1357
|
+
default:
|
|
1358
|
+
reader.skipType(tag & 7);
|
|
1359
|
+
break;
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
1362
|
+
return message;
|
|
1363
|
+
},
|
|
1364
|
+
fromJSON(object) {
|
|
1365
|
+
return {
|
|
1366
|
+
maxTxBytes: (0, helpers_1.isSet)(object.maxTxBytes) ? helpers_1.Long.fromValue(object.maxTxBytes) : helpers_1.Long.ZERO,
|
|
1367
|
+
txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [],
|
|
1368
|
+
localLastCommit: (0, helpers_1.isSet)(object.localLastCommit) ? exports.ExtendedCommitInfo.fromJSON(object.localLastCommit) : undefined,
|
|
1369
|
+
misbehavior: Array.isArray(object === null || object === void 0 ? void 0 : object.misbehavior) ? object.misbehavior.map((e) => exports.Misbehavior.fromJSON(e)) : [],
|
|
1370
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
|
|
1371
|
+
time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
|
|
1372
|
+
nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) : new Uint8Array(),
|
|
1373
|
+
proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? (0, helpers_1.bytesFromBase64)(object.proposerAddress) : new Uint8Array()
|
|
1374
|
+
};
|
|
1375
|
+
},
|
|
1376
|
+
toJSON(message) {
|
|
1377
|
+
const obj = {};
|
|
1378
|
+
message.maxTxBytes !== undefined && (obj.maxTxBytes = (message.maxTxBytes || helpers_1.Long.ZERO).toString());
|
|
1379
|
+
if (message.txs) {
|
|
1380
|
+
obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
|
|
1381
|
+
}
|
|
1382
|
+
else {
|
|
1383
|
+
obj.txs = [];
|
|
1384
|
+
}
|
|
1385
|
+
message.localLastCommit !== undefined && (obj.localLastCommit = message.localLastCommit ? exports.ExtendedCommitInfo.toJSON(message.localLastCommit) : undefined);
|
|
1386
|
+
if (message.misbehavior) {
|
|
1387
|
+
obj.misbehavior = message.misbehavior.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
|
|
1388
|
+
}
|
|
1389
|
+
else {
|
|
1390
|
+
obj.misbehavior = [];
|
|
1391
|
+
}
|
|
1392
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
1393
|
+
message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
|
|
1394
|
+
message.nextValidatorsHash !== undefined && (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array()));
|
|
1395
|
+
message.proposerAddress !== undefined && (obj.proposerAddress = (0, helpers_1.base64FromBytes)(message.proposerAddress !== undefined ? message.proposerAddress : new Uint8Array()));
|
|
1396
|
+
return obj;
|
|
1397
|
+
},
|
|
1398
|
+
fromPartial(object) {
|
|
1399
|
+
var _a, _b, _c, _d;
|
|
1400
|
+
const message = createBaseRequestPrepareProposal();
|
|
1401
|
+
message.maxTxBytes = object.maxTxBytes !== undefined && object.maxTxBytes !== null ? helpers_1.Long.fromValue(object.maxTxBytes) : helpers_1.Long.ZERO;
|
|
1402
|
+
message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
|
|
1403
|
+
message.localLastCommit = object.localLastCommit !== undefined && object.localLastCommit !== null ? exports.ExtendedCommitInfo.fromPartial(object.localLastCommit) : undefined;
|
|
1404
|
+
message.misbehavior = ((_b = object.misbehavior) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
|
|
1405
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
1406
|
+
message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
|
|
1407
|
+
message.nextValidatorsHash = (_c = object.nextValidatorsHash) !== null && _c !== void 0 ? _c : new Uint8Array();
|
|
1408
|
+
message.proposerAddress = (_d = object.proposerAddress) !== null && _d !== void 0 ? _d : new Uint8Array();
|
|
1409
|
+
return message;
|
|
1410
|
+
}
|
|
1411
|
+
};
|
|
1412
|
+
function createBaseRequestProcessProposal() {
|
|
1413
|
+
return {
|
|
1414
|
+
txs: [],
|
|
1415
|
+
proposedLastCommit: undefined,
|
|
1416
|
+
misbehavior: [],
|
|
1417
|
+
hash: new Uint8Array(),
|
|
1418
|
+
height: helpers_1.Long.ZERO,
|
|
1419
|
+
time: undefined,
|
|
1420
|
+
nextValidatorsHash: new Uint8Array(),
|
|
1421
|
+
proposerAddress: new Uint8Array()
|
|
1422
|
+
};
|
|
1423
|
+
}
|
|
1424
|
+
exports.RequestProcessProposal = {
|
|
1425
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1426
|
+
for (const v of message.txs) {
|
|
1427
|
+
writer.uint32(10).bytes(v);
|
|
1428
|
+
}
|
|
1429
|
+
if (message.proposedLastCommit !== undefined) {
|
|
1430
|
+
exports.CommitInfo.encode(message.proposedLastCommit, writer.uint32(18).fork()).ldelim();
|
|
1431
|
+
}
|
|
1432
|
+
for (const v of message.misbehavior) {
|
|
1433
|
+
exports.Misbehavior.encode(v, writer.uint32(26).fork()).ldelim();
|
|
1434
|
+
}
|
|
1435
|
+
if (message.hash.length !== 0) {
|
|
1436
|
+
writer.uint32(34).bytes(message.hash);
|
|
1437
|
+
}
|
|
1438
|
+
if (!message.height.isZero()) {
|
|
1439
|
+
writer.uint32(40).int64(message.height);
|
|
1440
|
+
}
|
|
1441
|
+
if (message.time !== undefined) {
|
|
1442
|
+
timestamp_1.Timestamp.encode(message.time, writer.uint32(50).fork()).ldelim();
|
|
1443
|
+
}
|
|
1444
|
+
if (message.nextValidatorsHash.length !== 0) {
|
|
1445
|
+
writer.uint32(58).bytes(message.nextValidatorsHash);
|
|
1446
|
+
}
|
|
1447
|
+
if (message.proposerAddress.length !== 0) {
|
|
1448
|
+
writer.uint32(66).bytes(message.proposerAddress);
|
|
1449
|
+
}
|
|
1450
|
+
return writer;
|
|
1451
|
+
},
|
|
1452
|
+
decode(input, length) {
|
|
1453
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1454
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1455
|
+
const message = createBaseRequestProcessProposal();
|
|
1456
|
+
while (reader.pos < end) {
|
|
1457
|
+
const tag = reader.uint32();
|
|
1458
|
+
switch (tag >>> 3) {
|
|
1459
|
+
case 1:
|
|
1460
|
+
message.txs.push(reader.bytes());
|
|
1461
|
+
break;
|
|
1462
|
+
case 2:
|
|
1463
|
+
message.proposedLastCommit = exports.CommitInfo.decode(reader, reader.uint32());
|
|
1464
|
+
break;
|
|
1465
|
+
case 3:
|
|
1466
|
+
message.misbehavior.push(exports.Misbehavior.decode(reader, reader.uint32()));
|
|
1467
|
+
break;
|
|
1468
|
+
case 4:
|
|
1469
|
+
message.hash = reader.bytes();
|
|
1470
|
+
break;
|
|
1471
|
+
case 5:
|
|
1472
|
+
message.height = reader.int64();
|
|
1473
|
+
break;
|
|
1474
|
+
case 6:
|
|
1475
|
+
message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
|
|
1476
|
+
break;
|
|
1477
|
+
case 7:
|
|
1478
|
+
message.nextValidatorsHash = reader.bytes();
|
|
1479
|
+
break;
|
|
1480
|
+
case 8:
|
|
1481
|
+
message.proposerAddress = reader.bytes();
|
|
1482
|
+
break;
|
|
1483
|
+
default:
|
|
1484
|
+
reader.skipType(tag & 7);
|
|
1485
|
+
break;
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
return message;
|
|
1489
|
+
},
|
|
1490
|
+
fromJSON(object) {
|
|
1491
|
+
return {
|
|
1492
|
+
txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : [],
|
|
1493
|
+
proposedLastCommit: (0, helpers_1.isSet)(object.proposedLastCommit) ? exports.CommitInfo.fromJSON(object.proposedLastCommit) : undefined,
|
|
1494
|
+
misbehavior: Array.isArray(object === null || object === void 0 ? void 0 : object.misbehavior) ? object.misbehavior.map((e) => exports.Misbehavior.fromJSON(e)) : [],
|
|
1495
|
+
hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
|
|
1496
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
|
|
1497
|
+
time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
|
|
1498
|
+
nextValidatorsHash: (0, helpers_1.isSet)(object.nextValidatorsHash) ? (0, helpers_1.bytesFromBase64)(object.nextValidatorsHash) : new Uint8Array(),
|
|
1499
|
+
proposerAddress: (0, helpers_1.isSet)(object.proposerAddress) ? (0, helpers_1.bytesFromBase64)(object.proposerAddress) : new Uint8Array()
|
|
1500
|
+
};
|
|
1501
|
+
},
|
|
1502
|
+
toJSON(message) {
|
|
1503
|
+
const obj = {};
|
|
1504
|
+
if (message.txs) {
|
|
1505
|
+
obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
|
|
1506
|
+
}
|
|
1507
|
+
else {
|
|
1508
|
+
obj.txs = [];
|
|
1509
|
+
}
|
|
1510
|
+
message.proposedLastCommit !== undefined && (obj.proposedLastCommit = message.proposedLastCommit ? exports.CommitInfo.toJSON(message.proposedLastCommit) : undefined);
|
|
1511
|
+
if (message.misbehavior) {
|
|
1512
|
+
obj.misbehavior = message.misbehavior.map(e => e ? exports.Misbehavior.toJSON(e) : undefined);
|
|
1513
|
+
}
|
|
1514
|
+
else {
|
|
1515
|
+
obj.misbehavior = [];
|
|
1516
|
+
}
|
|
1517
|
+
message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
|
|
1518
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
1519
|
+
message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
|
|
1520
|
+
message.nextValidatorsHash !== undefined && (obj.nextValidatorsHash = (0, helpers_1.base64FromBytes)(message.nextValidatorsHash !== undefined ? message.nextValidatorsHash : new Uint8Array()));
|
|
1521
|
+
message.proposerAddress !== undefined && (obj.proposerAddress = (0, helpers_1.base64FromBytes)(message.proposerAddress !== undefined ? message.proposerAddress : new Uint8Array()));
|
|
1522
|
+
return obj;
|
|
1523
|
+
},
|
|
1524
|
+
fromPartial(object) {
|
|
1525
|
+
var _a, _b, _c, _d, _e;
|
|
1526
|
+
const message = createBaseRequestProcessProposal();
|
|
1527
|
+
message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
|
|
1528
|
+
message.proposedLastCommit = object.proposedLastCommit !== undefined && object.proposedLastCommit !== null ? exports.CommitInfo.fromPartial(object.proposedLastCommit) : undefined;
|
|
1529
|
+
message.misbehavior = ((_b = object.misbehavior) === null || _b === void 0 ? void 0 : _b.map(e => exports.Misbehavior.fromPartial(e))) || [];
|
|
1530
|
+
message.hash = (_c = object.hash) !== null && _c !== void 0 ? _c : new Uint8Array();
|
|
1531
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
1532
|
+
message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
|
|
1533
|
+
message.nextValidatorsHash = (_d = object.nextValidatorsHash) !== null && _d !== void 0 ? _d : new Uint8Array();
|
|
1534
|
+
message.proposerAddress = (_e = object.proposerAddress) !== null && _e !== void 0 ? _e : new Uint8Array();
|
|
1535
|
+
return message;
|
|
1536
|
+
}
|
|
1537
|
+
};
|
|
1538
|
+
function createBaseResponse() {
|
|
1539
|
+
return {
|
|
1540
|
+
exception: undefined,
|
|
1541
|
+
echo: undefined,
|
|
1542
|
+
flush: undefined,
|
|
1543
|
+
info: undefined,
|
|
1544
|
+
initChain: undefined,
|
|
1545
|
+
query: undefined,
|
|
1546
|
+
beginBlock: undefined,
|
|
1547
|
+
checkTx: undefined,
|
|
1548
|
+
deliverTx: undefined,
|
|
1549
|
+
endBlock: undefined,
|
|
1550
|
+
commit: undefined,
|
|
1551
|
+
listSnapshots: undefined,
|
|
1552
|
+
offerSnapshot: undefined,
|
|
1553
|
+
loadSnapshotChunk: undefined,
|
|
1554
|
+
applySnapshotChunk: undefined,
|
|
1555
|
+
prepareProposal: undefined,
|
|
1556
|
+
processProposal: undefined
|
|
1557
|
+
};
|
|
1558
|
+
}
|
|
1559
|
+
exports.Response = {
|
|
1560
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1561
|
+
if (message.exception !== undefined) {
|
|
1562
|
+
exports.ResponseException.encode(message.exception, writer.uint32(10).fork()).ldelim();
|
|
1563
|
+
}
|
|
1564
|
+
if (message.echo !== undefined) {
|
|
1565
|
+
exports.ResponseEcho.encode(message.echo, writer.uint32(18).fork()).ldelim();
|
|
1566
|
+
}
|
|
1567
|
+
if (message.flush !== undefined) {
|
|
1568
|
+
exports.ResponseFlush.encode(message.flush, writer.uint32(26).fork()).ldelim();
|
|
1569
|
+
}
|
|
1570
|
+
if (message.info !== undefined) {
|
|
1571
|
+
exports.ResponseInfo.encode(message.info, writer.uint32(34).fork()).ldelim();
|
|
1572
|
+
}
|
|
1573
|
+
if (message.initChain !== undefined) {
|
|
1574
|
+
exports.ResponseInitChain.encode(message.initChain, writer.uint32(50).fork()).ldelim();
|
|
1575
|
+
}
|
|
1576
|
+
if (message.query !== undefined) {
|
|
1577
|
+
exports.ResponseQuery.encode(message.query, writer.uint32(58).fork()).ldelim();
|
|
1578
|
+
}
|
|
1579
|
+
if (message.beginBlock !== undefined) {
|
|
1580
|
+
exports.ResponseBeginBlock.encode(message.beginBlock, writer.uint32(66).fork()).ldelim();
|
|
1581
|
+
}
|
|
1582
|
+
if (message.checkTx !== undefined) {
|
|
1583
|
+
exports.ResponseCheckTx.encode(message.checkTx, writer.uint32(74).fork()).ldelim();
|
|
1584
|
+
}
|
|
1585
|
+
if (message.deliverTx !== undefined) {
|
|
1586
|
+
exports.ResponseDeliverTx.encode(message.deliverTx, writer.uint32(82).fork()).ldelim();
|
|
1587
|
+
}
|
|
1588
|
+
if (message.endBlock !== undefined) {
|
|
1589
|
+
exports.ResponseEndBlock.encode(message.endBlock, writer.uint32(90).fork()).ldelim();
|
|
1590
|
+
}
|
|
1591
|
+
if (message.commit !== undefined) {
|
|
1592
|
+
exports.ResponseCommit.encode(message.commit, writer.uint32(98).fork()).ldelim();
|
|
1593
|
+
}
|
|
1594
|
+
if (message.listSnapshots !== undefined) {
|
|
1595
|
+
exports.ResponseListSnapshots.encode(message.listSnapshots, writer.uint32(106).fork()).ldelim();
|
|
1596
|
+
}
|
|
1597
|
+
if (message.offerSnapshot !== undefined) {
|
|
1598
|
+
exports.ResponseOfferSnapshot.encode(message.offerSnapshot, writer.uint32(114).fork()).ldelim();
|
|
1599
|
+
}
|
|
1600
|
+
if (message.loadSnapshotChunk !== undefined) {
|
|
1601
|
+
exports.ResponseLoadSnapshotChunk.encode(message.loadSnapshotChunk, writer.uint32(122).fork()).ldelim();
|
|
1602
|
+
}
|
|
1603
|
+
if (message.applySnapshotChunk !== undefined) {
|
|
1604
|
+
exports.ResponseApplySnapshotChunk.encode(message.applySnapshotChunk, writer.uint32(130).fork()).ldelim();
|
|
1605
|
+
}
|
|
1606
|
+
if (message.prepareProposal !== undefined) {
|
|
1607
|
+
exports.ResponsePrepareProposal.encode(message.prepareProposal, writer.uint32(138).fork()).ldelim();
|
|
1608
|
+
}
|
|
1609
|
+
if (message.processProposal !== undefined) {
|
|
1610
|
+
exports.ResponseProcessProposal.encode(message.processProposal, writer.uint32(146).fork()).ldelim();
|
|
1611
|
+
}
|
|
1612
|
+
return writer;
|
|
1613
|
+
},
|
|
1614
|
+
decode(input, length) {
|
|
1615
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1616
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1617
|
+
const message = createBaseResponse();
|
|
1618
|
+
while (reader.pos < end) {
|
|
1619
|
+
const tag = reader.uint32();
|
|
1620
|
+
switch (tag >>> 3) {
|
|
1621
|
+
case 1:
|
|
1622
|
+
message.exception = exports.ResponseException.decode(reader, reader.uint32());
|
|
1623
|
+
break;
|
|
1624
|
+
case 2:
|
|
1625
|
+
message.echo = exports.ResponseEcho.decode(reader, reader.uint32());
|
|
1626
|
+
break;
|
|
1627
|
+
case 3:
|
|
1628
|
+
message.flush = exports.ResponseFlush.decode(reader, reader.uint32());
|
|
1629
|
+
break;
|
|
1630
|
+
case 4:
|
|
1631
|
+
message.info = exports.ResponseInfo.decode(reader, reader.uint32());
|
|
1632
|
+
break;
|
|
1633
|
+
case 6:
|
|
1634
|
+
message.initChain = exports.ResponseInitChain.decode(reader, reader.uint32());
|
|
1635
|
+
break;
|
|
1636
|
+
case 7:
|
|
1637
|
+
message.query = exports.ResponseQuery.decode(reader, reader.uint32());
|
|
1638
|
+
break;
|
|
1639
|
+
case 8:
|
|
1640
|
+
message.beginBlock = exports.ResponseBeginBlock.decode(reader, reader.uint32());
|
|
1641
|
+
break;
|
|
1642
|
+
case 9:
|
|
1643
|
+
message.checkTx = exports.ResponseCheckTx.decode(reader, reader.uint32());
|
|
1644
|
+
break;
|
|
1645
|
+
case 10:
|
|
1646
|
+
message.deliverTx = exports.ResponseDeliverTx.decode(reader, reader.uint32());
|
|
1647
|
+
break;
|
|
1648
|
+
case 11:
|
|
1649
|
+
message.endBlock = exports.ResponseEndBlock.decode(reader, reader.uint32());
|
|
1650
|
+
break;
|
|
1651
|
+
case 12:
|
|
1652
|
+
message.commit = exports.ResponseCommit.decode(reader, reader.uint32());
|
|
1653
|
+
break;
|
|
1654
|
+
case 13:
|
|
1655
|
+
message.listSnapshots = exports.ResponseListSnapshots.decode(reader, reader.uint32());
|
|
1656
|
+
break;
|
|
1657
|
+
case 14:
|
|
1658
|
+
message.offerSnapshot = exports.ResponseOfferSnapshot.decode(reader, reader.uint32());
|
|
1659
|
+
break;
|
|
1660
|
+
case 15:
|
|
1661
|
+
message.loadSnapshotChunk = exports.ResponseLoadSnapshotChunk.decode(reader, reader.uint32());
|
|
1662
|
+
break;
|
|
1663
|
+
case 16:
|
|
1664
|
+
message.applySnapshotChunk = exports.ResponseApplySnapshotChunk.decode(reader, reader.uint32());
|
|
1665
|
+
break;
|
|
1666
|
+
case 17:
|
|
1667
|
+
message.prepareProposal = exports.ResponsePrepareProposal.decode(reader, reader.uint32());
|
|
1668
|
+
break;
|
|
1669
|
+
case 18:
|
|
1670
|
+
message.processProposal = exports.ResponseProcessProposal.decode(reader, reader.uint32());
|
|
1671
|
+
break;
|
|
1672
|
+
default:
|
|
1673
|
+
reader.skipType(tag & 7);
|
|
1674
|
+
break;
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
return message;
|
|
1678
|
+
},
|
|
1679
|
+
fromJSON(object) {
|
|
1680
|
+
return {
|
|
1681
|
+
exception: (0, helpers_1.isSet)(object.exception) ? exports.ResponseException.fromJSON(object.exception) : undefined,
|
|
1682
|
+
echo: (0, helpers_1.isSet)(object.echo) ? exports.ResponseEcho.fromJSON(object.echo) : undefined,
|
|
1683
|
+
flush: (0, helpers_1.isSet)(object.flush) ? exports.ResponseFlush.fromJSON(object.flush) : undefined,
|
|
1684
|
+
info: (0, helpers_1.isSet)(object.info) ? exports.ResponseInfo.fromJSON(object.info) : undefined,
|
|
1685
|
+
initChain: (0, helpers_1.isSet)(object.initChain) ? exports.ResponseInitChain.fromJSON(object.initChain) : undefined,
|
|
1686
|
+
query: (0, helpers_1.isSet)(object.query) ? exports.ResponseQuery.fromJSON(object.query) : undefined,
|
|
1687
|
+
beginBlock: (0, helpers_1.isSet)(object.beginBlock) ? exports.ResponseBeginBlock.fromJSON(object.beginBlock) : undefined,
|
|
1688
|
+
checkTx: (0, helpers_1.isSet)(object.checkTx) ? exports.ResponseCheckTx.fromJSON(object.checkTx) : undefined,
|
|
1689
|
+
deliverTx: (0, helpers_1.isSet)(object.deliverTx) ? exports.ResponseDeliverTx.fromJSON(object.deliverTx) : undefined,
|
|
1690
|
+
endBlock: (0, helpers_1.isSet)(object.endBlock) ? exports.ResponseEndBlock.fromJSON(object.endBlock) : undefined,
|
|
1691
|
+
commit: (0, helpers_1.isSet)(object.commit) ? exports.ResponseCommit.fromJSON(object.commit) : undefined,
|
|
1692
|
+
listSnapshots: (0, helpers_1.isSet)(object.listSnapshots) ? exports.ResponseListSnapshots.fromJSON(object.listSnapshots) : undefined,
|
|
1693
|
+
offerSnapshot: (0, helpers_1.isSet)(object.offerSnapshot) ? exports.ResponseOfferSnapshot.fromJSON(object.offerSnapshot) : undefined,
|
|
1694
|
+
loadSnapshotChunk: (0, helpers_1.isSet)(object.loadSnapshotChunk) ? exports.ResponseLoadSnapshotChunk.fromJSON(object.loadSnapshotChunk) : undefined,
|
|
1695
|
+
applySnapshotChunk: (0, helpers_1.isSet)(object.applySnapshotChunk) ? exports.ResponseApplySnapshotChunk.fromJSON(object.applySnapshotChunk) : undefined,
|
|
1696
|
+
prepareProposal: (0, helpers_1.isSet)(object.prepareProposal) ? exports.ResponsePrepareProposal.fromJSON(object.prepareProposal) : undefined,
|
|
1697
|
+
processProposal: (0, helpers_1.isSet)(object.processProposal) ? exports.ResponseProcessProposal.fromJSON(object.processProposal) : undefined
|
|
1698
|
+
};
|
|
1699
|
+
},
|
|
1700
|
+
toJSON(message) {
|
|
1701
|
+
const obj = {};
|
|
1702
|
+
message.exception !== undefined && (obj.exception = message.exception ? exports.ResponseException.toJSON(message.exception) : undefined);
|
|
1703
|
+
message.echo !== undefined && (obj.echo = message.echo ? exports.ResponseEcho.toJSON(message.echo) : undefined);
|
|
1704
|
+
message.flush !== undefined && (obj.flush = message.flush ? exports.ResponseFlush.toJSON(message.flush) : undefined);
|
|
1705
|
+
message.info !== undefined && (obj.info = message.info ? exports.ResponseInfo.toJSON(message.info) : undefined);
|
|
1706
|
+
message.initChain !== undefined && (obj.initChain = message.initChain ? exports.ResponseInitChain.toJSON(message.initChain) : undefined);
|
|
1707
|
+
message.query !== undefined && (obj.query = message.query ? exports.ResponseQuery.toJSON(message.query) : undefined);
|
|
1708
|
+
message.beginBlock !== undefined && (obj.beginBlock = message.beginBlock ? exports.ResponseBeginBlock.toJSON(message.beginBlock) : undefined);
|
|
1709
|
+
message.checkTx !== undefined && (obj.checkTx = message.checkTx ? exports.ResponseCheckTx.toJSON(message.checkTx) : undefined);
|
|
1710
|
+
message.deliverTx !== undefined && (obj.deliverTx = message.deliverTx ? exports.ResponseDeliverTx.toJSON(message.deliverTx) : undefined);
|
|
1711
|
+
message.endBlock !== undefined && (obj.endBlock = message.endBlock ? exports.ResponseEndBlock.toJSON(message.endBlock) : undefined);
|
|
1712
|
+
message.commit !== undefined && (obj.commit = message.commit ? exports.ResponseCommit.toJSON(message.commit) : undefined);
|
|
1713
|
+
message.listSnapshots !== undefined && (obj.listSnapshots = message.listSnapshots ? exports.ResponseListSnapshots.toJSON(message.listSnapshots) : undefined);
|
|
1714
|
+
message.offerSnapshot !== undefined && (obj.offerSnapshot = message.offerSnapshot ? exports.ResponseOfferSnapshot.toJSON(message.offerSnapshot) : undefined);
|
|
1715
|
+
message.loadSnapshotChunk !== undefined && (obj.loadSnapshotChunk = message.loadSnapshotChunk ? exports.ResponseLoadSnapshotChunk.toJSON(message.loadSnapshotChunk) : undefined);
|
|
1716
|
+
message.applySnapshotChunk !== undefined && (obj.applySnapshotChunk = message.applySnapshotChunk ? exports.ResponseApplySnapshotChunk.toJSON(message.applySnapshotChunk) : undefined);
|
|
1717
|
+
message.prepareProposal !== undefined && (obj.prepareProposal = message.prepareProposal ? exports.ResponsePrepareProposal.toJSON(message.prepareProposal) : undefined);
|
|
1718
|
+
message.processProposal !== undefined && (obj.processProposal = message.processProposal ? exports.ResponseProcessProposal.toJSON(message.processProposal) : undefined);
|
|
1719
|
+
return obj;
|
|
1720
|
+
},
|
|
1721
|
+
fromPartial(object) {
|
|
1722
|
+
const message = createBaseResponse();
|
|
1723
|
+
message.exception = object.exception !== undefined && object.exception !== null ? exports.ResponseException.fromPartial(object.exception) : undefined;
|
|
1724
|
+
message.echo = object.echo !== undefined && object.echo !== null ? exports.ResponseEcho.fromPartial(object.echo) : undefined;
|
|
1725
|
+
message.flush = object.flush !== undefined && object.flush !== null ? exports.ResponseFlush.fromPartial(object.flush) : undefined;
|
|
1726
|
+
message.info = object.info !== undefined && object.info !== null ? exports.ResponseInfo.fromPartial(object.info) : undefined;
|
|
1727
|
+
message.initChain = object.initChain !== undefined && object.initChain !== null ? exports.ResponseInitChain.fromPartial(object.initChain) : undefined;
|
|
1728
|
+
message.query = object.query !== undefined && object.query !== null ? exports.ResponseQuery.fromPartial(object.query) : undefined;
|
|
1729
|
+
message.beginBlock = object.beginBlock !== undefined && object.beginBlock !== null ? exports.ResponseBeginBlock.fromPartial(object.beginBlock) : undefined;
|
|
1730
|
+
message.checkTx = object.checkTx !== undefined && object.checkTx !== null ? exports.ResponseCheckTx.fromPartial(object.checkTx) : undefined;
|
|
1731
|
+
message.deliverTx = object.deliverTx !== undefined && object.deliverTx !== null ? exports.ResponseDeliverTx.fromPartial(object.deliverTx) : undefined;
|
|
1732
|
+
message.endBlock = object.endBlock !== undefined && object.endBlock !== null ? exports.ResponseEndBlock.fromPartial(object.endBlock) : undefined;
|
|
1733
|
+
message.commit = object.commit !== undefined && object.commit !== null ? exports.ResponseCommit.fromPartial(object.commit) : undefined;
|
|
1734
|
+
message.listSnapshots = object.listSnapshots !== undefined && object.listSnapshots !== null ? exports.ResponseListSnapshots.fromPartial(object.listSnapshots) : undefined;
|
|
1735
|
+
message.offerSnapshot = object.offerSnapshot !== undefined && object.offerSnapshot !== null ? exports.ResponseOfferSnapshot.fromPartial(object.offerSnapshot) : undefined;
|
|
1736
|
+
message.loadSnapshotChunk = object.loadSnapshotChunk !== undefined && object.loadSnapshotChunk !== null ? exports.ResponseLoadSnapshotChunk.fromPartial(object.loadSnapshotChunk) : undefined;
|
|
1737
|
+
message.applySnapshotChunk = object.applySnapshotChunk !== undefined && object.applySnapshotChunk !== null ? exports.ResponseApplySnapshotChunk.fromPartial(object.applySnapshotChunk) : undefined;
|
|
1738
|
+
message.prepareProposal = object.prepareProposal !== undefined && object.prepareProposal !== null ? exports.ResponsePrepareProposal.fromPartial(object.prepareProposal) : undefined;
|
|
1739
|
+
message.processProposal = object.processProposal !== undefined && object.processProposal !== null ? exports.ResponseProcessProposal.fromPartial(object.processProposal) : undefined;
|
|
1740
|
+
return message;
|
|
1741
|
+
}
|
|
1742
|
+
};
|
|
1743
|
+
function createBaseResponseException() {
|
|
1744
|
+
return {
|
|
1745
|
+
error: ""
|
|
1746
|
+
};
|
|
1747
|
+
}
|
|
1748
|
+
exports.ResponseException = {
|
|
1749
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1750
|
+
if (message.error !== "") {
|
|
1751
|
+
writer.uint32(10).string(message.error);
|
|
1752
|
+
}
|
|
1753
|
+
return writer;
|
|
1754
|
+
},
|
|
1755
|
+
decode(input, length) {
|
|
1756
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1757
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1758
|
+
const message = createBaseResponseException();
|
|
1759
|
+
while (reader.pos < end) {
|
|
1760
|
+
const tag = reader.uint32();
|
|
1761
|
+
switch (tag >>> 3) {
|
|
1762
|
+
case 1:
|
|
1763
|
+
message.error = reader.string();
|
|
1764
|
+
break;
|
|
1765
|
+
default:
|
|
1766
|
+
reader.skipType(tag & 7);
|
|
1767
|
+
break;
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1770
|
+
return message;
|
|
1771
|
+
},
|
|
1772
|
+
fromJSON(object) {
|
|
1773
|
+
return {
|
|
1774
|
+
error: (0, helpers_1.isSet)(object.error) ? String(object.error) : ""
|
|
1775
|
+
};
|
|
1776
|
+
},
|
|
1777
|
+
toJSON(message) {
|
|
1778
|
+
const obj = {};
|
|
1779
|
+
message.error !== undefined && (obj.error = message.error);
|
|
1780
|
+
return obj;
|
|
1781
|
+
},
|
|
1782
|
+
fromPartial(object) {
|
|
1783
|
+
var _a;
|
|
1784
|
+
const message = createBaseResponseException();
|
|
1785
|
+
message.error = (_a = object.error) !== null && _a !== void 0 ? _a : "";
|
|
1786
|
+
return message;
|
|
1787
|
+
}
|
|
1788
|
+
};
|
|
1789
|
+
function createBaseResponseEcho() {
|
|
1790
|
+
return {
|
|
1791
|
+
message: ""
|
|
1792
|
+
};
|
|
1793
|
+
}
|
|
1794
|
+
exports.ResponseEcho = {
|
|
1795
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1796
|
+
if (message.message !== "") {
|
|
1797
|
+
writer.uint32(10).string(message.message);
|
|
1798
|
+
}
|
|
1799
|
+
return writer;
|
|
1800
|
+
},
|
|
1801
|
+
decode(input, length) {
|
|
1802
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1803
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1804
|
+
const message = createBaseResponseEcho();
|
|
1805
|
+
while (reader.pos < end) {
|
|
1806
|
+
const tag = reader.uint32();
|
|
1807
|
+
switch (tag >>> 3) {
|
|
1808
|
+
case 1:
|
|
1809
|
+
message.message = reader.string();
|
|
1810
|
+
break;
|
|
1811
|
+
default:
|
|
1812
|
+
reader.skipType(tag & 7);
|
|
1813
|
+
break;
|
|
1814
|
+
}
|
|
1815
|
+
}
|
|
1816
|
+
return message;
|
|
1817
|
+
},
|
|
1818
|
+
fromJSON(object) {
|
|
1819
|
+
return {
|
|
1820
|
+
message: (0, helpers_1.isSet)(object.message) ? String(object.message) : ""
|
|
1821
|
+
};
|
|
1822
|
+
},
|
|
1823
|
+
toJSON(message) {
|
|
1824
|
+
const obj = {};
|
|
1825
|
+
message.message !== undefined && (obj.message = message.message);
|
|
1826
|
+
return obj;
|
|
1827
|
+
},
|
|
1828
|
+
fromPartial(object) {
|
|
1829
|
+
var _a;
|
|
1830
|
+
const message = createBaseResponseEcho();
|
|
1831
|
+
message.message = (_a = object.message) !== null && _a !== void 0 ? _a : "";
|
|
1832
|
+
return message;
|
|
1833
|
+
}
|
|
1834
|
+
};
|
|
1835
|
+
function createBaseResponseFlush() {
|
|
1836
|
+
return {};
|
|
1837
|
+
}
|
|
1838
|
+
exports.ResponseFlush = {
|
|
1839
|
+
encode(_, writer = _m0.Writer.create()) {
|
|
1840
|
+
return writer;
|
|
1841
|
+
},
|
|
1842
|
+
decode(input, length) {
|
|
1843
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1844
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1845
|
+
const message = createBaseResponseFlush();
|
|
1846
|
+
while (reader.pos < end) {
|
|
1847
|
+
const tag = reader.uint32();
|
|
1848
|
+
switch (tag >>> 3) {
|
|
1849
|
+
default:
|
|
1850
|
+
reader.skipType(tag & 7);
|
|
1851
|
+
break;
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
return message;
|
|
1855
|
+
},
|
|
1856
|
+
fromJSON(_) {
|
|
1857
|
+
return {};
|
|
1858
|
+
},
|
|
1859
|
+
toJSON(_) {
|
|
1860
|
+
const obj = {};
|
|
1861
|
+
return obj;
|
|
1862
|
+
},
|
|
1863
|
+
fromPartial(_) {
|
|
1864
|
+
const message = createBaseResponseFlush();
|
|
1865
|
+
return message;
|
|
1866
|
+
}
|
|
1867
|
+
};
|
|
1868
|
+
function createBaseResponseInfo() {
|
|
1869
|
+
return {
|
|
1870
|
+
data: "",
|
|
1871
|
+
version: "",
|
|
1872
|
+
appVersion: helpers_1.Long.UZERO,
|
|
1873
|
+
lastBlockHeight: helpers_1.Long.ZERO,
|
|
1874
|
+
lastBlockAppHash: new Uint8Array()
|
|
1875
|
+
};
|
|
1876
|
+
}
|
|
1877
|
+
exports.ResponseInfo = {
|
|
1878
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1879
|
+
if (message.data !== "") {
|
|
1880
|
+
writer.uint32(10).string(message.data);
|
|
1881
|
+
}
|
|
1882
|
+
if (message.version !== "") {
|
|
1883
|
+
writer.uint32(18).string(message.version);
|
|
1884
|
+
}
|
|
1885
|
+
if (!message.appVersion.isZero()) {
|
|
1886
|
+
writer.uint32(24).uint64(message.appVersion);
|
|
1887
|
+
}
|
|
1888
|
+
if (!message.lastBlockHeight.isZero()) {
|
|
1889
|
+
writer.uint32(32).int64(message.lastBlockHeight);
|
|
1890
|
+
}
|
|
1891
|
+
if (message.lastBlockAppHash.length !== 0) {
|
|
1892
|
+
writer.uint32(42).bytes(message.lastBlockAppHash);
|
|
1893
|
+
}
|
|
1894
|
+
return writer;
|
|
1895
|
+
},
|
|
1896
|
+
decode(input, length) {
|
|
1897
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1898
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1899
|
+
const message = createBaseResponseInfo();
|
|
1900
|
+
while (reader.pos < end) {
|
|
1901
|
+
const tag = reader.uint32();
|
|
1902
|
+
switch (tag >>> 3) {
|
|
1903
|
+
case 1:
|
|
1904
|
+
message.data = reader.string();
|
|
1905
|
+
break;
|
|
1906
|
+
case 2:
|
|
1907
|
+
message.version = reader.string();
|
|
1908
|
+
break;
|
|
1909
|
+
case 3:
|
|
1910
|
+
message.appVersion = reader.uint64();
|
|
1911
|
+
break;
|
|
1912
|
+
case 4:
|
|
1913
|
+
message.lastBlockHeight = reader.int64();
|
|
1914
|
+
break;
|
|
1915
|
+
case 5:
|
|
1916
|
+
message.lastBlockAppHash = reader.bytes();
|
|
1917
|
+
break;
|
|
1918
|
+
default:
|
|
1919
|
+
reader.skipType(tag & 7);
|
|
1920
|
+
break;
|
|
1921
|
+
}
|
|
1922
|
+
}
|
|
1923
|
+
return message;
|
|
1924
|
+
},
|
|
1925
|
+
fromJSON(object) {
|
|
1926
|
+
return {
|
|
1927
|
+
data: (0, helpers_1.isSet)(object.data) ? String(object.data) : "",
|
|
1928
|
+
version: (0, helpers_1.isSet)(object.version) ? String(object.version) : "",
|
|
1929
|
+
appVersion: (0, helpers_1.isSet)(object.appVersion) ? helpers_1.Long.fromValue(object.appVersion) : helpers_1.Long.UZERO,
|
|
1930
|
+
lastBlockHeight: (0, helpers_1.isSet)(object.lastBlockHeight) ? helpers_1.Long.fromValue(object.lastBlockHeight) : helpers_1.Long.ZERO,
|
|
1931
|
+
lastBlockAppHash: (0, helpers_1.isSet)(object.lastBlockAppHash) ? (0, helpers_1.bytesFromBase64)(object.lastBlockAppHash) : new Uint8Array()
|
|
1932
|
+
};
|
|
1933
|
+
},
|
|
1934
|
+
toJSON(message) {
|
|
1935
|
+
const obj = {};
|
|
1936
|
+
message.data !== undefined && (obj.data = message.data);
|
|
1937
|
+
message.version !== undefined && (obj.version = message.version);
|
|
1938
|
+
message.appVersion !== undefined && (obj.appVersion = (message.appVersion || helpers_1.Long.UZERO).toString());
|
|
1939
|
+
message.lastBlockHeight !== undefined && (obj.lastBlockHeight = (message.lastBlockHeight || helpers_1.Long.ZERO).toString());
|
|
1940
|
+
message.lastBlockAppHash !== undefined && (obj.lastBlockAppHash = (0, helpers_1.base64FromBytes)(message.lastBlockAppHash !== undefined ? message.lastBlockAppHash : new Uint8Array()));
|
|
1941
|
+
return obj;
|
|
1942
|
+
},
|
|
1943
|
+
fromPartial(object) {
|
|
1944
|
+
var _a, _b, _c;
|
|
1945
|
+
const message = createBaseResponseInfo();
|
|
1946
|
+
message.data = (_a = object.data) !== null && _a !== void 0 ? _a : "";
|
|
1947
|
+
message.version = (_b = object.version) !== null && _b !== void 0 ? _b : "";
|
|
1948
|
+
message.appVersion = object.appVersion !== undefined && object.appVersion !== null ? helpers_1.Long.fromValue(object.appVersion) : helpers_1.Long.UZERO;
|
|
1949
|
+
message.lastBlockHeight = object.lastBlockHeight !== undefined && object.lastBlockHeight !== null ? helpers_1.Long.fromValue(object.lastBlockHeight) : helpers_1.Long.ZERO;
|
|
1950
|
+
message.lastBlockAppHash = (_c = object.lastBlockAppHash) !== null && _c !== void 0 ? _c : new Uint8Array();
|
|
1951
|
+
return message;
|
|
1952
|
+
}
|
|
1953
|
+
};
|
|
1954
|
+
function createBaseResponseInitChain() {
|
|
1955
|
+
return {
|
|
1956
|
+
consensusParams: undefined,
|
|
1957
|
+
validators: [],
|
|
1958
|
+
appHash: new Uint8Array()
|
|
1959
|
+
};
|
|
1960
|
+
}
|
|
1961
|
+
exports.ResponseInitChain = {
|
|
1962
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
1963
|
+
if (message.consensusParams !== undefined) {
|
|
1964
|
+
params_1.ConsensusParams.encode(message.consensusParams, writer.uint32(10).fork()).ldelim();
|
|
1965
|
+
}
|
|
1966
|
+
for (const v of message.validators) {
|
|
1967
|
+
exports.ValidatorUpdate.encode(v, writer.uint32(18).fork()).ldelim();
|
|
1968
|
+
}
|
|
1969
|
+
if (message.appHash.length !== 0) {
|
|
1970
|
+
writer.uint32(26).bytes(message.appHash);
|
|
1971
|
+
}
|
|
1972
|
+
return writer;
|
|
1973
|
+
},
|
|
1974
|
+
decode(input, length) {
|
|
1975
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
1976
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1977
|
+
const message = createBaseResponseInitChain();
|
|
1978
|
+
while (reader.pos < end) {
|
|
1979
|
+
const tag = reader.uint32();
|
|
1980
|
+
switch (tag >>> 3) {
|
|
1981
|
+
case 1:
|
|
1982
|
+
message.consensusParams = params_1.ConsensusParams.decode(reader, reader.uint32());
|
|
1983
|
+
break;
|
|
1984
|
+
case 2:
|
|
1985
|
+
message.validators.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
|
|
1986
|
+
break;
|
|
1987
|
+
case 3:
|
|
1988
|
+
message.appHash = reader.bytes();
|
|
1989
|
+
break;
|
|
1990
|
+
default:
|
|
1991
|
+
reader.skipType(tag & 7);
|
|
1992
|
+
break;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
return message;
|
|
1996
|
+
},
|
|
1997
|
+
fromJSON(object) {
|
|
1998
|
+
return {
|
|
1999
|
+
consensusParams: (0, helpers_1.isSet)(object.consensusParams) ? params_1.ConsensusParams.fromJSON(object.consensusParams) : undefined,
|
|
2000
|
+
validators: Array.isArray(object === null || object === void 0 ? void 0 : object.validators) ? object.validators.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
|
|
2001
|
+
appHash: (0, helpers_1.isSet)(object.appHash) ? (0, helpers_1.bytesFromBase64)(object.appHash) : new Uint8Array()
|
|
2002
|
+
};
|
|
2003
|
+
},
|
|
2004
|
+
toJSON(message) {
|
|
2005
|
+
const obj = {};
|
|
2006
|
+
message.consensusParams !== undefined && (obj.consensusParams = message.consensusParams ? params_1.ConsensusParams.toJSON(message.consensusParams) : undefined);
|
|
2007
|
+
if (message.validators) {
|
|
2008
|
+
obj.validators = message.validators.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
|
|
2009
|
+
}
|
|
2010
|
+
else {
|
|
2011
|
+
obj.validators = [];
|
|
2012
|
+
}
|
|
2013
|
+
message.appHash !== undefined && (obj.appHash = (0, helpers_1.base64FromBytes)(message.appHash !== undefined ? message.appHash : new Uint8Array()));
|
|
2014
|
+
return obj;
|
|
2015
|
+
},
|
|
2016
|
+
fromPartial(object) {
|
|
2017
|
+
var _a, _b;
|
|
2018
|
+
const message = createBaseResponseInitChain();
|
|
2019
|
+
message.consensusParams = object.consensusParams !== undefined && object.consensusParams !== null ? params_1.ConsensusParams.fromPartial(object.consensusParams) : undefined;
|
|
2020
|
+
message.validators = ((_a = object.validators) === null || _a === void 0 ? void 0 : _a.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
|
|
2021
|
+
message.appHash = (_b = object.appHash) !== null && _b !== void 0 ? _b : new Uint8Array();
|
|
2022
|
+
return message;
|
|
2023
|
+
}
|
|
2024
|
+
};
|
|
2025
|
+
function createBaseResponseQuery() {
|
|
2026
|
+
return {
|
|
2027
|
+
code: 0,
|
|
2028
|
+
log: "",
|
|
2029
|
+
info: "",
|
|
2030
|
+
index: helpers_1.Long.ZERO,
|
|
2031
|
+
key: new Uint8Array(),
|
|
2032
|
+
value: new Uint8Array(),
|
|
2033
|
+
proofOps: undefined,
|
|
2034
|
+
height: helpers_1.Long.ZERO,
|
|
2035
|
+
codespace: ""
|
|
2036
|
+
};
|
|
2037
|
+
}
|
|
2038
|
+
exports.ResponseQuery = {
|
|
2039
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2040
|
+
if (message.code !== 0) {
|
|
2041
|
+
writer.uint32(8).uint32(message.code);
|
|
2042
|
+
}
|
|
2043
|
+
if (message.log !== "") {
|
|
2044
|
+
writer.uint32(26).string(message.log);
|
|
2045
|
+
}
|
|
2046
|
+
if (message.info !== "") {
|
|
2047
|
+
writer.uint32(34).string(message.info);
|
|
2048
|
+
}
|
|
2049
|
+
if (!message.index.isZero()) {
|
|
2050
|
+
writer.uint32(40).int64(message.index);
|
|
2051
|
+
}
|
|
2052
|
+
if (message.key.length !== 0) {
|
|
2053
|
+
writer.uint32(50).bytes(message.key);
|
|
2054
|
+
}
|
|
2055
|
+
if (message.value.length !== 0) {
|
|
2056
|
+
writer.uint32(58).bytes(message.value);
|
|
2057
|
+
}
|
|
2058
|
+
if (message.proofOps !== undefined) {
|
|
2059
|
+
proof_1.ProofOps.encode(message.proofOps, writer.uint32(66).fork()).ldelim();
|
|
2060
|
+
}
|
|
2061
|
+
if (!message.height.isZero()) {
|
|
2062
|
+
writer.uint32(72).int64(message.height);
|
|
2063
|
+
}
|
|
2064
|
+
if (message.codespace !== "") {
|
|
2065
|
+
writer.uint32(82).string(message.codespace);
|
|
2066
|
+
}
|
|
2067
|
+
return writer;
|
|
2068
|
+
},
|
|
2069
|
+
decode(input, length) {
|
|
2070
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2071
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2072
|
+
const message = createBaseResponseQuery();
|
|
2073
|
+
while (reader.pos < end) {
|
|
2074
|
+
const tag = reader.uint32();
|
|
2075
|
+
switch (tag >>> 3) {
|
|
2076
|
+
case 1:
|
|
2077
|
+
message.code = reader.uint32();
|
|
2078
|
+
break;
|
|
2079
|
+
case 3:
|
|
2080
|
+
message.log = reader.string();
|
|
2081
|
+
break;
|
|
2082
|
+
case 4:
|
|
2083
|
+
message.info = reader.string();
|
|
2084
|
+
break;
|
|
2085
|
+
case 5:
|
|
2086
|
+
message.index = reader.int64();
|
|
2087
|
+
break;
|
|
2088
|
+
case 6:
|
|
2089
|
+
message.key = reader.bytes();
|
|
2090
|
+
break;
|
|
2091
|
+
case 7:
|
|
2092
|
+
message.value = reader.bytes();
|
|
2093
|
+
break;
|
|
2094
|
+
case 8:
|
|
2095
|
+
message.proofOps = proof_1.ProofOps.decode(reader, reader.uint32());
|
|
2096
|
+
break;
|
|
2097
|
+
case 9:
|
|
2098
|
+
message.height = reader.int64();
|
|
2099
|
+
break;
|
|
2100
|
+
case 10:
|
|
2101
|
+
message.codespace = reader.string();
|
|
2102
|
+
break;
|
|
2103
|
+
default:
|
|
2104
|
+
reader.skipType(tag & 7);
|
|
2105
|
+
break;
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
return message;
|
|
2109
|
+
},
|
|
2110
|
+
fromJSON(object) {
|
|
2111
|
+
return {
|
|
2112
|
+
code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
|
|
2113
|
+
log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
|
|
2114
|
+
info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
|
|
2115
|
+
index: (0, helpers_1.isSet)(object.index) ? helpers_1.Long.fromValue(object.index) : helpers_1.Long.ZERO,
|
|
2116
|
+
key: (0, helpers_1.isSet)(object.key) ? (0, helpers_1.bytesFromBase64)(object.key) : new Uint8Array(),
|
|
2117
|
+
value: (0, helpers_1.isSet)(object.value) ? (0, helpers_1.bytesFromBase64)(object.value) : new Uint8Array(),
|
|
2118
|
+
proofOps: (0, helpers_1.isSet)(object.proofOps) ? proof_1.ProofOps.fromJSON(object.proofOps) : undefined,
|
|
2119
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
|
|
2120
|
+
codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : ""
|
|
2121
|
+
};
|
|
2122
|
+
},
|
|
2123
|
+
toJSON(message) {
|
|
2124
|
+
const obj = {};
|
|
2125
|
+
message.code !== undefined && (obj.code = Math.round(message.code));
|
|
2126
|
+
message.log !== undefined && (obj.log = message.log);
|
|
2127
|
+
message.info !== undefined && (obj.info = message.info);
|
|
2128
|
+
message.index !== undefined && (obj.index = (message.index || helpers_1.Long.ZERO).toString());
|
|
2129
|
+
message.key !== undefined && (obj.key = (0, helpers_1.base64FromBytes)(message.key !== undefined ? message.key : new Uint8Array()));
|
|
2130
|
+
message.value !== undefined && (obj.value = (0, helpers_1.base64FromBytes)(message.value !== undefined ? message.value : new Uint8Array()));
|
|
2131
|
+
message.proofOps !== undefined && (obj.proofOps = message.proofOps ? proof_1.ProofOps.toJSON(message.proofOps) : undefined);
|
|
2132
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
2133
|
+
message.codespace !== undefined && (obj.codespace = message.codespace);
|
|
2134
|
+
return obj;
|
|
2135
|
+
},
|
|
2136
|
+
fromPartial(object) {
|
|
2137
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2138
|
+
const message = createBaseResponseQuery();
|
|
2139
|
+
message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
|
|
2140
|
+
message.log = (_b = object.log) !== null && _b !== void 0 ? _b : "";
|
|
2141
|
+
message.info = (_c = object.info) !== null && _c !== void 0 ? _c : "";
|
|
2142
|
+
message.index = object.index !== undefined && object.index !== null ? helpers_1.Long.fromValue(object.index) : helpers_1.Long.ZERO;
|
|
2143
|
+
message.key = (_d = object.key) !== null && _d !== void 0 ? _d : new Uint8Array();
|
|
2144
|
+
message.value = (_e = object.value) !== null && _e !== void 0 ? _e : new Uint8Array();
|
|
2145
|
+
message.proofOps = object.proofOps !== undefined && object.proofOps !== null ? proof_1.ProofOps.fromPartial(object.proofOps) : undefined;
|
|
2146
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
2147
|
+
message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
|
|
2148
|
+
return message;
|
|
2149
|
+
}
|
|
2150
|
+
};
|
|
2151
|
+
function createBaseResponseBeginBlock() {
|
|
2152
|
+
return {
|
|
2153
|
+
events: []
|
|
2154
|
+
};
|
|
2155
|
+
}
|
|
2156
|
+
exports.ResponseBeginBlock = {
|
|
2157
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2158
|
+
for (const v of message.events) {
|
|
2159
|
+
exports.Event.encode(v, writer.uint32(10).fork()).ldelim();
|
|
2160
|
+
}
|
|
2161
|
+
return writer;
|
|
2162
|
+
},
|
|
2163
|
+
decode(input, length) {
|
|
2164
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2165
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2166
|
+
const message = createBaseResponseBeginBlock();
|
|
2167
|
+
while (reader.pos < end) {
|
|
2168
|
+
const tag = reader.uint32();
|
|
2169
|
+
switch (tag >>> 3) {
|
|
2170
|
+
case 1:
|
|
2171
|
+
message.events.push(exports.Event.decode(reader, reader.uint32()));
|
|
2172
|
+
break;
|
|
2173
|
+
default:
|
|
2174
|
+
reader.skipType(tag & 7);
|
|
2175
|
+
break;
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
return message;
|
|
2179
|
+
},
|
|
2180
|
+
fromJSON(object) {
|
|
2181
|
+
return {
|
|
2182
|
+
events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : []
|
|
2183
|
+
};
|
|
2184
|
+
},
|
|
2185
|
+
toJSON(message) {
|
|
2186
|
+
const obj = {};
|
|
2187
|
+
if (message.events) {
|
|
2188
|
+
obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
|
|
2189
|
+
}
|
|
2190
|
+
else {
|
|
2191
|
+
obj.events = [];
|
|
2192
|
+
}
|
|
2193
|
+
return obj;
|
|
2194
|
+
},
|
|
2195
|
+
fromPartial(object) {
|
|
2196
|
+
var _a;
|
|
2197
|
+
const message = createBaseResponseBeginBlock();
|
|
2198
|
+
message.events = ((_a = object.events) === null || _a === void 0 ? void 0 : _a.map(e => exports.Event.fromPartial(e))) || [];
|
|
2199
|
+
return message;
|
|
2200
|
+
}
|
|
2201
|
+
};
|
|
2202
|
+
function createBaseResponseCheckTx() {
|
|
2203
|
+
return {
|
|
2204
|
+
code: 0,
|
|
2205
|
+
data: new Uint8Array(),
|
|
2206
|
+
log: "",
|
|
2207
|
+
info: "",
|
|
2208
|
+
gasWanted: helpers_1.Long.ZERO,
|
|
2209
|
+
gasUsed: helpers_1.Long.ZERO,
|
|
2210
|
+
events: [],
|
|
2211
|
+
codespace: "",
|
|
2212
|
+
sender: "",
|
|
2213
|
+
priority: helpers_1.Long.ZERO,
|
|
2214
|
+
mempoolError: ""
|
|
2215
|
+
};
|
|
2216
|
+
}
|
|
2217
|
+
exports.ResponseCheckTx = {
|
|
2218
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2219
|
+
if (message.code !== 0) {
|
|
2220
|
+
writer.uint32(8).uint32(message.code);
|
|
2221
|
+
}
|
|
2222
|
+
if (message.data.length !== 0) {
|
|
2223
|
+
writer.uint32(18).bytes(message.data);
|
|
2224
|
+
}
|
|
2225
|
+
if (message.log !== "") {
|
|
2226
|
+
writer.uint32(26).string(message.log);
|
|
2227
|
+
}
|
|
2228
|
+
if (message.info !== "") {
|
|
2229
|
+
writer.uint32(34).string(message.info);
|
|
2230
|
+
}
|
|
2231
|
+
if (!message.gasWanted.isZero()) {
|
|
2232
|
+
writer.uint32(40).int64(message.gasWanted);
|
|
2233
|
+
}
|
|
2234
|
+
if (!message.gasUsed.isZero()) {
|
|
2235
|
+
writer.uint32(48).int64(message.gasUsed);
|
|
2236
|
+
}
|
|
2237
|
+
for (const v of message.events) {
|
|
2238
|
+
exports.Event.encode(v, writer.uint32(58).fork()).ldelim();
|
|
2239
|
+
}
|
|
2240
|
+
if (message.codespace !== "") {
|
|
2241
|
+
writer.uint32(66).string(message.codespace);
|
|
2242
|
+
}
|
|
2243
|
+
if (message.sender !== "") {
|
|
2244
|
+
writer.uint32(74).string(message.sender);
|
|
2245
|
+
}
|
|
2246
|
+
if (!message.priority.isZero()) {
|
|
2247
|
+
writer.uint32(80).int64(message.priority);
|
|
2248
|
+
}
|
|
2249
|
+
if (message.mempoolError !== "") {
|
|
2250
|
+
writer.uint32(90).string(message.mempoolError);
|
|
2251
|
+
}
|
|
2252
|
+
return writer;
|
|
2253
|
+
},
|
|
2254
|
+
decode(input, length) {
|
|
2255
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2256
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2257
|
+
const message = createBaseResponseCheckTx();
|
|
2258
|
+
while (reader.pos < end) {
|
|
2259
|
+
const tag = reader.uint32();
|
|
2260
|
+
switch (tag >>> 3) {
|
|
2261
|
+
case 1:
|
|
2262
|
+
message.code = reader.uint32();
|
|
2263
|
+
break;
|
|
2264
|
+
case 2:
|
|
2265
|
+
message.data = reader.bytes();
|
|
2266
|
+
break;
|
|
2267
|
+
case 3:
|
|
2268
|
+
message.log = reader.string();
|
|
2269
|
+
break;
|
|
2270
|
+
case 4:
|
|
2271
|
+
message.info = reader.string();
|
|
2272
|
+
break;
|
|
2273
|
+
case 5:
|
|
2274
|
+
message.gasWanted = reader.int64();
|
|
2275
|
+
break;
|
|
2276
|
+
case 6:
|
|
2277
|
+
message.gasUsed = reader.int64();
|
|
2278
|
+
break;
|
|
2279
|
+
case 7:
|
|
2280
|
+
message.events.push(exports.Event.decode(reader, reader.uint32()));
|
|
2281
|
+
break;
|
|
2282
|
+
case 8:
|
|
2283
|
+
message.codespace = reader.string();
|
|
2284
|
+
break;
|
|
2285
|
+
case 9:
|
|
2286
|
+
message.sender = reader.string();
|
|
2287
|
+
break;
|
|
2288
|
+
case 10:
|
|
2289
|
+
message.priority = reader.int64();
|
|
2290
|
+
break;
|
|
2291
|
+
case 11:
|
|
2292
|
+
message.mempoolError = reader.string();
|
|
2293
|
+
break;
|
|
2294
|
+
default:
|
|
2295
|
+
reader.skipType(tag & 7);
|
|
2296
|
+
break;
|
|
2297
|
+
}
|
|
2298
|
+
}
|
|
2299
|
+
return message;
|
|
2300
|
+
},
|
|
2301
|
+
fromJSON(object) {
|
|
2302
|
+
return {
|
|
2303
|
+
code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
|
|
2304
|
+
data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
|
|
2305
|
+
log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
|
|
2306
|
+
info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
|
|
2307
|
+
gasWanted: (0, helpers_1.isSet)(object.gas_wanted) ? helpers_1.Long.fromValue(object.gas_wanted) : helpers_1.Long.ZERO,
|
|
2308
|
+
gasUsed: (0, helpers_1.isSet)(object.gas_used) ? helpers_1.Long.fromValue(object.gas_used) : helpers_1.Long.ZERO,
|
|
2309
|
+
events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : [],
|
|
2310
|
+
codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : "",
|
|
2311
|
+
sender: (0, helpers_1.isSet)(object.sender) ? String(object.sender) : "",
|
|
2312
|
+
priority: (0, helpers_1.isSet)(object.priority) ? helpers_1.Long.fromValue(object.priority) : helpers_1.Long.ZERO,
|
|
2313
|
+
mempoolError: (0, helpers_1.isSet)(object.mempoolError) ? String(object.mempoolError) : ""
|
|
2314
|
+
};
|
|
2315
|
+
},
|
|
2316
|
+
toJSON(message) {
|
|
2317
|
+
const obj = {};
|
|
2318
|
+
message.code !== undefined && (obj.code = Math.round(message.code));
|
|
2319
|
+
message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
|
|
2320
|
+
message.log !== undefined && (obj.log = message.log);
|
|
2321
|
+
message.info !== undefined && (obj.info = message.info);
|
|
2322
|
+
message.gasWanted !== undefined && (obj.gas_wanted = (message.gasWanted || helpers_1.Long.ZERO).toString());
|
|
2323
|
+
message.gasUsed !== undefined && (obj.gas_used = (message.gasUsed || helpers_1.Long.ZERO).toString());
|
|
2324
|
+
if (message.events) {
|
|
2325
|
+
obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
|
|
2326
|
+
}
|
|
2327
|
+
else {
|
|
2328
|
+
obj.events = [];
|
|
2329
|
+
}
|
|
2330
|
+
message.codespace !== undefined && (obj.codespace = message.codespace);
|
|
2331
|
+
message.sender !== undefined && (obj.sender = message.sender);
|
|
2332
|
+
message.priority !== undefined && (obj.priority = (message.priority || helpers_1.Long.ZERO).toString());
|
|
2333
|
+
message.mempoolError !== undefined && (obj.mempoolError = message.mempoolError);
|
|
2334
|
+
return obj;
|
|
2335
|
+
},
|
|
2336
|
+
fromPartial(object) {
|
|
2337
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
2338
|
+
const message = createBaseResponseCheckTx();
|
|
2339
|
+
message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
|
|
2340
|
+
message.data = (_b = object.data) !== null && _b !== void 0 ? _b : new Uint8Array();
|
|
2341
|
+
message.log = (_c = object.log) !== null && _c !== void 0 ? _c : "";
|
|
2342
|
+
message.info = (_d = object.info) !== null && _d !== void 0 ? _d : "";
|
|
2343
|
+
message.gasWanted = object.gasWanted !== undefined && object.gasWanted !== null ? helpers_1.Long.fromValue(object.gasWanted) : helpers_1.Long.ZERO;
|
|
2344
|
+
message.gasUsed = object.gasUsed !== undefined && object.gasUsed !== null ? helpers_1.Long.fromValue(object.gasUsed) : helpers_1.Long.ZERO;
|
|
2345
|
+
message.events = ((_e = object.events) === null || _e === void 0 ? void 0 : _e.map(e => exports.Event.fromPartial(e))) || [];
|
|
2346
|
+
message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
|
|
2347
|
+
message.sender = (_g = object.sender) !== null && _g !== void 0 ? _g : "";
|
|
2348
|
+
message.priority = object.priority !== undefined && object.priority !== null ? helpers_1.Long.fromValue(object.priority) : helpers_1.Long.ZERO;
|
|
2349
|
+
message.mempoolError = (_h = object.mempoolError) !== null && _h !== void 0 ? _h : "";
|
|
2350
|
+
return message;
|
|
2351
|
+
}
|
|
2352
|
+
};
|
|
2353
|
+
function createBaseResponseDeliverTx() {
|
|
2354
|
+
return {
|
|
2355
|
+
code: 0,
|
|
2356
|
+
data: new Uint8Array(),
|
|
2357
|
+
log: "",
|
|
2358
|
+
info: "",
|
|
2359
|
+
gasWanted: helpers_1.Long.ZERO,
|
|
2360
|
+
gasUsed: helpers_1.Long.ZERO,
|
|
2361
|
+
events: [],
|
|
2362
|
+
codespace: ""
|
|
2363
|
+
};
|
|
2364
|
+
}
|
|
2365
|
+
exports.ResponseDeliverTx = {
|
|
2366
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2367
|
+
if (message.code !== 0) {
|
|
2368
|
+
writer.uint32(8).uint32(message.code);
|
|
2369
|
+
}
|
|
2370
|
+
if (message.data.length !== 0) {
|
|
2371
|
+
writer.uint32(18).bytes(message.data);
|
|
2372
|
+
}
|
|
2373
|
+
if (message.log !== "") {
|
|
2374
|
+
writer.uint32(26).string(message.log);
|
|
2375
|
+
}
|
|
2376
|
+
if (message.info !== "") {
|
|
2377
|
+
writer.uint32(34).string(message.info);
|
|
2378
|
+
}
|
|
2379
|
+
if (!message.gasWanted.isZero()) {
|
|
2380
|
+
writer.uint32(40).int64(message.gasWanted);
|
|
2381
|
+
}
|
|
2382
|
+
if (!message.gasUsed.isZero()) {
|
|
2383
|
+
writer.uint32(48).int64(message.gasUsed);
|
|
2384
|
+
}
|
|
2385
|
+
for (const v of message.events) {
|
|
2386
|
+
exports.Event.encode(v, writer.uint32(58).fork()).ldelim();
|
|
2387
|
+
}
|
|
2388
|
+
if (message.codespace !== "") {
|
|
2389
|
+
writer.uint32(66).string(message.codespace);
|
|
2390
|
+
}
|
|
2391
|
+
return writer;
|
|
2392
|
+
},
|
|
2393
|
+
decode(input, length) {
|
|
2394
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2395
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2396
|
+
const message = createBaseResponseDeliverTx();
|
|
2397
|
+
while (reader.pos < end) {
|
|
2398
|
+
const tag = reader.uint32();
|
|
2399
|
+
switch (tag >>> 3) {
|
|
2400
|
+
case 1:
|
|
2401
|
+
message.code = reader.uint32();
|
|
2402
|
+
break;
|
|
2403
|
+
case 2:
|
|
2404
|
+
message.data = reader.bytes();
|
|
2405
|
+
break;
|
|
2406
|
+
case 3:
|
|
2407
|
+
message.log = reader.string();
|
|
2408
|
+
break;
|
|
2409
|
+
case 4:
|
|
2410
|
+
message.info = reader.string();
|
|
2411
|
+
break;
|
|
2412
|
+
case 5:
|
|
2413
|
+
message.gasWanted = reader.int64();
|
|
2414
|
+
break;
|
|
2415
|
+
case 6:
|
|
2416
|
+
message.gasUsed = reader.int64();
|
|
2417
|
+
break;
|
|
2418
|
+
case 7:
|
|
2419
|
+
message.events.push(exports.Event.decode(reader, reader.uint32()));
|
|
2420
|
+
break;
|
|
2421
|
+
case 8:
|
|
2422
|
+
message.codespace = reader.string();
|
|
2423
|
+
break;
|
|
2424
|
+
default:
|
|
2425
|
+
reader.skipType(tag & 7);
|
|
2426
|
+
break;
|
|
2427
|
+
}
|
|
2428
|
+
}
|
|
2429
|
+
return message;
|
|
2430
|
+
},
|
|
2431
|
+
fromJSON(object) {
|
|
2432
|
+
return {
|
|
2433
|
+
code: (0, helpers_1.isSet)(object.code) ? Number(object.code) : 0,
|
|
2434
|
+
data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
|
|
2435
|
+
log: (0, helpers_1.isSet)(object.log) ? String(object.log) : "",
|
|
2436
|
+
info: (0, helpers_1.isSet)(object.info) ? String(object.info) : "",
|
|
2437
|
+
gasWanted: (0, helpers_1.isSet)(object.gas_wanted) ? helpers_1.Long.fromValue(object.gas_wanted) : helpers_1.Long.ZERO,
|
|
2438
|
+
gasUsed: (0, helpers_1.isSet)(object.gas_used) ? helpers_1.Long.fromValue(object.gas_used) : helpers_1.Long.ZERO,
|
|
2439
|
+
events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : [],
|
|
2440
|
+
codespace: (0, helpers_1.isSet)(object.codespace) ? String(object.codespace) : ""
|
|
2441
|
+
};
|
|
2442
|
+
},
|
|
2443
|
+
toJSON(message) {
|
|
2444
|
+
const obj = {};
|
|
2445
|
+
message.code !== undefined && (obj.code = Math.round(message.code));
|
|
2446
|
+
message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
|
|
2447
|
+
message.log !== undefined && (obj.log = message.log);
|
|
2448
|
+
message.info !== undefined && (obj.info = message.info);
|
|
2449
|
+
message.gasWanted !== undefined && (obj.gas_wanted = (message.gasWanted || helpers_1.Long.ZERO).toString());
|
|
2450
|
+
message.gasUsed !== undefined && (obj.gas_used = (message.gasUsed || helpers_1.Long.ZERO).toString());
|
|
2451
|
+
if (message.events) {
|
|
2452
|
+
obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
|
|
2453
|
+
}
|
|
2454
|
+
else {
|
|
2455
|
+
obj.events = [];
|
|
2456
|
+
}
|
|
2457
|
+
message.codespace !== undefined && (obj.codespace = message.codespace);
|
|
2458
|
+
return obj;
|
|
2459
|
+
},
|
|
2460
|
+
fromPartial(object) {
|
|
2461
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2462
|
+
const message = createBaseResponseDeliverTx();
|
|
2463
|
+
message.code = (_a = object.code) !== null && _a !== void 0 ? _a : 0;
|
|
2464
|
+
message.data = (_b = object.data) !== null && _b !== void 0 ? _b : new Uint8Array();
|
|
2465
|
+
message.log = (_c = object.log) !== null && _c !== void 0 ? _c : "";
|
|
2466
|
+
message.info = (_d = object.info) !== null && _d !== void 0 ? _d : "";
|
|
2467
|
+
message.gasWanted = object.gasWanted !== undefined && object.gasWanted !== null ? helpers_1.Long.fromValue(object.gasWanted) : helpers_1.Long.ZERO;
|
|
2468
|
+
message.gasUsed = object.gasUsed !== undefined && object.gasUsed !== null ? helpers_1.Long.fromValue(object.gasUsed) : helpers_1.Long.ZERO;
|
|
2469
|
+
message.events = ((_e = object.events) === null || _e === void 0 ? void 0 : _e.map(e => exports.Event.fromPartial(e))) || [];
|
|
2470
|
+
message.codespace = (_f = object.codespace) !== null && _f !== void 0 ? _f : "";
|
|
2471
|
+
return message;
|
|
2472
|
+
}
|
|
2473
|
+
};
|
|
2474
|
+
function createBaseResponseEndBlock() {
|
|
2475
|
+
return {
|
|
2476
|
+
validatorUpdates: [],
|
|
2477
|
+
consensusParamUpdates: undefined,
|
|
2478
|
+
events: []
|
|
2479
|
+
};
|
|
2480
|
+
}
|
|
2481
|
+
exports.ResponseEndBlock = {
|
|
2482
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2483
|
+
for (const v of message.validatorUpdates) {
|
|
2484
|
+
exports.ValidatorUpdate.encode(v, writer.uint32(10).fork()).ldelim();
|
|
2485
|
+
}
|
|
2486
|
+
if (message.consensusParamUpdates !== undefined) {
|
|
2487
|
+
params_1.ConsensusParams.encode(message.consensusParamUpdates, writer.uint32(18).fork()).ldelim();
|
|
2488
|
+
}
|
|
2489
|
+
for (const v of message.events) {
|
|
2490
|
+
exports.Event.encode(v, writer.uint32(26).fork()).ldelim();
|
|
2491
|
+
}
|
|
2492
|
+
return writer;
|
|
2493
|
+
},
|
|
2494
|
+
decode(input, length) {
|
|
2495
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2496
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2497
|
+
const message = createBaseResponseEndBlock();
|
|
2498
|
+
while (reader.pos < end) {
|
|
2499
|
+
const tag = reader.uint32();
|
|
2500
|
+
switch (tag >>> 3) {
|
|
2501
|
+
case 1:
|
|
2502
|
+
message.validatorUpdates.push(exports.ValidatorUpdate.decode(reader, reader.uint32()));
|
|
2503
|
+
break;
|
|
2504
|
+
case 2:
|
|
2505
|
+
message.consensusParamUpdates = params_1.ConsensusParams.decode(reader, reader.uint32());
|
|
2506
|
+
break;
|
|
2507
|
+
case 3:
|
|
2508
|
+
message.events.push(exports.Event.decode(reader, reader.uint32()));
|
|
2509
|
+
break;
|
|
2510
|
+
default:
|
|
2511
|
+
reader.skipType(tag & 7);
|
|
2512
|
+
break;
|
|
2513
|
+
}
|
|
2514
|
+
}
|
|
2515
|
+
return message;
|
|
2516
|
+
},
|
|
2517
|
+
fromJSON(object) {
|
|
2518
|
+
return {
|
|
2519
|
+
validatorUpdates: Array.isArray(object === null || object === void 0 ? void 0 : object.validatorUpdates) ? object.validatorUpdates.map((e) => exports.ValidatorUpdate.fromJSON(e)) : [],
|
|
2520
|
+
consensusParamUpdates: (0, helpers_1.isSet)(object.consensusParamUpdates) ? params_1.ConsensusParams.fromJSON(object.consensusParamUpdates) : undefined,
|
|
2521
|
+
events: Array.isArray(object === null || object === void 0 ? void 0 : object.events) ? object.events.map((e) => exports.Event.fromJSON(e)) : []
|
|
2522
|
+
};
|
|
2523
|
+
},
|
|
2524
|
+
toJSON(message) {
|
|
2525
|
+
const obj = {};
|
|
2526
|
+
if (message.validatorUpdates) {
|
|
2527
|
+
obj.validatorUpdates = message.validatorUpdates.map(e => e ? exports.ValidatorUpdate.toJSON(e) : undefined);
|
|
2528
|
+
}
|
|
2529
|
+
else {
|
|
2530
|
+
obj.validatorUpdates = [];
|
|
2531
|
+
}
|
|
2532
|
+
message.consensusParamUpdates !== undefined && (obj.consensusParamUpdates = message.consensusParamUpdates ? params_1.ConsensusParams.toJSON(message.consensusParamUpdates) : undefined);
|
|
2533
|
+
if (message.events) {
|
|
2534
|
+
obj.events = message.events.map(e => e ? exports.Event.toJSON(e) : undefined);
|
|
2535
|
+
}
|
|
2536
|
+
else {
|
|
2537
|
+
obj.events = [];
|
|
2538
|
+
}
|
|
2539
|
+
return obj;
|
|
2540
|
+
},
|
|
2541
|
+
fromPartial(object) {
|
|
2542
|
+
var _a, _b;
|
|
2543
|
+
const message = createBaseResponseEndBlock();
|
|
2544
|
+
message.validatorUpdates = ((_a = object.validatorUpdates) === null || _a === void 0 ? void 0 : _a.map(e => exports.ValidatorUpdate.fromPartial(e))) || [];
|
|
2545
|
+
message.consensusParamUpdates = object.consensusParamUpdates !== undefined && object.consensusParamUpdates !== null ? params_1.ConsensusParams.fromPartial(object.consensusParamUpdates) : undefined;
|
|
2546
|
+
message.events = ((_b = object.events) === null || _b === void 0 ? void 0 : _b.map(e => exports.Event.fromPartial(e))) || [];
|
|
2547
|
+
return message;
|
|
2548
|
+
}
|
|
2549
|
+
};
|
|
2550
|
+
function createBaseResponseCommit() {
|
|
2551
|
+
return {
|
|
2552
|
+
data: new Uint8Array(),
|
|
2553
|
+
retainHeight: helpers_1.Long.ZERO
|
|
2554
|
+
};
|
|
2555
|
+
}
|
|
2556
|
+
exports.ResponseCommit = {
|
|
2557
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2558
|
+
if (message.data.length !== 0) {
|
|
2559
|
+
writer.uint32(18).bytes(message.data);
|
|
2560
|
+
}
|
|
2561
|
+
if (!message.retainHeight.isZero()) {
|
|
2562
|
+
writer.uint32(24).int64(message.retainHeight);
|
|
2563
|
+
}
|
|
2564
|
+
return writer;
|
|
2565
|
+
},
|
|
2566
|
+
decode(input, length) {
|
|
2567
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2568
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2569
|
+
const message = createBaseResponseCommit();
|
|
2570
|
+
while (reader.pos < end) {
|
|
2571
|
+
const tag = reader.uint32();
|
|
2572
|
+
switch (tag >>> 3) {
|
|
2573
|
+
case 2:
|
|
2574
|
+
message.data = reader.bytes();
|
|
2575
|
+
break;
|
|
2576
|
+
case 3:
|
|
2577
|
+
message.retainHeight = reader.int64();
|
|
2578
|
+
break;
|
|
2579
|
+
default:
|
|
2580
|
+
reader.skipType(tag & 7);
|
|
2581
|
+
break;
|
|
2582
|
+
}
|
|
2583
|
+
}
|
|
2584
|
+
return message;
|
|
2585
|
+
},
|
|
2586
|
+
fromJSON(object) {
|
|
2587
|
+
return {
|
|
2588
|
+
data: (0, helpers_1.isSet)(object.data) ? (0, helpers_1.bytesFromBase64)(object.data) : new Uint8Array(),
|
|
2589
|
+
retainHeight: (0, helpers_1.isSet)(object.retainHeight) ? helpers_1.Long.fromValue(object.retainHeight) : helpers_1.Long.ZERO
|
|
2590
|
+
};
|
|
2591
|
+
},
|
|
2592
|
+
toJSON(message) {
|
|
2593
|
+
const obj = {};
|
|
2594
|
+
message.data !== undefined && (obj.data = (0, helpers_1.base64FromBytes)(message.data !== undefined ? message.data : new Uint8Array()));
|
|
2595
|
+
message.retainHeight !== undefined && (obj.retainHeight = (message.retainHeight || helpers_1.Long.ZERO).toString());
|
|
2596
|
+
return obj;
|
|
2597
|
+
},
|
|
2598
|
+
fromPartial(object) {
|
|
2599
|
+
var _a;
|
|
2600
|
+
const message = createBaseResponseCommit();
|
|
2601
|
+
message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
2602
|
+
message.retainHeight = object.retainHeight !== undefined && object.retainHeight !== null ? helpers_1.Long.fromValue(object.retainHeight) : helpers_1.Long.ZERO;
|
|
2603
|
+
return message;
|
|
2604
|
+
}
|
|
2605
|
+
};
|
|
2606
|
+
function createBaseResponseListSnapshots() {
|
|
2607
|
+
return {
|
|
2608
|
+
snapshots: []
|
|
2609
|
+
};
|
|
2610
|
+
}
|
|
2611
|
+
exports.ResponseListSnapshots = {
|
|
2612
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2613
|
+
for (const v of message.snapshots) {
|
|
2614
|
+
exports.Snapshot.encode(v, writer.uint32(10).fork()).ldelim();
|
|
2615
|
+
}
|
|
2616
|
+
return writer;
|
|
2617
|
+
},
|
|
2618
|
+
decode(input, length) {
|
|
2619
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2620
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2621
|
+
const message = createBaseResponseListSnapshots();
|
|
2622
|
+
while (reader.pos < end) {
|
|
2623
|
+
const tag = reader.uint32();
|
|
2624
|
+
switch (tag >>> 3) {
|
|
2625
|
+
case 1:
|
|
2626
|
+
message.snapshots.push(exports.Snapshot.decode(reader, reader.uint32()));
|
|
2627
|
+
break;
|
|
2628
|
+
default:
|
|
2629
|
+
reader.skipType(tag & 7);
|
|
2630
|
+
break;
|
|
2631
|
+
}
|
|
2632
|
+
}
|
|
2633
|
+
return message;
|
|
2634
|
+
},
|
|
2635
|
+
fromJSON(object) {
|
|
2636
|
+
return {
|
|
2637
|
+
snapshots: Array.isArray(object === null || object === void 0 ? void 0 : object.snapshots) ? object.snapshots.map((e) => exports.Snapshot.fromJSON(e)) : []
|
|
2638
|
+
};
|
|
2639
|
+
},
|
|
2640
|
+
toJSON(message) {
|
|
2641
|
+
const obj = {};
|
|
2642
|
+
if (message.snapshots) {
|
|
2643
|
+
obj.snapshots = message.snapshots.map(e => e ? exports.Snapshot.toJSON(e) : undefined);
|
|
2644
|
+
}
|
|
2645
|
+
else {
|
|
2646
|
+
obj.snapshots = [];
|
|
2647
|
+
}
|
|
2648
|
+
return obj;
|
|
2649
|
+
},
|
|
2650
|
+
fromPartial(object) {
|
|
2651
|
+
var _a;
|
|
2652
|
+
const message = createBaseResponseListSnapshots();
|
|
2653
|
+
message.snapshots = ((_a = object.snapshots) === null || _a === void 0 ? void 0 : _a.map(e => exports.Snapshot.fromPartial(e))) || [];
|
|
2654
|
+
return message;
|
|
2655
|
+
}
|
|
2656
|
+
};
|
|
2657
|
+
function createBaseResponseOfferSnapshot() {
|
|
2658
|
+
return {
|
|
2659
|
+
result: 0
|
|
2660
|
+
};
|
|
2661
|
+
}
|
|
2662
|
+
exports.ResponseOfferSnapshot = {
|
|
2663
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2664
|
+
if (message.result !== 0) {
|
|
2665
|
+
writer.uint32(8).int32(message.result);
|
|
2666
|
+
}
|
|
2667
|
+
return writer;
|
|
2668
|
+
},
|
|
2669
|
+
decode(input, length) {
|
|
2670
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2671
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2672
|
+
const message = createBaseResponseOfferSnapshot();
|
|
2673
|
+
while (reader.pos < end) {
|
|
2674
|
+
const tag = reader.uint32();
|
|
2675
|
+
switch (tag >>> 3) {
|
|
2676
|
+
case 1:
|
|
2677
|
+
message.result = reader.int32();
|
|
2678
|
+
break;
|
|
2679
|
+
default:
|
|
2680
|
+
reader.skipType(tag & 7);
|
|
2681
|
+
break;
|
|
2682
|
+
}
|
|
2683
|
+
}
|
|
2684
|
+
return message;
|
|
2685
|
+
},
|
|
2686
|
+
fromJSON(object) {
|
|
2687
|
+
return {
|
|
2688
|
+
result: (0, helpers_1.isSet)(object.result) ? responseOfferSnapshot_ResultFromJSON(object.result) : 0
|
|
2689
|
+
};
|
|
2690
|
+
},
|
|
2691
|
+
toJSON(message) {
|
|
2692
|
+
const obj = {};
|
|
2693
|
+
message.result !== undefined && (obj.result = responseOfferSnapshot_ResultToJSON(message.result));
|
|
2694
|
+
return obj;
|
|
2695
|
+
},
|
|
2696
|
+
fromPartial(object) {
|
|
2697
|
+
var _a;
|
|
2698
|
+
const message = createBaseResponseOfferSnapshot();
|
|
2699
|
+
message.result = (_a = object.result) !== null && _a !== void 0 ? _a : 0;
|
|
2700
|
+
return message;
|
|
2701
|
+
}
|
|
2702
|
+
};
|
|
2703
|
+
function createBaseResponseLoadSnapshotChunk() {
|
|
2704
|
+
return {
|
|
2705
|
+
chunk: new Uint8Array()
|
|
2706
|
+
};
|
|
2707
|
+
}
|
|
2708
|
+
exports.ResponseLoadSnapshotChunk = {
|
|
2709
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2710
|
+
if (message.chunk.length !== 0) {
|
|
2711
|
+
writer.uint32(10).bytes(message.chunk);
|
|
2712
|
+
}
|
|
2713
|
+
return writer;
|
|
2714
|
+
},
|
|
2715
|
+
decode(input, length) {
|
|
2716
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2717
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2718
|
+
const message = createBaseResponseLoadSnapshotChunk();
|
|
2719
|
+
while (reader.pos < end) {
|
|
2720
|
+
const tag = reader.uint32();
|
|
2721
|
+
switch (tag >>> 3) {
|
|
2722
|
+
case 1:
|
|
2723
|
+
message.chunk = reader.bytes();
|
|
2724
|
+
break;
|
|
2725
|
+
default:
|
|
2726
|
+
reader.skipType(tag & 7);
|
|
2727
|
+
break;
|
|
2728
|
+
}
|
|
2729
|
+
}
|
|
2730
|
+
return message;
|
|
2731
|
+
},
|
|
2732
|
+
fromJSON(object) {
|
|
2733
|
+
return {
|
|
2734
|
+
chunk: (0, helpers_1.isSet)(object.chunk) ? (0, helpers_1.bytesFromBase64)(object.chunk) : new Uint8Array()
|
|
2735
|
+
};
|
|
2736
|
+
},
|
|
2737
|
+
toJSON(message) {
|
|
2738
|
+
const obj = {};
|
|
2739
|
+
message.chunk !== undefined && (obj.chunk = (0, helpers_1.base64FromBytes)(message.chunk !== undefined ? message.chunk : new Uint8Array()));
|
|
2740
|
+
return obj;
|
|
2741
|
+
},
|
|
2742
|
+
fromPartial(object) {
|
|
2743
|
+
var _a;
|
|
2744
|
+
const message = createBaseResponseLoadSnapshotChunk();
|
|
2745
|
+
message.chunk = (_a = object.chunk) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
2746
|
+
return message;
|
|
2747
|
+
}
|
|
2748
|
+
};
|
|
2749
|
+
function createBaseResponseApplySnapshotChunk() {
|
|
2750
|
+
return {
|
|
2751
|
+
result: 0,
|
|
2752
|
+
refetchChunks: [],
|
|
2753
|
+
rejectSenders: []
|
|
2754
|
+
};
|
|
2755
|
+
}
|
|
2756
|
+
exports.ResponseApplySnapshotChunk = {
|
|
2757
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2758
|
+
if (message.result !== 0) {
|
|
2759
|
+
writer.uint32(8).int32(message.result);
|
|
2760
|
+
}
|
|
2761
|
+
writer.uint32(18).fork();
|
|
2762
|
+
for (const v of message.refetchChunks) {
|
|
2763
|
+
writer.uint32(v);
|
|
2764
|
+
}
|
|
2765
|
+
writer.ldelim();
|
|
2766
|
+
for (const v of message.rejectSenders) {
|
|
2767
|
+
writer.uint32(26).string(v);
|
|
2768
|
+
}
|
|
2769
|
+
return writer;
|
|
2770
|
+
},
|
|
2771
|
+
decode(input, length) {
|
|
2772
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2773
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2774
|
+
const message = createBaseResponseApplySnapshotChunk();
|
|
2775
|
+
while (reader.pos < end) {
|
|
2776
|
+
const tag = reader.uint32();
|
|
2777
|
+
switch (tag >>> 3) {
|
|
2778
|
+
case 1:
|
|
2779
|
+
message.result = reader.int32();
|
|
2780
|
+
break;
|
|
2781
|
+
case 2:
|
|
2782
|
+
if ((tag & 7) === 2) {
|
|
2783
|
+
const end2 = reader.uint32() + reader.pos;
|
|
2784
|
+
while (reader.pos < end2) {
|
|
2785
|
+
message.refetchChunks.push(reader.uint32());
|
|
2786
|
+
}
|
|
2787
|
+
}
|
|
2788
|
+
else {
|
|
2789
|
+
message.refetchChunks.push(reader.uint32());
|
|
2790
|
+
}
|
|
2791
|
+
break;
|
|
2792
|
+
case 3:
|
|
2793
|
+
message.rejectSenders.push(reader.string());
|
|
2794
|
+
break;
|
|
2795
|
+
default:
|
|
2796
|
+
reader.skipType(tag & 7);
|
|
2797
|
+
break;
|
|
2798
|
+
}
|
|
2799
|
+
}
|
|
2800
|
+
return message;
|
|
2801
|
+
},
|
|
2802
|
+
fromJSON(object) {
|
|
2803
|
+
return {
|
|
2804
|
+
result: (0, helpers_1.isSet)(object.result) ? responseApplySnapshotChunk_ResultFromJSON(object.result) : 0,
|
|
2805
|
+
refetchChunks: Array.isArray(object === null || object === void 0 ? void 0 : object.refetchChunks) ? object.refetchChunks.map((e) => Number(e)) : [],
|
|
2806
|
+
rejectSenders: Array.isArray(object === null || object === void 0 ? void 0 : object.rejectSenders) ? object.rejectSenders.map((e) => String(e)) : []
|
|
2807
|
+
};
|
|
2808
|
+
},
|
|
2809
|
+
toJSON(message) {
|
|
2810
|
+
const obj = {};
|
|
2811
|
+
message.result !== undefined && (obj.result = responseApplySnapshotChunk_ResultToJSON(message.result));
|
|
2812
|
+
if (message.refetchChunks) {
|
|
2813
|
+
obj.refetchChunks = message.refetchChunks.map(e => Math.round(e));
|
|
2814
|
+
}
|
|
2815
|
+
else {
|
|
2816
|
+
obj.refetchChunks = [];
|
|
2817
|
+
}
|
|
2818
|
+
if (message.rejectSenders) {
|
|
2819
|
+
obj.rejectSenders = message.rejectSenders.map(e => e);
|
|
2820
|
+
}
|
|
2821
|
+
else {
|
|
2822
|
+
obj.rejectSenders = [];
|
|
2823
|
+
}
|
|
2824
|
+
return obj;
|
|
2825
|
+
},
|
|
2826
|
+
fromPartial(object) {
|
|
2827
|
+
var _a, _b, _c;
|
|
2828
|
+
const message = createBaseResponseApplySnapshotChunk();
|
|
2829
|
+
message.result = (_a = object.result) !== null && _a !== void 0 ? _a : 0;
|
|
2830
|
+
message.refetchChunks = ((_b = object.refetchChunks) === null || _b === void 0 ? void 0 : _b.map(e => e)) || [];
|
|
2831
|
+
message.rejectSenders = ((_c = object.rejectSenders) === null || _c === void 0 ? void 0 : _c.map(e => e)) || [];
|
|
2832
|
+
return message;
|
|
2833
|
+
}
|
|
2834
|
+
};
|
|
2835
|
+
function createBaseResponsePrepareProposal() {
|
|
2836
|
+
return {
|
|
2837
|
+
txs: []
|
|
2838
|
+
};
|
|
2839
|
+
}
|
|
2840
|
+
exports.ResponsePrepareProposal = {
|
|
2841
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2842
|
+
for (const v of message.txs) {
|
|
2843
|
+
writer.uint32(10).bytes(v);
|
|
2844
|
+
}
|
|
2845
|
+
return writer;
|
|
2846
|
+
},
|
|
2847
|
+
decode(input, length) {
|
|
2848
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2849
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2850
|
+
const message = createBaseResponsePrepareProposal();
|
|
2851
|
+
while (reader.pos < end) {
|
|
2852
|
+
const tag = reader.uint32();
|
|
2853
|
+
switch (tag >>> 3) {
|
|
2854
|
+
case 1:
|
|
2855
|
+
message.txs.push(reader.bytes());
|
|
2856
|
+
break;
|
|
2857
|
+
default:
|
|
2858
|
+
reader.skipType(tag & 7);
|
|
2859
|
+
break;
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
return message;
|
|
2863
|
+
},
|
|
2864
|
+
fromJSON(object) {
|
|
2865
|
+
return {
|
|
2866
|
+
txs: Array.isArray(object === null || object === void 0 ? void 0 : object.txs) ? object.txs.map((e) => (0, helpers_1.bytesFromBase64)(e)) : []
|
|
2867
|
+
};
|
|
2868
|
+
},
|
|
2869
|
+
toJSON(message) {
|
|
2870
|
+
const obj = {};
|
|
2871
|
+
if (message.txs) {
|
|
2872
|
+
obj.txs = message.txs.map(e => (0, helpers_1.base64FromBytes)(e !== undefined ? e : new Uint8Array()));
|
|
2873
|
+
}
|
|
2874
|
+
else {
|
|
2875
|
+
obj.txs = [];
|
|
2876
|
+
}
|
|
2877
|
+
return obj;
|
|
2878
|
+
},
|
|
2879
|
+
fromPartial(object) {
|
|
2880
|
+
var _a;
|
|
2881
|
+
const message = createBaseResponsePrepareProposal();
|
|
2882
|
+
message.txs = ((_a = object.txs) === null || _a === void 0 ? void 0 : _a.map(e => e)) || [];
|
|
2883
|
+
return message;
|
|
2884
|
+
}
|
|
2885
|
+
};
|
|
2886
|
+
function createBaseResponseProcessProposal() {
|
|
2887
|
+
return {
|
|
2888
|
+
status: 0
|
|
2889
|
+
};
|
|
2890
|
+
}
|
|
2891
|
+
exports.ResponseProcessProposal = {
|
|
2892
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2893
|
+
if (message.status !== 0) {
|
|
2894
|
+
writer.uint32(8).int32(message.status);
|
|
2895
|
+
}
|
|
2896
|
+
return writer;
|
|
2897
|
+
},
|
|
2898
|
+
decode(input, length) {
|
|
2899
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2900
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2901
|
+
const message = createBaseResponseProcessProposal();
|
|
2902
|
+
while (reader.pos < end) {
|
|
2903
|
+
const tag = reader.uint32();
|
|
2904
|
+
switch (tag >>> 3) {
|
|
2905
|
+
case 1:
|
|
2906
|
+
message.status = reader.int32();
|
|
2907
|
+
break;
|
|
2908
|
+
default:
|
|
2909
|
+
reader.skipType(tag & 7);
|
|
2910
|
+
break;
|
|
2911
|
+
}
|
|
2912
|
+
}
|
|
2913
|
+
return message;
|
|
2914
|
+
},
|
|
2915
|
+
fromJSON(object) {
|
|
2916
|
+
return {
|
|
2917
|
+
status: (0, helpers_1.isSet)(object.status) ? responseProcessProposal_ProposalStatusFromJSON(object.status) : 0
|
|
2918
|
+
};
|
|
2919
|
+
},
|
|
2920
|
+
toJSON(message) {
|
|
2921
|
+
const obj = {};
|
|
2922
|
+
message.status !== undefined && (obj.status = responseProcessProposal_ProposalStatusToJSON(message.status));
|
|
2923
|
+
return obj;
|
|
2924
|
+
},
|
|
2925
|
+
fromPartial(object) {
|
|
2926
|
+
var _a;
|
|
2927
|
+
const message = createBaseResponseProcessProposal();
|
|
2928
|
+
message.status = (_a = object.status) !== null && _a !== void 0 ? _a : 0;
|
|
2929
|
+
return message;
|
|
2930
|
+
}
|
|
2931
|
+
};
|
|
2932
|
+
function createBaseCommitInfo() {
|
|
2933
|
+
return {
|
|
2934
|
+
round: 0,
|
|
2935
|
+
votes: []
|
|
2936
|
+
};
|
|
2937
|
+
}
|
|
2938
|
+
exports.CommitInfo = {
|
|
2939
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
2940
|
+
if (message.round !== 0) {
|
|
2941
|
+
writer.uint32(8).int32(message.round);
|
|
2942
|
+
}
|
|
2943
|
+
for (const v of message.votes) {
|
|
2944
|
+
exports.VoteInfo.encode(v, writer.uint32(18).fork()).ldelim();
|
|
2945
|
+
}
|
|
2946
|
+
return writer;
|
|
2947
|
+
},
|
|
2948
|
+
decode(input, length) {
|
|
2949
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
2950
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
2951
|
+
const message = createBaseCommitInfo();
|
|
2952
|
+
while (reader.pos < end) {
|
|
2953
|
+
const tag = reader.uint32();
|
|
2954
|
+
switch (tag >>> 3) {
|
|
2955
|
+
case 1:
|
|
2956
|
+
message.round = reader.int32();
|
|
2957
|
+
break;
|
|
2958
|
+
case 2:
|
|
2959
|
+
message.votes.push(exports.VoteInfo.decode(reader, reader.uint32()));
|
|
2960
|
+
break;
|
|
2961
|
+
default:
|
|
2962
|
+
reader.skipType(tag & 7);
|
|
2963
|
+
break;
|
|
2964
|
+
}
|
|
2965
|
+
}
|
|
2966
|
+
return message;
|
|
2967
|
+
},
|
|
2968
|
+
fromJSON(object) {
|
|
2969
|
+
return {
|
|
2970
|
+
round: (0, helpers_1.isSet)(object.round) ? Number(object.round) : 0,
|
|
2971
|
+
votes: Array.isArray(object === null || object === void 0 ? void 0 : object.votes) ? object.votes.map((e) => exports.VoteInfo.fromJSON(e)) : []
|
|
2972
|
+
};
|
|
2973
|
+
},
|
|
2974
|
+
toJSON(message) {
|
|
2975
|
+
const obj = {};
|
|
2976
|
+
message.round !== undefined && (obj.round = Math.round(message.round));
|
|
2977
|
+
if (message.votes) {
|
|
2978
|
+
obj.votes = message.votes.map(e => e ? exports.VoteInfo.toJSON(e) : undefined);
|
|
2979
|
+
}
|
|
2980
|
+
else {
|
|
2981
|
+
obj.votes = [];
|
|
2982
|
+
}
|
|
2983
|
+
return obj;
|
|
2984
|
+
},
|
|
2985
|
+
fromPartial(object) {
|
|
2986
|
+
var _a, _b;
|
|
2987
|
+
const message = createBaseCommitInfo();
|
|
2988
|
+
message.round = (_a = object.round) !== null && _a !== void 0 ? _a : 0;
|
|
2989
|
+
message.votes = ((_b = object.votes) === null || _b === void 0 ? void 0 : _b.map(e => exports.VoteInfo.fromPartial(e))) || [];
|
|
2990
|
+
return message;
|
|
2991
|
+
}
|
|
2992
|
+
};
|
|
2993
|
+
function createBaseExtendedCommitInfo() {
|
|
2994
|
+
return {
|
|
2995
|
+
round: 0,
|
|
2996
|
+
votes: []
|
|
2997
|
+
};
|
|
2998
|
+
}
|
|
2999
|
+
exports.ExtendedCommitInfo = {
|
|
3000
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3001
|
+
if (message.round !== 0) {
|
|
3002
|
+
writer.uint32(8).int32(message.round);
|
|
3003
|
+
}
|
|
3004
|
+
for (const v of message.votes) {
|
|
3005
|
+
exports.ExtendedVoteInfo.encode(v, writer.uint32(18).fork()).ldelim();
|
|
3006
|
+
}
|
|
3007
|
+
return writer;
|
|
3008
|
+
},
|
|
3009
|
+
decode(input, length) {
|
|
3010
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3011
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3012
|
+
const message = createBaseExtendedCommitInfo();
|
|
3013
|
+
while (reader.pos < end) {
|
|
3014
|
+
const tag = reader.uint32();
|
|
3015
|
+
switch (tag >>> 3) {
|
|
3016
|
+
case 1:
|
|
3017
|
+
message.round = reader.int32();
|
|
3018
|
+
break;
|
|
3019
|
+
case 2:
|
|
3020
|
+
message.votes.push(exports.ExtendedVoteInfo.decode(reader, reader.uint32()));
|
|
3021
|
+
break;
|
|
3022
|
+
default:
|
|
3023
|
+
reader.skipType(tag & 7);
|
|
3024
|
+
break;
|
|
3025
|
+
}
|
|
3026
|
+
}
|
|
3027
|
+
return message;
|
|
3028
|
+
},
|
|
3029
|
+
fromJSON(object) {
|
|
3030
|
+
return {
|
|
3031
|
+
round: (0, helpers_1.isSet)(object.round) ? Number(object.round) : 0,
|
|
3032
|
+
votes: Array.isArray(object === null || object === void 0 ? void 0 : object.votes) ? object.votes.map((e) => exports.ExtendedVoteInfo.fromJSON(e)) : []
|
|
3033
|
+
};
|
|
3034
|
+
},
|
|
3035
|
+
toJSON(message) {
|
|
3036
|
+
const obj = {};
|
|
3037
|
+
message.round !== undefined && (obj.round = Math.round(message.round));
|
|
3038
|
+
if (message.votes) {
|
|
3039
|
+
obj.votes = message.votes.map(e => e ? exports.ExtendedVoteInfo.toJSON(e) : undefined);
|
|
3040
|
+
}
|
|
3041
|
+
else {
|
|
3042
|
+
obj.votes = [];
|
|
3043
|
+
}
|
|
3044
|
+
return obj;
|
|
3045
|
+
},
|
|
3046
|
+
fromPartial(object) {
|
|
3047
|
+
var _a, _b;
|
|
3048
|
+
const message = createBaseExtendedCommitInfo();
|
|
3049
|
+
message.round = (_a = object.round) !== null && _a !== void 0 ? _a : 0;
|
|
3050
|
+
message.votes = ((_b = object.votes) === null || _b === void 0 ? void 0 : _b.map(e => exports.ExtendedVoteInfo.fromPartial(e))) || [];
|
|
3051
|
+
return message;
|
|
3052
|
+
}
|
|
3053
|
+
};
|
|
3054
|
+
function createBaseEvent() {
|
|
3055
|
+
return {
|
|
3056
|
+
type: "",
|
|
3057
|
+
attributes: []
|
|
3058
|
+
};
|
|
3059
|
+
}
|
|
3060
|
+
exports.Event = {
|
|
3061
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3062
|
+
if (message.type !== "") {
|
|
3063
|
+
writer.uint32(10).string(message.type);
|
|
3064
|
+
}
|
|
3065
|
+
for (const v of message.attributes) {
|
|
3066
|
+
exports.EventAttribute.encode(v, writer.uint32(18).fork()).ldelim();
|
|
3067
|
+
}
|
|
3068
|
+
return writer;
|
|
3069
|
+
},
|
|
3070
|
+
decode(input, length) {
|
|
3071
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3072
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3073
|
+
const message = createBaseEvent();
|
|
3074
|
+
while (reader.pos < end) {
|
|
3075
|
+
const tag = reader.uint32();
|
|
3076
|
+
switch (tag >>> 3) {
|
|
3077
|
+
case 1:
|
|
3078
|
+
message.type = reader.string();
|
|
3079
|
+
break;
|
|
3080
|
+
case 2:
|
|
3081
|
+
message.attributes.push(exports.EventAttribute.decode(reader, reader.uint32()));
|
|
3082
|
+
break;
|
|
3083
|
+
default:
|
|
3084
|
+
reader.skipType(tag & 7);
|
|
3085
|
+
break;
|
|
3086
|
+
}
|
|
3087
|
+
}
|
|
3088
|
+
return message;
|
|
3089
|
+
},
|
|
3090
|
+
fromJSON(object) {
|
|
3091
|
+
return {
|
|
3092
|
+
type: (0, helpers_1.isSet)(object.type) ? String(object.type) : "",
|
|
3093
|
+
attributes: Array.isArray(object === null || object === void 0 ? void 0 : object.attributes) ? object.attributes.map((e) => exports.EventAttribute.fromJSON(e)) : []
|
|
3094
|
+
};
|
|
3095
|
+
},
|
|
3096
|
+
toJSON(message) {
|
|
3097
|
+
const obj = {};
|
|
3098
|
+
message.type !== undefined && (obj.type = message.type);
|
|
3099
|
+
if (message.attributes) {
|
|
3100
|
+
obj.attributes = message.attributes.map(e => e ? exports.EventAttribute.toJSON(e) : undefined);
|
|
3101
|
+
}
|
|
3102
|
+
else {
|
|
3103
|
+
obj.attributes = [];
|
|
3104
|
+
}
|
|
3105
|
+
return obj;
|
|
3106
|
+
},
|
|
3107
|
+
fromPartial(object) {
|
|
3108
|
+
var _a, _b;
|
|
3109
|
+
const message = createBaseEvent();
|
|
3110
|
+
message.type = (_a = object.type) !== null && _a !== void 0 ? _a : "";
|
|
3111
|
+
message.attributes = ((_b = object.attributes) === null || _b === void 0 ? void 0 : _b.map(e => exports.EventAttribute.fromPartial(e))) || [];
|
|
3112
|
+
return message;
|
|
3113
|
+
}
|
|
3114
|
+
};
|
|
3115
|
+
function createBaseEventAttribute() {
|
|
3116
|
+
return {
|
|
3117
|
+
key: "",
|
|
3118
|
+
value: "",
|
|
3119
|
+
index: false
|
|
3120
|
+
};
|
|
3121
|
+
}
|
|
3122
|
+
exports.EventAttribute = {
|
|
3123
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3124
|
+
if (message.key !== "") {
|
|
3125
|
+
writer.uint32(10).string(message.key);
|
|
3126
|
+
}
|
|
3127
|
+
if (message.value !== "") {
|
|
3128
|
+
writer.uint32(18).string(message.value);
|
|
3129
|
+
}
|
|
3130
|
+
if (message.index === true) {
|
|
3131
|
+
writer.uint32(24).bool(message.index);
|
|
3132
|
+
}
|
|
3133
|
+
return writer;
|
|
3134
|
+
},
|
|
3135
|
+
decode(input, length) {
|
|
3136
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3137
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3138
|
+
const message = createBaseEventAttribute();
|
|
3139
|
+
while (reader.pos < end) {
|
|
3140
|
+
const tag = reader.uint32();
|
|
3141
|
+
switch (tag >>> 3) {
|
|
3142
|
+
case 1:
|
|
3143
|
+
message.key = reader.string();
|
|
3144
|
+
break;
|
|
3145
|
+
case 2:
|
|
3146
|
+
message.value = reader.string();
|
|
3147
|
+
break;
|
|
3148
|
+
case 3:
|
|
3149
|
+
message.index = reader.bool();
|
|
3150
|
+
break;
|
|
3151
|
+
default:
|
|
3152
|
+
reader.skipType(tag & 7);
|
|
3153
|
+
break;
|
|
3154
|
+
}
|
|
3155
|
+
}
|
|
3156
|
+
return message;
|
|
3157
|
+
},
|
|
3158
|
+
fromJSON(object) {
|
|
3159
|
+
return {
|
|
3160
|
+
key: (0, helpers_1.isSet)(object.key) ? String(object.key) : "",
|
|
3161
|
+
value: (0, helpers_1.isSet)(object.value) ? String(object.value) : "",
|
|
3162
|
+
index: (0, helpers_1.isSet)(object.index) ? Boolean(object.index) : false
|
|
3163
|
+
};
|
|
3164
|
+
},
|
|
3165
|
+
toJSON(message) {
|
|
3166
|
+
const obj = {};
|
|
3167
|
+
message.key !== undefined && (obj.key = message.key);
|
|
3168
|
+
message.value !== undefined && (obj.value = message.value);
|
|
3169
|
+
message.index !== undefined && (obj.index = message.index);
|
|
3170
|
+
return obj;
|
|
3171
|
+
},
|
|
3172
|
+
fromPartial(object) {
|
|
3173
|
+
var _a, _b, _c;
|
|
3174
|
+
const message = createBaseEventAttribute();
|
|
3175
|
+
message.key = (_a = object.key) !== null && _a !== void 0 ? _a : "";
|
|
3176
|
+
message.value = (_b = object.value) !== null && _b !== void 0 ? _b : "";
|
|
3177
|
+
message.index = (_c = object.index) !== null && _c !== void 0 ? _c : false;
|
|
3178
|
+
return message;
|
|
3179
|
+
}
|
|
3180
|
+
};
|
|
3181
|
+
function createBaseTxResult() {
|
|
3182
|
+
return {
|
|
3183
|
+
height: helpers_1.Long.ZERO,
|
|
3184
|
+
index: 0,
|
|
3185
|
+
tx: new Uint8Array(),
|
|
3186
|
+
result: undefined
|
|
3187
|
+
};
|
|
3188
|
+
}
|
|
3189
|
+
exports.TxResult = {
|
|
3190
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3191
|
+
if (!message.height.isZero()) {
|
|
3192
|
+
writer.uint32(8).int64(message.height);
|
|
3193
|
+
}
|
|
3194
|
+
if (message.index !== 0) {
|
|
3195
|
+
writer.uint32(16).uint32(message.index);
|
|
3196
|
+
}
|
|
3197
|
+
if (message.tx.length !== 0) {
|
|
3198
|
+
writer.uint32(26).bytes(message.tx);
|
|
3199
|
+
}
|
|
3200
|
+
if (message.result !== undefined) {
|
|
3201
|
+
exports.ResponseDeliverTx.encode(message.result, writer.uint32(34).fork()).ldelim();
|
|
3202
|
+
}
|
|
3203
|
+
return writer;
|
|
3204
|
+
},
|
|
3205
|
+
decode(input, length) {
|
|
3206
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3207
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3208
|
+
const message = createBaseTxResult();
|
|
3209
|
+
while (reader.pos < end) {
|
|
3210
|
+
const tag = reader.uint32();
|
|
3211
|
+
switch (tag >>> 3) {
|
|
3212
|
+
case 1:
|
|
3213
|
+
message.height = reader.int64();
|
|
3214
|
+
break;
|
|
3215
|
+
case 2:
|
|
3216
|
+
message.index = reader.uint32();
|
|
3217
|
+
break;
|
|
3218
|
+
case 3:
|
|
3219
|
+
message.tx = reader.bytes();
|
|
3220
|
+
break;
|
|
3221
|
+
case 4:
|
|
3222
|
+
message.result = exports.ResponseDeliverTx.decode(reader, reader.uint32());
|
|
3223
|
+
break;
|
|
3224
|
+
default:
|
|
3225
|
+
reader.skipType(tag & 7);
|
|
3226
|
+
break;
|
|
3227
|
+
}
|
|
3228
|
+
}
|
|
3229
|
+
return message;
|
|
3230
|
+
},
|
|
3231
|
+
fromJSON(object) {
|
|
3232
|
+
return {
|
|
3233
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
|
|
3234
|
+
index: (0, helpers_1.isSet)(object.index) ? Number(object.index) : 0,
|
|
3235
|
+
tx: (0, helpers_1.isSet)(object.tx) ? (0, helpers_1.bytesFromBase64)(object.tx) : new Uint8Array(),
|
|
3236
|
+
result: (0, helpers_1.isSet)(object.result) ? exports.ResponseDeliverTx.fromJSON(object.result) : undefined
|
|
3237
|
+
};
|
|
3238
|
+
},
|
|
3239
|
+
toJSON(message) {
|
|
3240
|
+
const obj = {};
|
|
3241
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
3242
|
+
message.index !== undefined && (obj.index = Math.round(message.index));
|
|
3243
|
+
message.tx !== undefined && (obj.tx = (0, helpers_1.base64FromBytes)(message.tx !== undefined ? message.tx : new Uint8Array()));
|
|
3244
|
+
message.result !== undefined && (obj.result = message.result ? exports.ResponseDeliverTx.toJSON(message.result) : undefined);
|
|
3245
|
+
return obj;
|
|
3246
|
+
},
|
|
3247
|
+
fromPartial(object) {
|
|
3248
|
+
var _a, _b;
|
|
3249
|
+
const message = createBaseTxResult();
|
|
3250
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
3251
|
+
message.index = (_a = object.index) !== null && _a !== void 0 ? _a : 0;
|
|
3252
|
+
message.tx = (_b = object.tx) !== null && _b !== void 0 ? _b : new Uint8Array();
|
|
3253
|
+
message.result = object.result !== undefined && object.result !== null ? exports.ResponseDeliverTx.fromPartial(object.result) : undefined;
|
|
3254
|
+
return message;
|
|
3255
|
+
}
|
|
3256
|
+
};
|
|
3257
|
+
function createBaseValidator() {
|
|
3258
|
+
return {
|
|
3259
|
+
address: new Uint8Array(),
|
|
3260
|
+
power: helpers_1.Long.ZERO
|
|
3261
|
+
};
|
|
3262
|
+
}
|
|
3263
|
+
exports.Validator = {
|
|
3264
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3265
|
+
if (message.address.length !== 0) {
|
|
3266
|
+
writer.uint32(10).bytes(message.address);
|
|
3267
|
+
}
|
|
3268
|
+
if (!message.power.isZero()) {
|
|
3269
|
+
writer.uint32(24).int64(message.power);
|
|
3270
|
+
}
|
|
3271
|
+
return writer;
|
|
3272
|
+
},
|
|
3273
|
+
decode(input, length) {
|
|
3274
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3275
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3276
|
+
const message = createBaseValidator();
|
|
3277
|
+
while (reader.pos < end) {
|
|
3278
|
+
const tag = reader.uint32();
|
|
3279
|
+
switch (tag >>> 3) {
|
|
3280
|
+
case 1:
|
|
3281
|
+
message.address = reader.bytes();
|
|
3282
|
+
break;
|
|
3283
|
+
case 3:
|
|
3284
|
+
message.power = reader.int64();
|
|
3285
|
+
break;
|
|
3286
|
+
default:
|
|
3287
|
+
reader.skipType(tag & 7);
|
|
3288
|
+
break;
|
|
3289
|
+
}
|
|
3290
|
+
}
|
|
3291
|
+
return message;
|
|
3292
|
+
},
|
|
3293
|
+
fromJSON(object) {
|
|
3294
|
+
return {
|
|
3295
|
+
address: (0, helpers_1.isSet)(object.address) ? (0, helpers_1.bytesFromBase64)(object.address) : new Uint8Array(),
|
|
3296
|
+
power: (0, helpers_1.isSet)(object.power) ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO
|
|
3297
|
+
};
|
|
3298
|
+
},
|
|
3299
|
+
toJSON(message) {
|
|
3300
|
+
const obj = {};
|
|
3301
|
+
message.address !== undefined && (obj.address = (0, helpers_1.base64FromBytes)(message.address !== undefined ? message.address : new Uint8Array()));
|
|
3302
|
+
message.power !== undefined && (obj.power = (message.power || helpers_1.Long.ZERO).toString());
|
|
3303
|
+
return obj;
|
|
3304
|
+
},
|
|
3305
|
+
fromPartial(object) {
|
|
3306
|
+
var _a;
|
|
3307
|
+
const message = createBaseValidator();
|
|
3308
|
+
message.address = (_a = object.address) !== null && _a !== void 0 ? _a : new Uint8Array();
|
|
3309
|
+
message.power = object.power !== undefined && object.power !== null ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO;
|
|
3310
|
+
return message;
|
|
3311
|
+
}
|
|
3312
|
+
};
|
|
3313
|
+
function createBaseValidatorUpdate() {
|
|
3314
|
+
return {
|
|
3315
|
+
pubKey: undefined,
|
|
3316
|
+
power: helpers_1.Long.ZERO
|
|
3317
|
+
};
|
|
3318
|
+
}
|
|
3319
|
+
exports.ValidatorUpdate = {
|
|
3320
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3321
|
+
if (message.pubKey !== undefined) {
|
|
3322
|
+
keys_1.PublicKey.encode(message.pubKey, writer.uint32(10).fork()).ldelim();
|
|
3323
|
+
}
|
|
3324
|
+
if (!message.power.isZero()) {
|
|
3325
|
+
writer.uint32(16).int64(message.power);
|
|
3326
|
+
}
|
|
3327
|
+
return writer;
|
|
3328
|
+
},
|
|
3329
|
+
decode(input, length) {
|
|
3330
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3331
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3332
|
+
const message = createBaseValidatorUpdate();
|
|
3333
|
+
while (reader.pos < end) {
|
|
3334
|
+
const tag = reader.uint32();
|
|
3335
|
+
switch (tag >>> 3) {
|
|
3336
|
+
case 1:
|
|
3337
|
+
message.pubKey = keys_1.PublicKey.decode(reader, reader.uint32());
|
|
3338
|
+
break;
|
|
3339
|
+
case 2:
|
|
3340
|
+
message.power = reader.int64();
|
|
3341
|
+
break;
|
|
3342
|
+
default:
|
|
3343
|
+
reader.skipType(tag & 7);
|
|
3344
|
+
break;
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3347
|
+
return message;
|
|
3348
|
+
},
|
|
3349
|
+
fromJSON(object) {
|
|
3350
|
+
return {
|
|
3351
|
+
pubKey: (0, helpers_1.isSet)(object.pubKey) ? keys_1.PublicKey.fromJSON(object.pubKey) : undefined,
|
|
3352
|
+
power: (0, helpers_1.isSet)(object.power) ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO
|
|
3353
|
+
};
|
|
3354
|
+
},
|
|
3355
|
+
toJSON(message) {
|
|
3356
|
+
const obj = {};
|
|
3357
|
+
message.pubKey !== undefined && (obj.pubKey = message.pubKey ? keys_1.PublicKey.toJSON(message.pubKey) : undefined);
|
|
3358
|
+
message.power !== undefined && (obj.power = (message.power || helpers_1.Long.ZERO).toString());
|
|
3359
|
+
return obj;
|
|
3360
|
+
},
|
|
3361
|
+
fromPartial(object) {
|
|
3362
|
+
const message = createBaseValidatorUpdate();
|
|
3363
|
+
message.pubKey = object.pubKey !== undefined && object.pubKey !== null ? keys_1.PublicKey.fromPartial(object.pubKey) : undefined;
|
|
3364
|
+
message.power = object.power !== undefined && object.power !== null ? helpers_1.Long.fromValue(object.power) : helpers_1.Long.ZERO;
|
|
3365
|
+
return message;
|
|
3366
|
+
}
|
|
3367
|
+
};
|
|
3368
|
+
function createBaseVoteInfo() {
|
|
3369
|
+
return {
|
|
3370
|
+
validator: undefined,
|
|
3371
|
+
signedLastBlock: false
|
|
3372
|
+
};
|
|
3373
|
+
}
|
|
3374
|
+
exports.VoteInfo = {
|
|
3375
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3376
|
+
if (message.validator !== undefined) {
|
|
3377
|
+
exports.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
|
|
3378
|
+
}
|
|
3379
|
+
if (message.signedLastBlock === true) {
|
|
3380
|
+
writer.uint32(16).bool(message.signedLastBlock);
|
|
3381
|
+
}
|
|
3382
|
+
return writer;
|
|
3383
|
+
},
|
|
3384
|
+
decode(input, length) {
|
|
3385
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3386
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3387
|
+
const message = createBaseVoteInfo();
|
|
3388
|
+
while (reader.pos < end) {
|
|
3389
|
+
const tag = reader.uint32();
|
|
3390
|
+
switch (tag >>> 3) {
|
|
3391
|
+
case 1:
|
|
3392
|
+
message.validator = exports.Validator.decode(reader, reader.uint32());
|
|
3393
|
+
break;
|
|
3394
|
+
case 2:
|
|
3395
|
+
message.signedLastBlock = reader.bool();
|
|
3396
|
+
break;
|
|
3397
|
+
default:
|
|
3398
|
+
reader.skipType(tag & 7);
|
|
3399
|
+
break;
|
|
3400
|
+
}
|
|
3401
|
+
}
|
|
3402
|
+
return message;
|
|
3403
|
+
},
|
|
3404
|
+
fromJSON(object) {
|
|
3405
|
+
return {
|
|
3406
|
+
validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
|
|
3407
|
+
signedLastBlock: (0, helpers_1.isSet)(object.signedLastBlock) ? Boolean(object.signedLastBlock) : false
|
|
3408
|
+
};
|
|
3409
|
+
},
|
|
3410
|
+
toJSON(message) {
|
|
3411
|
+
const obj = {};
|
|
3412
|
+
message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
|
|
3413
|
+
message.signedLastBlock !== undefined && (obj.signedLastBlock = message.signedLastBlock);
|
|
3414
|
+
return obj;
|
|
3415
|
+
},
|
|
3416
|
+
fromPartial(object) {
|
|
3417
|
+
var _a;
|
|
3418
|
+
const message = createBaseVoteInfo();
|
|
3419
|
+
message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
|
|
3420
|
+
message.signedLastBlock = (_a = object.signedLastBlock) !== null && _a !== void 0 ? _a : false;
|
|
3421
|
+
return message;
|
|
3422
|
+
}
|
|
3423
|
+
};
|
|
3424
|
+
function createBaseExtendedVoteInfo() {
|
|
3425
|
+
return {
|
|
3426
|
+
validator: undefined,
|
|
3427
|
+
signedLastBlock: false,
|
|
3428
|
+
voteExtension: new Uint8Array()
|
|
3429
|
+
};
|
|
3430
|
+
}
|
|
3431
|
+
exports.ExtendedVoteInfo = {
|
|
3432
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3433
|
+
if (message.validator !== undefined) {
|
|
3434
|
+
exports.Validator.encode(message.validator, writer.uint32(10).fork()).ldelim();
|
|
3435
|
+
}
|
|
3436
|
+
if (message.signedLastBlock === true) {
|
|
3437
|
+
writer.uint32(16).bool(message.signedLastBlock);
|
|
3438
|
+
}
|
|
3439
|
+
if (message.voteExtension.length !== 0) {
|
|
3440
|
+
writer.uint32(26).bytes(message.voteExtension);
|
|
3441
|
+
}
|
|
3442
|
+
return writer;
|
|
3443
|
+
},
|
|
3444
|
+
decode(input, length) {
|
|
3445
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3446
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3447
|
+
const message = createBaseExtendedVoteInfo();
|
|
3448
|
+
while (reader.pos < end) {
|
|
3449
|
+
const tag = reader.uint32();
|
|
3450
|
+
switch (tag >>> 3) {
|
|
3451
|
+
case 1:
|
|
3452
|
+
message.validator = exports.Validator.decode(reader, reader.uint32());
|
|
3453
|
+
break;
|
|
3454
|
+
case 2:
|
|
3455
|
+
message.signedLastBlock = reader.bool();
|
|
3456
|
+
break;
|
|
3457
|
+
case 3:
|
|
3458
|
+
message.voteExtension = reader.bytes();
|
|
3459
|
+
break;
|
|
3460
|
+
default:
|
|
3461
|
+
reader.skipType(tag & 7);
|
|
3462
|
+
break;
|
|
3463
|
+
}
|
|
3464
|
+
}
|
|
3465
|
+
return message;
|
|
3466
|
+
},
|
|
3467
|
+
fromJSON(object) {
|
|
3468
|
+
return {
|
|
3469
|
+
validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
|
|
3470
|
+
signedLastBlock: (0, helpers_1.isSet)(object.signedLastBlock) ? Boolean(object.signedLastBlock) : false,
|
|
3471
|
+
voteExtension: (0, helpers_1.isSet)(object.voteExtension) ? (0, helpers_1.bytesFromBase64)(object.voteExtension) : new Uint8Array()
|
|
3472
|
+
};
|
|
3473
|
+
},
|
|
3474
|
+
toJSON(message) {
|
|
3475
|
+
const obj = {};
|
|
3476
|
+
message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
|
|
3477
|
+
message.signedLastBlock !== undefined && (obj.signedLastBlock = message.signedLastBlock);
|
|
3478
|
+
message.voteExtension !== undefined && (obj.voteExtension = (0, helpers_1.base64FromBytes)(message.voteExtension !== undefined ? message.voteExtension : new Uint8Array()));
|
|
3479
|
+
return obj;
|
|
3480
|
+
},
|
|
3481
|
+
fromPartial(object) {
|
|
3482
|
+
var _a, _b;
|
|
3483
|
+
const message = createBaseExtendedVoteInfo();
|
|
3484
|
+
message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
|
|
3485
|
+
message.signedLastBlock = (_a = object.signedLastBlock) !== null && _a !== void 0 ? _a : false;
|
|
3486
|
+
message.voteExtension = (_b = object.voteExtension) !== null && _b !== void 0 ? _b : new Uint8Array();
|
|
3487
|
+
return message;
|
|
3488
|
+
}
|
|
3489
|
+
};
|
|
3490
|
+
function createBaseMisbehavior() {
|
|
3491
|
+
return {
|
|
3492
|
+
type: 0,
|
|
3493
|
+
validator: undefined,
|
|
3494
|
+
height: helpers_1.Long.ZERO,
|
|
3495
|
+
time: undefined,
|
|
3496
|
+
totalVotingPower: helpers_1.Long.ZERO
|
|
3497
|
+
};
|
|
3498
|
+
}
|
|
3499
|
+
exports.Misbehavior = {
|
|
3500
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3501
|
+
if (message.type !== 0) {
|
|
3502
|
+
writer.uint32(8).int32(message.type);
|
|
3503
|
+
}
|
|
3504
|
+
if (message.validator !== undefined) {
|
|
3505
|
+
exports.Validator.encode(message.validator, writer.uint32(18).fork()).ldelim();
|
|
3506
|
+
}
|
|
3507
|
+
if (!message.height.isZero()) {
|
|
3508
|
+
writer.uint32(24).int64(message.height);
|
|
3509
|
+
}
|
|
3510
|
+
if (message.time !== undefined) {
|
|
3511
|
+
timestamp_1.Timestamp.encode(message.time, writer.uint32(34).fork()).ldelim();
|
|
3512
|
+
}
|
|
3513
|
+
if (!message.totalVotingPower.isZero()) {
|
|
3514
|
+
writer.uint32(40).int64(message.totalVotingPower);
|
|
3515
|
+
}
|
|
3516
|
+
return writer;
|
|
3517
|
+
},
|
|
3518
|
+
decode(input, length) {
|
|
3519
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3520
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3521
|
+
const message = createBaseMisbehavior();
|
|
3522
|
+
while (reader.pos < end) {
|
|
3523
|
+
const tag = reader.uint32();
|
|
3524
|
+
switch (tag >>> 3) {
|
|
3525
|
+
case 1:
|
|
3526
|
+
message.type = reader.int32();
|
|
3527
|
+
break;
|
|
3528
|
+
case 2:
|
|
3529
|
+
message.validator = exports.Validator.decode(reader, reader.uint32());
|
|
3530
|
+
break;
|
|
3531
|
+
case 3:
|
|
3532
|
+
message.height = reader.int64();
|
|
3533
|
+
break;
|
|
3534
|
+
case 4:
|
|
3535
|
+
message.time = timestamp_1.Timestamp.decode(reader, reader.uint32());
|
|
3536
|
+
break;
|
|
3537
|
+
case 5:
|
|
3538
|
+
message.totalVotingPower = reader.int64();
|
|
3539
|
+
break;
|
|
3540
|
+
default:
|
|
3541
|
+
reader.skipType(tag & 7);
|
|
3542
|
+
break;
|
|
3543
|
+
}
|
|
3544
|
+
}
|
|
3545
|
+
return message;
|
|
3546
|
+
},
|
|
3547
|
+
fromJSON(object) {
|
|
3548
|
+
return {
|
|
3549
|
+
type: (0, helpers_1.isSet)(object.type) ? misbehaviorTypeFromJSON(object.type) : 0,
|
|
3550
|
+
validator: (0, helpers_1.isSet)(object.validator) ? exports.Validator.fromJSON(object.validator) : undefined,
|
|
3551
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO,
|
|
3552
|
+
time: (0, helpers_1.isSet)(object.time) ? (0, helpers_1.fromJsonTimestamp)(object.time) : undefined,
|
|
3553
|
+
totalVotingPower: (0, helpers_1.isSet)(object.totalVotingPower) ? helpers_1.Long.fromValue(object.totalVotingPower) : helpers_1.Long.ZERO
|
|
3554
|
+
};
|
|
3555
|
+
},
|
|
3556
|
+
toJSON(message) {
|
|
3557
|
+
const obj = {};
|
|
3558
|
+
message.type !== undefined && (obj.type = misbehaviorTypeToJSON(message.type));
|
|
3559
|
+
message.validator !== undefined && (obj.validator = message.validator ? exports.Validator.toJSON(message.validator) : undefined);
|
|
3560
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.ZERO).toString());
|
|
3561
|
+
message.time !== undefined && (obj.time = (0, helpers_1.fromTimestamp)(message.time).toISOString());
|
|
3562
|
+
message.totalVotingPower !== undefined && (obj.totalVotingPower = (message.totalVotingPower || helpers_1.Long.ZERO).toString());
|
|
3563
|
+
return obj;
|
|
3564
|
+
},
|
|
3565
|
+
fromPartial(object) {
|
|
3566
|
+
var _a;
|
|
3567
|
+
const message = createBaseMisbehavior();
|
|
3568
|
+
message.type = (_a = object.type) !== null && _a !== void 0 ? _a : 0;
|
|
3569
|
+
message.validator = object.validator !== undefined && object.validator !== null ? exports.Validator.fromPartial(object.validator) : undefined;
|
|
3570
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.ZERO;
|
|
3571
|
+
message.time = object.time !== undefined && object.time !== null ? timestamp_1.Timestamp.fromPartial(object.time) : undefined;
|
|
3572
|
+
message.totalVotingPower = object.totalVotingPower !== undefined && object.totalVotingPower !== null ? helpers_1.Long.fromValue(object.totalVotingPower) : helpers_1.Long.ZERO;
|
|
3573
|
+
return message;
|
|
3574
|
+
}
|
|
3575
|
+
};
|
|
3576
|
+
function createBaseSnapshot() {
|
|
3577
|
+
return {
|
|
3578
|
+
height: helpers_1.Long.UZERO,
|
|
3579
|
+
format: 0,
|
|
3580
|
+
chunks: 0,
|
|
3581
|
+
hash: new Uint8Array(),
|
|
3582
|
+
metadata: new Uint8Array()
|
|
3583
|
+
};
|
|
3584
|
+
}
|
|
3585
|
+
exports.Snapshot = {
|
|
3586
|
+
encode(message, writer = _m0.Writer.create()) {
|
|
3587
|
+
if (!message.height.isZero()) {
|
|
3588
|
+
writer.uint32(8).uint64(message.height);
|
|
3589
|
+
}
|
|
3590
|
+
if (message.format !== 0) {
|
|
3591
|
+
writer.uint32(16).uint32(message.format);
|
|
3592
|
+
}
|
|
3593
|
+
if (message.chunks !== 0) {
|
|
3594
|
+
writer.uint32(24).uint32(message.chunks);
|
|
3595
|
+
}
|
|
3596
|
+
if (message.hash.length !== 0) {
|
|
3597
|
+
writer.uint32(34).bytes(message.hash);
|
|
3598
|
+
}
|
|
3599
|
+
if (message.metadata.length !== 0) {
|
|
3600
|
+
writer.uint32(42).bytes(message.metadata);
|
|
3601
|
+
}
|
|
3602
|
+
return writer;
|
|
3603
|
+
},
|
|
3604
|
+
decode(input, length) {
|
|
3605
|
+
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
|
|
3606
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
3607
|
+
const message = createBaseSnapshot();
|
|
3608
|
+
while (reader.pos < end) {
|
|
3609
|
+
const tag = reader.uint32();
|
|
3610
|
+
switch (tag >>> 3) {
|
|
3611
|
+
case 1:
|
|
3612
|
+
message.height = reader.uint64();
|
|
3613
|
+
break;
|
|
3614
|
+
case 2:
|
|
3615
|
+
message.format = reader.uint32();
|
|
3616
|
+
break;
|
|
3617
|
+
case 3:
|
|
3618
|
+
message.chunks = reader.uint32();
|
|
3619
|
+
break;
|
|
3620
|
+
case 4:
|
|
3621
|
+
message.hash = reader.bytes();
|
|
3622
|
+
break;
|
|
3623
|
+
case 5:
|
|
3624
|
+
message.metadata = reader.bytes();
|
|
3625
|
+
break;
|
|
3626
|
+
default:
|
|
3627
|
+
reader.skipType(tag & 7);
|
|
3628
|
+
break;
|
|
3629
|
+
}
|
|
3630
|
+
}
|
|
3631
|
+
return message;
|
|
3632
|
+
},
|
|
3633
|
+
fromJSON(object) {
|
|
3634
|
+
return {
|
|
3635
|
+
height: (0, helpers_1.isSet)(object.height) ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO,
|
|
3636
|
+
format: (0, helpers_1.isSet)(object.format) ? Number(object.format) : 0,
|
|
3637
|
+
chunks: (0, helpers_1.isSet)(object.chunks) ? Number(object.chunks) : 0,
|
|
3638
|
+
hash: (0, helpers_1.isSet)(object.hash) ? (0, helpers_1.bytesFromBase64)(object.hash) : new Uint8Array(),
|
|
3639
|
+
metadata: (0, helpers_1.isSet)(object.metadata) ? (0, helpers_1.bytesFromBase64)(object.metadata) : new Uint8Array()
|
|
3640
|
+
};
|
|
3641
|
+
},
|
|
3642
|
+
toJSON(message) {
|
|
3643
|
+
const obj = {};
|
|
3644
|
+
message.height !== undefined && (obj.height = (message.height || helpers_1.Long.UZERO).toString());
|
|
3645
|
+
message.format !== undefined && (obj.format = Math.round(message.format));
|
|
3646
|
+
message.chunks !== undefined && (obj.chunks = Math.round(message.chunks));
|
|
3647
|
+
message.hash !== undefined && (obj.hash = (0, helpers_1.base64FromBytes)(message.hash !== undefined ? message.hash : new Uint8Array()));
|
|
3648
|
+
message.metadata !== undefined && (obj.metadata = (0, helpers_1.base64FromBytes)(message.metadata !== undefined ? message.metadata : new Uint8Array()));
|
|
3649
|
+
return obj;
|
|
3650
|
+
},
|
|
3651
|
+
fromPartial(object) {
|
|
3652
|
+
var _a, _b, _c, _d;
|
|
3653
|
+
const message = createBaseSnapshot();
|
|
3654
|
+
message.height = object.height !== undefined && object.height !== null ? helpers_1.Long.fromValue(object.height) : helpers_1.Long.UZERO;
|
|
3655
|
+
message.format = (_a = object.format) !== null && _a !== void 0 ? _a : 0;
|
|
3656
|
+
message.chunks = (_b = object.chunks) !== null && _b !== void 0 ? _b : 0;
|
|
3657
|
+
message.hash = (_c = object.hash) !== null && _c !== void 0 ? _c : new Uint8Array();
|
|
3658
|
+
message.metadata = (_d = object.metadata) !== null && _d !== void 0 ? _d : new Uint8Array();
|
|
3659
|
+
return message;
|
|
3660
|
+
}
|
|
3661
|
+
};
|
|
3662
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGR5ZHhwcm90b2NvbC9keWR4anMvc3JjL2NvZGVnZW4vdGVuZGVybWludC9hYmNpL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtEQUE4RTtBQUM5RSw0Q0FBMEU7QUFDMUUsMENBQXVEO0FBQ3ZELDJDQUE0RDtBQUM1RCx5Q0FBNkQ7QUFDN0Qsd0RBQTBDO0FBQzFDLDJDQUFnSDtBQUNoSCxJQUFZLFdBSVg7QUFKRCxXQUFZLFdBQVc7SUFDckIsMkNBQU8sQ0FBQTtJQUNQLG1EQUFXLENBQUE7SUFDWCw4REFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsV0FBVyxHQUFYLG1CQUFXLEtBQVgsbUJBQVcsUUFJdEI7QUFDWSxRQUFBLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztBQUM5QyxTQUFnQixtQkFBbUIsQ0FBQyxNQUFXO0lBQzdDLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLEtBQUs7WUFDUixPQUFPLFdBQVcsQ0FBQyxHQUFHLENBQUM7UUFFekIsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLFNBQVM7WUFDWixPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFFN0IsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNSLEtBQUssY0FBYyxDQUFDO1FBQ3BCO1lBQ0UsT0FBTyxXQUFXLENBQUMsWUFBWSxDQUFDO0tBQ25DO0FBQ0gsQ0FBQztBQWZELGtEQWVDO0FBQ0QsU0FBZ0IsaUJBQWlCLENBQUMsTUFBbUI7SUFDbkQsUUFBUSxNQUFNLEVBQUU7UUFDZCxLQUFLLFdBQVcsQ0FBQyxHQUFHO1lBQ2xCLE9BQU8sS0FBSyxDQUFDO1FBRWYsS0FBSyxXQUFXLENBQUMsT0FBTztZQUN0QixPQUFPLFNBQVMsQ0FBQztRQUVuQixLQUFL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LENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBc0I7UUFDM0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLGNBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLE9BQU8sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JILE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFBLHlCQUFlLEVBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdILE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BILE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksY0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDeEYsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RSxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBOEI7O1FBQ3hDLE1BQU0sT0FBTyxHQUFHLHVCQUF1QixFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFBLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsR0FBRyxHQUFHLE1BQUEsTUFBTSxDQUFDLEdBQUcsbUNBQUksRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBQSxNQUFNLENBQUMsSUFBSSxtQ0FBSSxFQUFFLENBQUM7UUFDakMsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUM7UUFDL0csT0FBTyxDQUFDLEdBQUcsR0FBRyxNQUFBLE1BQU0sQ0FBQyxHQUFHLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDN0MsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFBLE1BQU0sQ0FBQyxLQUFLLG1DQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDakQsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDakksT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkgsT0FBTyxDQUFDLFNBQVMsR0FBRyxNQUFBLE1BQU0sQ0FBQyxTQUFTLG1DQUFJLEVBQUUsQ0FBQztRQUMzQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBRUYsQ0FBQztBQUVGLFNBQVMsNEJBQTRCO0lBQ25DLE9BQU87UUFDTCxNQUFNLEVBQUUsRUFBRTtLQUNYLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxNQUFNLENBQUMsT0FBMkIsRUFBRSxTQUFxQixHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUMxRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDOUIsYUFBSyxDQUFDLE1BQU0sQ0FBQyxDQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3JEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUE4QixFQUFFLE1BQWU7UUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixFQUFFLENBQUM7UUFFL0MsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRTtZQUN2QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFO2dCQUNqQixLQUFLLENBQUM7b0JBQ0osT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDM0QsTUFBTTtnQkFFUjtvQkFDRSxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDekIsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGFBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUM5RixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUEyQjtRQUNoQyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFFcEIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3ZFO2FBQU07WUFDTCxHQUFHLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNqQjtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFtQzs7UUFDN0MsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUEsTUFBQSxNQUFNLENBQUMsTUFBTSwwQ0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksRUFBRSxDQUFDO1FBQ3JFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FFRixDQUFDO0FBRUYsU0FBUyx5QkFBeUI7SUFDaEMsT0FBTztRQUNMLElBQUksRUFBRSxDQUFDO1FBQ1AsSUFBSSxFQUFFLElBQUksVUFBVSxFQUFFO1FBQ3RCLEdBQUcsRUFBRSxFQUFFO1FBQ1AsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsY0FBSSxDQUFDLElBQUk7UUFDcEIsT0FBTyxFQUFFLGNBQUksQ0FBQyxJQUFJO1FBQ2xCLE1BQU0sRUFBRSxFQUFFO1FBQ1YsU0FBUyxFQUFFLEVBQUU7UUFDYixNQUFNLEVBQUUsRUFBRTtRQUNWLFFBQVEsRUFBRSxjQUFJLENBQUMsSUFBSTtRQUNuQixZQUFZLEVBQUUsRUFBRTtLQUNqQixDQUFDO0FBQ0osQ0FBQztBQUVZLFFBQUEsZUFBZSxHQUFHO0lBQzdCLE1BQU0sQ0FBQyxPQUF3QixFQUFFLFNBQXFCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3ZFLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdkM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM1QztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxQztRQUVELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUM5QixhQUFLLENBQUMsTUFBTSxDQUFDLENBQUUsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxF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
|