From 21bdec4d2645ce5b44b89d69a54fd1cb8dd5a7b5 Mon Sep 17 00:00:00 2001 From: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com> Date: Thu, 19 Dec 2024 04:40:29 +0000 Subject: [PATCH 1/5] fix: update swagger script Run with `make proto-swagger-gen` Edits: - Fix path for some query.proto files - Add all eligible modules to config.json - Remove any unused modules from it - Include `exocore` modules in the script --- client/docs/config.json | 152 +- client/docs/swagger-ui/swagger.json | 54240 +++++++++-------- proto/exocore/avs/v1/query.proto | 10 +- proto/exocore/dogfood/v1/query.proto | 12 +- proto/exocore/epochs/v1/query.proto | 4 +- proto/exocore/feedistribution/v1/query.proto | 2 +- proto/exocore/oracle/v1/query.proto | 30 +- proto/exocore/reward/v1/query.proto | 2 +- proto/exocore/slash/v1/query.proto | 2 +- x/avs/types/query.pb.go | 84 +- x/avs/types/query.pb.gw.go | 10 +- x/epochs/types/query.pb.go | 68 +- x/epochs/types/query.pb.gw.go | 46 +- x/feedistribution/types/query.pb.go | 18 +- x/feedistribution/types/query.pb.gw.go | 2 +- x/oracle/types/query.pb.go | 173 +- x/oracle/types/query.pb.gw.go | 28 +- x/reward/types/query.pb.go | 20 +- x/reward/types/query.pb.gw.go | 2 +- x/slash/types/query.pb.go | 20 +- x/slash/types/query.pb.gw.go | 2 +- 21 files changed, 29039 insertions(+), 25888 deletions(-) diff --git a/client/docs/config.json b/client/docs/config.json index 8a5b7ffcc..f06e98c26 100644 --- a/client/docs/config.json +++ b/client/docs/config.json @@ -1,21 +1,13 @@ { "swagger": "2.0", "info": { - "title": "Evmos Chain - gRPC Gateway docs", + "title": "Exocore - gRPC Gateway docs", "description": "A REST interface for state queries and transactions", "version": "1.0.0" }, "apis": [ { - "url": "./tmp-swagger-gen/evmos/claims/v1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "ClaimsParams" - } - } - }, - { - "url": "./tmp-swagger-gen/evmos/epochs/v1/query.swagger.json" + "url": "./tmp-swagger-gen/exocore/epochs/v1/query.swagger.json" }, { "url": "./tmp-swagger-gen/evmos/erc20/v1/query.swagger.json", @@ -25,42 +17,6 @@ } } }, - { - "url": "./tmp-swagger-gen/evmos/incentives/v1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "IncentivesParams" - } - } - }, - { - "url": "./tmp-swagger-gen/evmos/inflation/v1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "InflationParams", - "TotalSupply": "InflationTotalSupply" - } - } - }, - { - "url": "./tmp-swagger-gen/evmos/vesting/v1/query.swagger.json" - }, - { - "url": "./tmp-swagger-gen/evmos/recovery/v1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "RecoveryParams" - } - } - }, - { - "url": "./tmp-swagger-gen/evmos/revenue/v1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "RevenueParams" - } - } - }, { "url": "./tmp-swagger-gen/ethermint/evm/v1/query.swagger.json", "operationIds": { @@ -126,15 +82,6 @@ } } }, - { - "url": "./tmp-swagger-gen/cosmos/distribution/v1beta1/query.swagger.json", - "operationIds": { - "rename": { - "Params": "DistributionParams", - "DelegatorValidators": "DistDelegatorValidators" - } - } - }, { "url": "./tmp-swagger-gen/cosmos/feegrant/v1beta1/query.swagger.json" }, @@ -178,24 +125,105 @@ } }, { - "url": "./tmp-swagger-gen/cosmos/staking/v1beta1/query.swagger.json", + "url": "./tmp-swagger-gen/cosmos/tx/v1beta1/service.swagger.json", + "dereference": { + "circular": "ignore" + } + }, + { + "url": "./tmp-swagger-gen/cosmos/base/tendermint/v1beta1/query.swagger.json", "operationIds": { "rename": { - "Params": "StakingParams" + "Params": "BaseParams" } } }, { - "url": "./tmp-swagger-gen/cosmos/tx/v1beta1/service.swagger.json", - "dereference": { - "circular": "ignore" + "url": "./tmp-swagger-gen/exocore/dogfood/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "DogfoodParams" + } } }, { - "url": "./tmp-swagger-gen/cosmos/base/tendermint/v1beta1/query.swagger.json", + "url": "./tmp-swagger-gen/exocore/assets/v1/query.swagger.json", "operationIds": { "rename": { - "Params": "BaseParams" + "Params": "AssetsParams" + } + } + }, + { + "url": "./tmp-swagger-gen/exocore/slash/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "ExoSlashParams" + } + } + }, + { + "url": "./tmp-swagger-gen/exocore/oracle/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "OracleParams" + } + } + }, + { + "url": "./tmp-swagger-gen/exocore/exomint/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "ExomintParams" + } + } + }, + { + "url": "./tmp-swagger-gen/exocore/feedistribution/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "FeeDistributionParams" + } + } + }, + { + "url": "./tmp-swagger-gen/exocore/delegation/v1/query.swagger.json" + }, + { + "url": "./tmp-swagger-gen/exocore/avs/v1/query.swagger.json" + }, + { + "url": "./tmp-swagger-gen/exocore/operator/v1/query.swagger.json" + }, + { + "url": "./tmp-swagger-gen/cosmos/upgrade/v1beta1/query.swagger.json", + "paths": { + "exclude": [ + "/cosmos/upgrade/v1beta1/upgraded_consensus_state/{last_height}" + ] + } + }, + { + "url": "./tmp-swagger-gen/ibc/applications/interchain_accounts/host/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "InterchainAccountsHostParams" + } + } + }, + { + "url": "./tmp-swagger-gen/cosmos/consensus/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "ConsensusParams" + } + } + }, + { + "url": "./tmp-swagger-gen/exocore/reward/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "RewardParams" } } } diff --git a/client/docs/swagger-ui/swagger.json b/client/docs/swagger-ui/swagger.json index 4ba49027f..bd1a44d70 100644 --- a/client/docs/swagger-ui/swagger.json +++ b/client/docs/swagger-ui/swagger.json @@ -1,408 +1,14 @@ { "swagger": "2.0", "info": { - "title": "Evmos Chain - gRPC Gateway docs", + "title": "Exocore - gRPC Gateway docs", "description": "A REST interface for state queries and transactions", "version": "1.0.0" }, "paths": { - "/evmos/claims/v1/claims_records": { + "/exocore/epochs/v1/current_epoch/{identifier}": { "get": { - "summary": "ClaimsRecords returns all claims records", - "operationId": "ClaimsRecords", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "claims": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "title": "address of claiming user in either bech32 or hex format" - }, - "initial_claimable_amount": { - "type": "string", - "title": "initial_claimable_amount for the user" - }, - "actions_completed": { - "type": "array", - "items": { - "type": "boolean" - }, - "title": "actions_completed is a slice that describes which actions were completed" - } - }, - "description": "ClaimsRecordAddress is the claims metadata per address that is used at\nGenesis." - }, - "title": "claims defines all claims records" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryClaimsRecordsResponse is the response type for the Query/ClaimsRecords\nRPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/evmos/claims/v1/claims_records/{address}": { - "get": { - "summary": "ClaimsRecord returns the claims record for a given address", - "operationId": "ClaimsRecord", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "initial_claimable_amount": { - "type": "string", - "title": "initial_claimable_amount of the user" - }, - "claims": { - "type": "array", - "items": { - "type": "object", - "properties": { - "action": { - "title": "action enum", - "type": "string", - "enum": [ - "ACTION_UNSPECIFIED", - "ACTION_VOTE", - "ACTION_DELEGATE", - "ACTION_EVM", - "ACTION_IBC_TRANSFER" - ], - "default": "ACTION_UNSPECIFIED", - "description": "Action defines the list of available actions to claim the airdrop tokens.\n\n - ACTION_UNSPECIFIED: ACTION_UNSPECIFIED defines an invalid action.\n - ACTION_VOTE: ACTION_VOTE defines a proposal vote.\n - ACTION_DELEGATE: ACTION_DELEGATE defines an staking delegation.\n - ACTION_EVM: ACTION_EVM defines an EVM transaction.\n - ACTION_IBC_TRANSFER: ACTION_IBC_TRANSFER defines a fungible token transfer transaction via IBC." - }, - "completed": { - "type": "boolean", - "title": "completed is true if the action has been completed" - }, - "claimable_amount": { - "type": "string", - "title": "claimable_amount of tokens for the action. Zero if completed" - } - }, - "description": "Claim defines the action, completed flag and the remaining claimable amount\nfor a given user. This is only used during client queries." - }, - "title": "claims of the user" - } - }, - "description": "QueryClaimsRecordResponse is the response type for the Query/ClaimsRecord RPC\nmethod." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "name": "address", - "description": "address defines the user to query claims record for", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/evmos/claims/v1/params": { - "get": { - "summary": "Params returns the claims module parameters", - "operationId": "ClaimsParams", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "enable_claims": { - "type": "boolean", - "title": "enable_claims is the parameter to enable the claiming process" - }, - "airdrop_start_time": { - "type": "string", - "format": "date-time", - "title": "airdrop_start_time defines the timestamp of the airdrop start" - }, - "duration_until_decay": { - "type": "string", - "title": "duration_until_decay of claimable tokens begin" - }, - "duration_of_decay": { - "type": "string", - "title": "duration_of_decay for token claim decay period" - }, - "claims_denom": { - "type": "string", - "title": "claims_denom is the denomination of the claimable coin" - }, - "authorized_channels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "authorized_channels is the list of authorized channel identifiers that can perform address\nattestations via IBC." - }, - "evm_channels": { - "type": "array", - "items": { - "type": "string" - }, - "title": "evm_channels is the list of channel identifiers from EVM compatible chains" - } - } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/evmos/claims/v1/total_unclaimed": { - "get": { - "summary": "TotalUnclaimed queries the total unclaimed tokens from the airdrop", - "operationId": "TotalUnclaimed", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "coins": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "coins defines the unclaimed coins" - } - }, - "description": "QueryTotalUnclaimedResponse is the response type for the Query/TotalUnclaimed\nRPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/evmos/epochs/v1/current_epoch": { - "get": { - "summary": "CurrentEpoch provide current epoch of specified identifier", + "summary": "CurrentEpoch provide the current epoch for the specified identifier.", "operationId": "CurrentEpoch", "responses": { "200": { @@ -456,9 +62,9 @@ "parameters": [ { "name": "identifier", - "description": "identifier of the current epoch.", - "in": "query", - "required": false, + "description": "identifier of the epoch for which the current number is requested.", + "in": "path", + "required": true, "type": "string" } ], @@ -467,9 +73,9 @@ ] } }, - "/evmos/epochs/v1/epochs": { + "/exocore/epochs/v1/epochs": { "get": { - "summary": "EpochInfos provide running epochInfos", + "summary": "EpochInfos provide a list of currently running epochs.", "operationId": "EpochInfos", "responses": { "200": { @@ -484,43 +90,48 @@ "properties": { "identifier": { "type": "string", - "title": "identifier of the epoch" + "description": "identifier is the unique identifier of the epoch, typically, the measure\nof time used to define the epoch." }, "start_time": { "type": "string", "format": "date-time", - "title": "start_time of the epoch" + "description": "start_time of the epoch. it may be in the future, in which case, the epoch\nis not yet active." }, "duration": { "type": "string", - "title": "duration of the epoch" + "description": "duration is the time in between epoch i and epoch i+1. for an epoch to\nbe meaningful, the duration should be more than the block time of the chain." }, "current_epoch": { "type": "string", "format": "int64", - "title": "current_epoch is the integer identifier of the epoch" + "description": "current_epoch is the number of the currently ongoing epoch, identified by the\nidentifier. the first epoch starts during the first block whose block time\nis greater than or equal to the start_time of the epoch." }, "current_epoch_start_time": { "type": "string", "format": "date-time", - "title": "current_epoch_start_time defines the timestamp of the start of the epoch" + "description": "current_epoch_start_time is the start time of the current time interval, which\nis (current_epoch_start_time, current_epoch_start_time + duration]. when we say\nthat the timer has \"ticked\", it means that the interval's components are increased\nby the duration. note, however, that only one tick can occur in any given block.\n\nthe above constraint results in a deviation from the \"ideal\" tick time / the wall\nclock time. this is particularly obvious when a chain goes down.\nsay, at t = 13, the interval is (10, 10 + 5 = 15].\nat t = 14, it is unchanged even in a new block, since 10 < t <= 15\nat t = 15, it is unchanged even in a new block, since 10 < t <= 15\nat t = 16, it increases to (15, 20]. but then assume that the chain goes down\nand comes back up at t = 35, producing 1 block each second after that as well.\nat t = 35, the interval increases by 1 tick to (15, 20] (at the block end).\nat t = 36, it increases to (20, 25].\nat t = 37, it increases to (25, 30].\nat t = 38, it increases to (30, 35].\nat t = 39, it increases to (35, 40].\nat t = 40, it is unchanged even in a new block, since 35 < t <= 40.\nat t = 41, it increases to (40, 45]." }, "epoch_counting_started": { "type": "boolean", - "title": "epoch_counting_started reflects if the counting for the epoch has started" + "description": "epoch_counting_started is true if the epoch counting has started for this identifier.\nit is independent of the epoch number or the time; it just indicates that at least\none epoch for this identifier has started counting." }, "current_epoch_start_height": { "type": "string", "format": "int64", - "title": "current_epoch_start_height of the epoch" + "description": "current_epoch_start_height is the block height at which the current epoch started,\nor the height at which the timer last \"ticked\"." } }, - "description": "EpochInfo defines the message interface containing the relevant informations about\nan epoch." + "description": "EpochInfo defines an epoch and its metadata. An epoch is a period of time\nthat is used to define a time frame for a system." }, - "title": "epochs is a slice of all EpochInfos" + "description": "epochs is a slice of all EpochInfos returned by the query." + }, + "block_time": { + "type": "string", + "format": "date-time", + "description": "block_time is the block time of the query block ctx." }, "pagination": { - "description": "pagination defines an optional pagination for the request.", + "description": "pagination defines the pagination for the response.", "type": "object", "properties": { "next_key": { @@ -919,50 +530,31 @@ ] } }, - "/evmos/incentives/v1/allocation_meters": { + "/evmos/evm/v1/account/{address}": { "get": { - "summary": "AllocationMeters retrieves active allocation meters for a given\ndenomination", - "operationId": "AllocationMeters", + "summary": "Account queries an Ethereum account.", + "operationId": "Account", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "allocation_meters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "title": "allocation_meters is a slice of all allocations" + "balance": { + "type": "string", + "description": "balance is the balance of the EVM denomination." }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "code_hash": { + "type": "string", + "description": "code_hash is the hex-formatted code bytes from the EOA." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "nonce is the account's sequence number." } }, - "description": "QueryAllocationMetersResponse is the response type for the\nQuery/AllocationMeters RPC method." + "description": "QueryAccountResponse is the response type for the Query/Account RPC method." } }, "default": { @@ -986,13 +578,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -1001,42 +596,11 @@ }, "parameters": [ { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "name": "address", + "description": "address is the ethereum hex address to query the account for.", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ @@ -1044,31 +608,22 @@ ] } }, - "/evmos/incentives/v1/allocation_meters/{denom}": { + "/evmos/evm/v1/balances/{address}": { "get": { - "summary": "AllocationMeter retrieves a active gas meter", - "operationId": "AllocationMeter", + "summary": "Balance queries the balance of a the EVM denomination for a single\nEthAccount.", + "operationId": "Balance", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "allocation_meter": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.", - "title": "allocation_meter defines the allocation of the queried denom" + "balance": { + "type": "string", + "description": "balance is the balance of the EVM denomination." } }, - "description": "QueryAllocationMeterResponse is the response type for the\nQuery/AllocationMeter RPC method." + "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." } }, "default": { @@ -1092,13 +647,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -1107,8 +665,8 @@ }, "parameters": [ { - "name": "denom", - "description": "denom is the coin denom to query an allocation meter for.", + "name": "address", + "description": "address is the ethereum hex address to query the balance for.", "in": "path", "required": true, "type": "string" @@ -1119,57 +677,22 @@ ] } }, - "/evmos/incentives/v1/gas_meters/{contract}": { + "/evmos/evm/v1/base_fee": { "get": { - "summary": "GasMeters retrieves active gas meters for a given contract", - "operationId": "GasMeters", + "summary": "BaseFee queries the base fee of the parent block of the current block,\nit's similar to feemarket module's method, but also checks london hardfork status.", + "operationId": "BaseFee", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "gas_meters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract is the hex address of the incentivized smart contract" - }, - "participant": { - "type": "string", - "title": "participant address that interacts with the incentive" - }, - "cumulative_gas": { - "type": "string", - "format": "uint64", - "title": "cumulative_gas spent during the epoch" - } - }, - "title": "GasMeter tracks the cumulative gas spent per participant in one epoch" - }, - "title": "gas_meters is a slice of the gas meters for an incentivized smart contract" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "base_fee": { + "type": "string", + "title": "base_fee is the EIP1559 base fee" } }, - "description": "QueryGasMetersResponse is the response type for the Query/Incentives RPC\nmethod." + "description": "QueryBaseFeeResponse returns the EIP1559 base fee." } }, "default": { @@ -1193,88 +716,44 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "parameters": [ - { - "name": "contract", - "description": "contract is the hex contract address of a incentivized smart contract", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ "Query" ] } }, - "/evmos/incentives/v1/gas_meters/{contract}/{participant}": { + "/evmos/evm/v1/codes/{address}": { "get": { - "summary": "GasMeter retrieves a active gas meter", - "operationId": "GasMeter", + "summary": "Code queries the balance of all coins for a single account.", + "operationId": "Code", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "gas_meter": { + "code": { "type": "string", - "format": "uint64", - "title": "gas_meter is a gas meter for one participant on an incentivized smart contract" + "format": "byte", + "description": "code represents the code bytes from an ethereum address." } }, - "description": "QueryGasMeterResponse is the response type for the Query/Incentive RPC\nmethod." + "description": "QueryCodeResponse is the response type for the Query/Code RPC\nmethod." } }, "default": { @@ -1298,13 +777,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -1313,15 +795,8 @@ }, "parameters": [ { - "name": "contract", - "description": "contract is the hex contract address of a contract", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "participant", - "description": "participant is the hex address of a user", + "name": "address", + "description": "address is the ethereum hex address to query the code for.", "in": "path", "required": true, "type": "string" @@ -1332,79 +807,102 @@ ] } }, - "/evmos/incentives/v1/incentives": { + "/evmos/evm/v1/cosmos_account/{address}": { "get": { - "summary": "Incentives retrieves registered incentives", - "operationId": "Incentives", + "summary": "CosmosAccount queries an Ethereum account's Cosmos Address.", + "operationId": "CosmosAccount", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "incentives": { + "cosmos_address": { + "type": "string", + "description": "cosmos_address is the cosmos address of the account." + }, + "sequence": { + "type": "string", + "format": "uint64", + "description": "sequence is the account's sequence number." + }, + "account_number": { + "type": "string", + "format": "uint64", + "title": "account_number is the account number" + } + }, + "description": "QueryCosmosAccountResponse is the response type for the Query/CosmosAccount\nRPC method." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { "type": "array", "items": { "type": "object", "properties": { - "contract": { - "type": "string", - "title": "contract address of the smart contract to be incentivized" - }, - "allocations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "title": "allocations is a slice of denoms and percentages of rewards to be allocated" - }, - "epochs": { - "type": "integer", - "format": "int64", - "title": "epochs defines the number of remaining epochs for the incentive" - }, - "start_time": { + "type_url": { "type": "string", - "format": "date-time", - "title": "start_time of the incentive distribution" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "total_gas": { + "value": { "type": "string", - "format": "uint64", - "title": "total_gas is the cumulative gas spent by all gas meters of the incentive during the epoch" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "title": "Incentive defines an instance that organizes distribution conditions for a\ngiven smart contract" - }, - "title": "incentives is a slice of all incentives" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } + } + } + } + }, + "parameters": [ + { + "name": "address", + "description": "address is the ethereum hex address to query the account for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/evmos/evm/v1/estimate_gas": { + "get": { + "summary": "EstimateGas implements the `eth_estimateGas` rpc api", + "operationId": "EstimateGas", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "gas": { + "type": "string", + "format": "uint64", + "title": "gas returns the estimated gas" + } }, - "description": "QueryIncentivesResponse is the response type for the Query/Incentives RPC\nmethod." + "title": "EstimateGasResponse defines EstimateGas response" } }, "default": { @@ -1428,13 +926,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -1443,42 +944,36 @@ }, "parameters": [ { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "name": "args", + "description": "args uses the same json format as the json rpc api.", "in": "query", "required": false, "type": "string", "format": "byte" }, { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "name": "gas_cap", + "description": "gas_cap defines the default gas cap to be used.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "name": "proposer_address", + "description": "proposer_address of the requested block in hex format.", "in": "query", "required": false, "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" + "format": "byte" }, { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "name": "chain_id", + "description": "chain_id is the eip155 chain id parsed from the requested block header.", "in": "query", "required": false, - "type": "boolean" + "type": "string", + "format": "int64" } ], "tags": [ @@ -1486,59 +981,89 @@ ] } }, - "/evmos/incentives/v1/incentives/{contract}": { + "/evmos/evm/v1/eth_call": { "get": { - "summary": "Incentive retrieves a registered incentive", - "operationId": "Incentive", + "summary": "EthCall implements the `eth_call` rpc api", + "operationId": "EthCall", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "incentive": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract address of the smart contract to be incentivized" - }, - "allocations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "hash": { + "type": "string", + "title": "hash of the ethereum transaction in hex format. This hash differs from the\nTendermint sha256 hash of the transaction bytes. See\nhttps://github.com/tendermint/tendermint/issues/6539 for reference" + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "title": "address of the contract that generated the event" + }, + "topics": { + "type": "array", + "items": { + "type": "string" }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "topics is a list of topics provided by the contract." }, - "title": "allocations is a slice of denoms and percentages of rewards to be allocated" - }, - "epochs": { - "type": "integer", - "format": "int64", - "title": "epochs defines the number of remaining epochs for the incentive" - }, - "start_time": { - "type": "string", - "format": "date-time", - "title": "start_time of the incentive distribution" + "data": { + "type": "string", + "format": "byte", + "title": "data which is supplied by the contract, usually ABI-encoded" + }, + "block_number": { + "type": "string", + "format": "uint64", + "title": "block_number of the block in which the transaction was included" + }, + "tx_hash": { + "type": "string", + "title": "tx_hash is the transaction hash" + }, + "tx_index": { + "type": "string", + "format": "uint64", + "title": "tx_index of the transaction in the block" + }, + "block_hash": { + "type": "string", + "title": "block_hash of the block in which the transaction was included" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index of the log in the block" + }, + "removed": { + "type": "boolean", + "description": "removed is true if this log was reverted due to a chain\nreorganisation. You must pay attention to this field if you receive logs\nthrough a filter query." + } }, - "total_gas": { - "type": "string", - "format": "uint64", - "title": "total_gas is the cumulative gas spent by all gas meters of the incentive during the epoch" - } + "description": "Log represents an protobuf compatible Ethereum Log that defines a contract\nlog event. These events are generated by the LOG opcode and stored/indexed by\nthe node.\n\nNOTE: address, topics and data are consensus fields. The rest of the fields\nare derived, i.e. filled in by the nodes, but not secured by consensus." }, - "title": "Incentive defines an instance that organizes distribution conditions for a\ngiven smart contract" + "description": "logs contains the transaction hash and the proto-compatible ethereum\nlogs." + }, + "ret": { + "type": "string", + "format": "byte", + "title": "ret is the returned data from evm function (result or data supplied with revert\nopcode)" + }, + "vm_error": { + "type": "string", + "title": "vm_error is the error returned by vm execution" + }, + "gas_used": { + "type": "string", + "format": "uint64", + "title": "gas_used specifies how much gas was consumed by the transaction" } }, - "description": "QueryIncentiveResponse is the response type for the Query/Incentive RPC\nmethod." + "description": "MsgEthereumTxResponse defines the Msg/EthereumTx response type." } }, "default": { @@ -1562,13 +1087,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -1577,11 +1105,36 @@ }, "parameters": [ { - "name": "contract", - "description": "contract is the hex contract address of a incentivized smart contract", - "in": "path", - "required": true, - "type": "string" + "name": "args", + "description": "args uses the same json format as the json rpc api.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "gas_cap", + "description": "gas_cap defines the default gas cap to be used.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "proposer_address", + "description": "proposer_address of the requested block in hex format.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "chain_id", + "description": "chain_id is the eip155 chain id parsed from the requested block header.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" } ], "tags": [ @@ -1589,10 +1142,10 @@ ] } }, - "/evmos/incentives/v1/params": { + "/evmos/evm/v1/params": { "get": { - "summary": "Params retrieves the incentives module params", - "operationId": "IncentivesParams", + "summary": "Params queries the parameters of x/evm module.", + "operationId": "EvmParams", "responses": { "200": { "description": "A successful response.", @@ -1600,29 +1153,128 @@ "type": "object", "properties": { "params": { - "title": "params are the incentives module parameters", + "description": "params define the evm module parameters.", "type": "object", "properties": { - "enable_incentives": { + "evm_denom": { + "type": "string", + "description": "evm_denom represents the token denomination used to run the EVM state\ntransitions." + }, + "enable_create": { "type": "boolean", - "title": "enable_incentives is the parameter to enable incentives" + "title": "enable_create toggles state transitions that use the vm.Create function" }, - "allocation_limit": { - "type": "string", - "title": "allocation_limit is the maximum percentage an incentive can allocate per denomination" + "enable_call": { + "type": "boolean", + "title": "enable_call toggles state transitions that use the vm.Call function" }, - "incentives_epoch_identifier": { - "type": "string", - "title": "incentives_epoch_identifier for the epochs module hooks" + "extra_eips": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + }, + "title": "extra_eips defines the additional EIPs for the vm.Config" }, - "reward_scaler": { - "type": "string", - "title": "reward_scaler is the scaling factor for capping rewards" + "chain_config": { + "title": "chain_config defines the EVM chain configuration parameters", + "type": "object", + "properties": { + "homestead_block": { + "type": "string", + "title": "homestead_block switch (nil no fork, 0 = already homestead)" + }, + "dao_fork_block": { + "type": "string", + "title": "dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)" + }, + "dao_fork_support": { + "type": "boolean", + "title": "dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork" + }, + "eip150_block": { + "type": "string", + "title": "eip150_block: EIP150 implements the Gas price changes\n(https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork)" + }, + "eip150_hash": { + "type": "string", + "title": "eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed)" + }, + "eip155_block": { + "type": "string", + "title": "eip155_block: EIP155Block HF block" + }, + "eip158_block": { + "type": "string", + "title": "eip158_block: EIP158 HF block" + }, + "byzantium_block": { + "type": "string", + "title": "byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium)" + }, + "constantinople_block": { + "type": "string", + "title": "constantinople_block: Constantinople switch block (nil no fork, 0 = already activated)" + }, + "petersburg_block": { + "type": "string", + "title": "petersburg_block: Petersburg switch block (nil same as Constantinople)" + }, + "istanbul_block": { + "type": "string", + "title": "istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul)" + }, + "muir_glacier_block": { + "type": "string", + "title": "muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated)" + }, + "berlin_block": { + "type": "string", + "title": "berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)" + }, + "london_block": { + "type": "string", + "title": "london_block: London switch block (nil = no fork, 0 = already on london)" + }, + "arrow_glacier_block": { + "type": "string", + "title": "arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)" + }, + "gray_glacier_block": { + "type": "string", + "title": "gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated)" + }, + "merge_netsplit_block": { + "type": "string", + "title": "merge_netsplit_block: Virtual fork after The Merge to use as a network splitter" + }, + "shanghai_block": { + "type": "string", + "title": "shanghai_block switch block (nil = no fork, 0 = already on shanghai)" + }, + "cancun_block": { + "type": "string", + "title": "cancun_block switch block (nil = no fork, 0 = already on cancun)" + } + }, + "description": "ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int values\ninstead of *big.Int." + }, + "allow_unprotected_txs": { + "type": "boolean", + "description": "allow_unprotected_txs defines if replay-protected (i.e non EIP155\nsigned) transactions can be executed on the state machine." + }, + "active_precompiles": { + "type": "array", + "items": { + "type": "string" + }, + "title": "active_precompiles defines the slice of hex addresses of the precompiled\ncontracts that are active" } - } + }, + "title": "Params defines the EVM module parameters" } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC\nmethod." + "description": "QueryParamsResponse defines the response type for querying x/evm parameters." } }, "default": { @@ -1646,13 +1298,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -1664,31 +1319,22 @@ ] } }, - "/evmos/inflation/v1/circulating_supply": { + "/evmos/evm/v1/storage/{address}/{key}": { "get": { - "summary": "CirculatingSupply retrieves the total number of tokens that are in\ncirculation (i.e. excluding unvested tokens).", - "operationId": "CirculatingSupply", + "summary": "Storage queries the balance of all coins for a single account.", + "operationId": "Storage", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "circulating_supply": { - "title": "circulating_supply is the total amount of coins in circulation", - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "value": { + "type": "string", + "description": "value defines the storage state value hash associated with the given key." } }, - "description": "QueryCirculatingSupplyResponse is the response type for the\nQuery/CirculatingSupply RPC method." + "description": "QueryStorageResponse is the response type for the Query/Storage RPC\nmethod." } }, "default": { @@ -1712,105 +1358,60 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "tags": [ - "Query" - ] - } - }, - "/evmos/inflation/v1/epoch_mint_provision": { - "get": { - "summary": "EpochMintProvision retrieves current minting epoch provision value.", - "operationId": "EpochMintProvision", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "epoch_mint_provision": { - "description": "epoch_mint_provision is the current minting per epoch provision value.", - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - } - } - }, - "description": "QueryEpochMintProvisionResponse is the response type for the\nQuery/EpochMintProvision RPC method." - } + "parameters": [ + { + "name": "address", + "description": "address is the ethereum hex address to query the storage state for.", + "in": "path", + "required": true, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } + { + "name": "key", + "description": "key defines the key of the storage state", + "in": "path", + "required": true, + "type": "string" } - }, + ], "tags": [ "Query" ] } }, - "/evmos/inflation/v1/inflation_rate": { + "/evmos/evm/v1/trace_block": { "get": { - "summary": "InflationRate retrieves the inflation rate of the current period.", - "operationId": "InflationRate", + "summary": "TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api", + "operationId": "TraceBlock", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "inflation_rate": { + "data": { "type": "string", - "title": "inflation_rate by which the total supply increases within one period" + "format": "byte", + "title": "data is the response serialized in bytes" } }, - "description": "QueryInflationRateResponse is the response type for the Query/InflationRate\nRPC method." + "title": "QueryTraceBlockResponse defines TraceBlock response" } }, "default": { @@ -1834,210 +1435,298 @@ "type": "object", "properties": { "type_url": { - "type": "string" - }, - "value": { "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/evmos/inflation/v1/params": { - "get": { - "summary": "Params retrieves the total set of minting parameters.", - "operationId": "InflationParams", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "mint_denom": { - "type": "string", - "title": "mint_denom specifies the type of coin to mint" - }, - "exponential_calculation": { - "title": "exponential_calculation takes in the variables to calculate exponential inflation", - "type": "object", - "properties": { - "a": { - "type": "string", - "title": "a defines the initial value" - }, - "r": { - "type": "string", - "title": "r defines the reduction factor" - }, - "c": { - "type": "string", - "title": "c defines the parameter for long term inflation" - }, - "bonding_target": { - "type": "string", - "title": "bonding_target" - }, - "max_variance": { - "type": "string", - "title": "max_variance" - } - } - }, - "inflation_distribution": { - "title": "inflation_distribution of the minted denom", - "type": "object", - "properties": { - "staking_rewards": { - "type": "string", - "title": "staking_rewards defines the proportion of the minted minted_denom that is\nto be allocated as staking rewards" - }, - "usage_incentives": { - "type": "string", - "title": "usage_incentives defines the proportion of the minted minted_denom that is\nto be allocated to the incentives module address" - }, - "community_pool": { - "type": "string", - "title": "community_pool defines the proportion of the minted minted_denom that is to\nbe allocated to the community pool" - } - } - }, - "enable_inflation": { - "type": "boolean", - "title": "enable_inflation is the parameter that enables inflation and halts increasing the skipped_epochs" - } - } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "tags": [ - "Query" - ] - } - }, - "/evmos/inflation/v1/period": { - "get": { - "summary": "Period retrieves current period.", - "operationId": "Period", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "period": { - "type": "string", - "format": "uint64", - "description": "period is the current minting per epoch provision value." - } - }, - "description": "QueryPeriodResponse is the response type for the Query/Period RPC method." - } + "parameters": [ + { + "name": "trace_config.tracer", + "description": "tracer is a custom javascript tracer.", + "in": "query", + "required": false, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } + { + "name": "trace_config.timeout", + "description": "timeout overrides the default timeout of 5 seconds for JavaScript-based tracing\ncalls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.reexec", + "description": "reexec defines the number of blocks the tracer is willing to go back.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "trace_config.disable_stack", + "description": "disable_stack switches stack capture.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.disable_storage", + "description": "disable_storage switches storage capture.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.debug", + "description": "debug can be used to print output during capture end.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.limit", + "description": "limit defines the maximum length of output, but zero means unlimited.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "trace_config.overrides.homestead_block", + "description": "homestead_block switch (nil no fork, 0 = already homestead).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.dao_fork_block", + "description": "dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.dao_fork_support", + "description": "dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.overrides.eip150_block", + "description": "eip150_block: EIP150 implements the Gas price changes\n(https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.eip150_hash", + "description": "eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.eip155_block", + "description": "eip155_block: EIP155Block HF block.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.eip158_block", + "description": "eip158_block: EIP158 HF block.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.byzantium_block", + "description": "byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.constantinople_block", + "description": "constantinople_block: Constantinople switch block (nil no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.petersburg_block", + "description": "petersburg_block: Petersburg switch block (nil same as Constantinople).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.istanbul_block", + "description": "istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.muir_glacier_block", + "description": "muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.berlin_block", + "description": "berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.london_block", + "description": "london_block: London switch block (nil = no fork, 0 = already on london).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.arrow_glacier_block", + "description": "arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.gray_glacier_block", + "description": "gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.merge_netsplit_block", + "description": "merge_netsplit_block: Virtual fork after The Merge to use as a network splitter.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.shanghai_block", + "description": "shanghai_block switch block (nil = no fork, 0 = already on shanghai).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.cancun_block", + "description": "cancun_block switch block (nil = no fork, 0 = already on cancun).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.enable_memory", + "description": "enable_memory switches memory capture.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.enable_return_data", + "description": "enable_return_data switches the capture of return data.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.tracer_json_config", + "description": "tracer_json_config configures the tracer using a JSON string.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "block_number", + "description": "block_number of the traced block.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "block_hash", + "description": "block_hash (hex) of the traced block.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "block_time", + "description": "block_time of the traced block.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "proposer_address", + "description": "proposer_address is the address of the requested block.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "chain_id", + "description": "chain_id is the eip155 chain id parsed from the requested block header.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "block_max_gas", + "description": "block_max_gas of the traced block.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" } - }, + ], "tags": [ "Query" ] } }, - "/evmos/inflation/v1/skipped_epochs": { + "/evmos/evm/v1/trace_tx": { "get": { - "summary": "SkippedEpochs retrieves the total number of skipped epochs.", - "operationId": "SkippedEpochs", + "summary": "TraceTx implements the `debug_traceTransaction` rpc api", + "operationId": "TraceTx", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "skipped_epochs": { + "data": { "type": "string", - "format": "uint64", - "description": "skipped_epochs is the number of epochs that the inflation module has been disabled." + "format": "byte", + "title": "data is the response serialized in bytes" } }, - "description": "QuerySkippedEpochsResponse is the response type for the Query/SkippedEpochs\nRPC method." + "title": "QueryTraceTxResponse defines TraceTx response" } }, "default": { @@ -2061,84 +1750,344 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "tags": [ - "Query" - ] - } - }, - "/evmos/vesting/v1/balances/{address}": { - "get": { - "summary": "Balances retrieves the unvested, vested and locked tokens for a vesting account", - "operationId": "Balances", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "locked": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "locked defines the current amount of locked tokens" - }, - "unvested": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "unvested defines the current amount of unvested tokens" + "parameters": [ + { + "name": "msg.data.type_url", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "msg.data.value", + "description": "Must be a valid serialized protocol buffer of the above specified type.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "msg.size", + "description": "size is the encoded storage size of the transaction (DEPRECATED).", + "in": "query", + "required": false, + "type": "number", + "format": "double" + }, + { + "name": "msg.hash", + "description": "hash of the transaction in hex format.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "msg.from", + "description": "from is the ethereum signer address in hex format. This address value is checked\nagainst the address derived from the signature (V, R, S) using the\nsecp256k1 elliptic curve.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.tracer", + "description": "tracer is a custom javascript tracer.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.timeout", + "description": "timeout overrides the default timeout of 5 seconds for JavaScript-based tracing\ncalls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.reexec", + "description": "reexec defines the number of blocks the tracer is willing to go back.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "trace_config.disable_stack", + "description": "disable_stack switches stack capture.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.disable_storage", + "description": "disable_storage switches storage capture.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.debug", + "description": "debug can be used to print output during capture end.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.limit", + "description": "limit defines the maximum length of output, but zero means unlimited.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "trace_config.overrides.homestead_block", + "description": "homestead_block switch (nil no fork, 0 = already homestead).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.dao_fork_block", + "description": "dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.dao_fork_support", + "description": "dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.overrides.eip150_block", + "description": "eip150_block: EIP150 implements the Gas price changes\n(https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.eip150_hash", + "description": "eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.eip155_block", + "description": "eip155_block: EIP155Block HF block.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.eip158_block", + "description": "eip158_block: EIP158 HF block.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.byzantium_block", + "description": "byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.constantinople_block", + "description": "constantinople_block: Constantinople switch block (nil no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.petersburg_block", + "description": "petersburg_block: Petersburg switch block (nil same as Constantinople).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.istanbul_block", + "description": "istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.muir_glacier_block", + "description": "muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.berlin_block", + "description": "berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.london_block", + "description": "london_block: London switch block (nil = no fork, 0 = already on london).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.arrow_glacier_block", + "description": "arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.gray_glacier_block", + "description": "gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.merge_netsplit_block", + "description": "merge_netsplit_block: Virtual fork after The Merge to use as a network splitter.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.shanghai_block", + "description": "shanghai_block switch block (nil = no fork, 0 = already on shanghai).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.overrides.cancun_block", + "description": "cancun_block switch block (nil = no fork, 0 = already on cancun).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "trace_config.enable_memory", + "description": "enable_memory switches memory capture.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.enable_return_data", + "description": "enable_return_data switches the capture of return data.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "trace_config.tracer_json_config", + "description": "tracer_json_config configures the tracer using a JSON string.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "block_number", + "description": "block_number of requested transaction.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "block_hash", + "description": "block_hash of requested transaction.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "block_time", + "description": "block_time of requested transaction.", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "proposer_address", + "description": "proposer_address is the proposer of the requested block.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "chain_id", + "description": "chain_id is the the eip155 chain id parsed from the requested block header.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "block_max_gas", + "description": "block_max_gas of the block of the requested transaction.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Query" + ] + } + }, + "/evmos/evm/v1/validator_account/{cons_address}": { + "get": { + "summary": "ValidatorAccount queries an Ethereum account's from a validator consensus\nAddress.", + "operationId": "ValidatorAccount", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "account_address": { + "type": "string", + "description": "account_address is the cosmos address of the account in bech32 format." }, - "vested": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "vested defines the current amount of vested tokens" + "sequence": { + "type": "string", + "format": "uint64", + "description": "sequence is the account's sequence number." + }, + "account_number": { + "type": "string", + "format": "uint64", + "title": "account_number is the account number" } }, - "description": "QueryBalancesResponse is the response type for the Query/Balances RPC\nmethod." + "description": "QueryValidatorAccountResponse is the response type for the\nQuery/ValidatorAccount RPC method." } }, "default": { @@ -2162,13 +2111,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -2177,8 +2129,8 @@ }, "parameters": [ { - "name": "address", - "description": "address of the clawback vesting account", + "name": "cons_address", + "description": "cons_address is the validator cons address to query the account for.", "in": "path", "required": true, "type": "string" @@ -2189,33 +2141,22 @@ ] } }, - "/evmos/recovery/v1/params": { + "/evmos/feemarket/v1/base_fee": { "get": { - "summary": "Params retrieves the total set of recovery parameters.", - "operationId": "RecoveryParams", + "summary": "BaseFee queries the base fee of the parent block of the current block.", + "operationId": "FeeMarketBaseFee", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "enable_recovery": { - "type": "boolean", - "title": "enable_recovery IBC middleware" - }, - "packet_timeout_duration": { - "type": "string", - "title": "packet_timeout_duration is the duration added to timeout timestamp for balances recovered via IBC packets" - } - }, - "title": "Params holds parameters for the recovery module" + "base_fee": { + "type": "string", + "title": "base_fee is the EIP1559 base fee" } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "description": "QueryBaseFeeResponse returns the EIP1559 base fee." } }, "default": { @@ -2257,37 +2198,23 @@ ] } }, - "/evmos/revenue/v1/params": { + "/evmos/feemarket/v1/block_gas": { "get": { - "summary": "Params retrieves the revenue module params", - "operationId": "RevenueParams", + "summary": "BlockGas queries the gas used at a given block height", + "operationId": "BlockGas", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "title": "params is the returned revenue parameter", - "type": "object", - "properties": { - "enable_revenue": { - "type": "boolean", - "title": "enable_revenue defines a parameter to enable the revenue module" - }, - "developer_shares": { - "type": "string", - "title": "developer_shares defines the proportion of the transaction fees to be\ndistributed to the registered contract owner" - }, - "addr_derivation_cost_create": { - "type": "string", - "format": "uint64", - "title": "addr_derivation_cost_create defines the cost of address derivation for\nverifying the contract deployer at fee registration" - } - } + "gas": { + "type": "string", + "format": "int64", + "title": "gas is the returned block gas" } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "description": "QueryBlockGasResponse returns block gas used for a given height." } }, "default": { @@ -2329,56 +2256,56 @@ ] } }, - "/evmos/revenue/v1/revenues": { + "/evmos/feemarket/v1/params": { "get": { - "summary": "Revenues retrieves all registered revenues", - "operationId": "Revenues", + "summary": "Params queries the parameters of x/feemarket module.", + "operationId": "FeeMarketParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "revenues": { - "type": "array", - "items": { - "type": "object", - "properties": { - "contract_address": { - "type": "string", - "title": "contract_address is the hex address of a registered contract" - }, - "deployer_address": { - "type": "string", - "title": "deployer_address is the bech32 address of message sender. It must be the same as the origin EOA\nsending the transaction which deploys the contract" - }, - "withdrawer_address": { - "type": "string", - "title": "withdrawer_address is the bech32 address of account receiving the transaction fees it defaults to\ndeployer_address" - } - }, - "title": "Revenue defines an instance that organizes fee distribution conditions for\nthe owner of a given smart contract" - }, - "title": "revenues is a slice of all stored Reveneue" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "params": { + "description": "params define the evm module parameters.", "type": "object", "properties": { - "next_key": { + "no_base_fee": { + "type": "boolean", + "title": "no_base_fee forces the EIP-1559 base fee to 0 (needed for 0 price calls)" + }, + "base_fee_change_denominator": { + "type": "integer", + "format": "int64", + "description": "base_fee_change_denominator bounds the amount the base fee can change\nbetween blocks." + }, + "elasticity_multiplier": { + "type": "integer", + "format": "int64", + "description": "elasticity_multiplier bounds the maximum gas limit an EIP-1559 block may\nhave." + }, + "enable_height": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "int64", + "description": "enable_height defines at which block height the base fee calculation is enabled." }, - "total": { + "base_fee": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "description": "base_fee for EIP-1559 blocks." + }, + "min_gas_price": { + "type": "string", + "title": "min_gas_price defines the minimum gas price value for cosmos and eth transactions" + }, + "min_gas_multiplier": { + "type": "string", + "title": "min_gas_multiplier bounds the minimum gas used to be charged\nto senders based on gas limit" } - } + }, + "title": "Params defines the EVM module parameters" } }, - "description": "QueryRevenuesResponse is the response type for the Query/Revenues RPC method." + "description": "QueryParamsResponse defines the response type for querying x/evm parameters." } }, "default": { @@ -2415,81 +2342,27 @@ } } }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ "Query" ] } }, - "/evmos/revenue/v1/revenues/{contract_address}": { + "/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address": { "get": { - "summary": "Revenue retrieves a registered revenue for a given contract address", - "operationId": "Revenue", + "summary": "EscrowAddress returns the escrow address for a particular port and channel id.", + "operationId": "EscrowAddress", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "revenue": { - "type": "object", - "properties": { - "contract_address": { - "type": "string", - "title": "contract_address is the hex address of a registered contract" - }, - "deployer_address": { - "type": "string", - "title": "deployer_address is the bech32 address of message sender. It must be the same as the origin EOA\nsending the transaction which deploys the contract" - }, - "withdrawer_address": { - "type": "string", - "title": "withdrawer_address is the bech32 address of account receiving the transaction fees it defaults to\ndeployer_address" - } - }, - "title": "Revenue defines an instance that organizes fee distribution conditions for\nthe owner of a given smart contract" + "escrow_address": { + "type": "string", + "title": "the escrow account address" } }, - "description": "QueryRevenueResponse is the response type for the Query/Revenue RPC method." + "description": "QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method." } }, "default": { @@ -2528,53 +2401,41 @@ }, "parameters": [ { - "name": "contract_address", - "description": "contract_address of a registered contract in hex format", + "name": "channel_id", + "description": "unique channel identifier", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "Query" - ] + }, + { + "name": "port_id", + "description": "unique port identifier", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] } }, - "/evmos/revenue/v1/revenues/{deployer_address}": { + "/ibc/apps/transfer/v1/denom_hashes/{trace}": { "get": { - "summary": "DeployerRevenues retrieves all revenues that a given deployer has\nregistered", - "operationId": "DeployerRevenues", + "summary": "DenomHash queries a denomination hash information.", + "operationId": "DenomHash", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "contract_addresses": { - "type": "array", - "items": { - "type": "string" - }, - "title": "contract_addresses is the slice of registered contract addresses for a deployer" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "hash": { + "type": "string", + "description": "hash (in hex format) of the denomination trace information." } }, - "description": "QueryDeployerRevenuesResponse is the response type for the\nQuery/DeployerRevenues RPC method." + "description": "QueryDenomHashResponse is the response type for the Query/DenomHash RPC\nmethod." } }, "default": { @@ -2613,49 +2474,11 @@ }, "parameters": [ { - "name": "deployer_address", - "description": "deployer_address in bech32 format", + "name": "trace", + "description": "The denomination trace ([port_id]/[channel_id])+/[denom]", "in": "path", "required": true, "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ @@ -2663,22 +2486,33 @@ ] } }, - "/evmos/revenue/v1/revenues/{withdrawer_address}": { + "/ibc/apps/transfer/v1/denom_traces": { "get": { - "summary": "WithdrawerRevenues retrieves all revenues with a given withdrawer\naddress", - "operationId": "WithdrawerRevenues", + "summary": "DenomTraces queries all denomination traces.", + "operationId": "DenomTraces", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "contract_addresses": { + "denom_traces": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token." + }, + "base_denom": { + "type": "string", + "description": "base denomination of the relayed fungible token." + } + }, + "description": "DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path." }, - "title": "contract_addresses is the slice of registered contract addresses for a withdrawer" + "description": "denom_traces returns all denominations trace information." }, "pagination": { "description": "pagination defines the pagination in the response.", @@ -2697,7 +2531,7 @@ } } }, - "description": "QueryWithdrawerRevenuesResponse is the response type for the\nQuery/WithdrawerRevenues RPC method." + "description": "QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod." } }, "default": { @@ -2735,13 +2569,6 @@ } }, "parameters": [ - { - "name": "withdrawer_address", - "description": "withdrawer_address in bech32 format", - "in": "path", - "required": true, - "type": "string" - }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -2786,31 +2613,32 @@ ] } }, - "/evmos/evm/v1/account/{address}": { + "/ibc/apps/transfer/v1/denom_traces/{hash}": { "get": { - "summary": "Account queries an Ethereum account.", - "operationId": "Account", + "summary": "DenomTrace queries a denomination trace information.", + "operationId": "DenomTrace", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "balance": { - "type": "string", - "description": "balance is the balance of the EVM denomination." - }, - "code_hash": { - "type": "string", - "description": "code_hash is the hex-formatted code bytes from the EOA." - }, - "nonce": { - "type": "string", - "format": "uint64", - "description": "nonce is the account's sequence number." + "denom_trace": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token." + }, + "base_denom": { + "type": "string", + "description": "base denomination of the relayed fungible token." + } + }, + "description": "DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path." } }, - "description": "QueryAccountResponse is the response type for the Query/Account RPC method." + "description": "QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod." } }, "default": { @@ -2834,16 +2662,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -2852,8 +2677,8 @@ }, "parameters": [ { - "name": "address", - "description": "address is the ethereum hex address to query the account for.", + "name": "hash", + "description": "hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.", "in": "path", "required": true, "type": "string" @@ -2864,22 +2689,30 @@ ] } }, - "/evmos/evm/v1/balances/{address}": { + "/ibc/apps/transfer/v1/denoms/{denom}/total_escrow": { "get": { - "summary": "Balance queries the balance of a the EVM denomination for a single\nEthAccount.", - "operationId": "Balance", + "summary": "TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.", + "operationId": "TotalEscrowForDenom", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "balance": { - "type": "string", - "description": "balance is the balance of the EVM denomination." + "amount": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." } }, - "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." + "description": "QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method." } }, "default": { @@ -2903,16 +2736,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -2921,8 +2751,7 @@ }, "parameters": [ { - "name": "address", - "description": "address is the ethereum hex address to query the balance for.", + "name": "denom", "in": "path", "required": true, "type": "string" @@ -2933,22 +2762,32 @@ ] } }, - "/evmos/evm/v1/base_fee": { + "/ibc/apps/transfer/v1/params": { "get": { - "summary": "BaseFee queries the base fee of the parent block of the current block,\nit's similar to feemarket module's method, but also checks london hardfork status.", - "operationId": "BaseFee", + "summary": "Params queries all parameters of the ibc-transfer module.", + "operationId": "TransferParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "base_fee": { - "type": "string", - "title": "base_fee is the EIP1559 base fee" + "params": { + "description": "params defines the parameters of the module.", + "type": "object", + "properties": { + "send_enabled": { + "type": "boolean", + "description": "send_enabled enables or disables all cross-chain token transfers from this\nchain." + }, + "receive_enabled": { + "type": "boolean", + "description": "receive_enabled enables or disables all cross-chain token transfers to this\nchain." + } + } } }, - "description": "QueryBaseFeeResponse returns the EIP1559 base fee." + "description": "QueryParamsResponse is the response type for the Query/Params RPC method." } }, "default": { @@ -2972,16 +2811,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -2993,23 +2829,65 @@ ] } }, - "/evmos/evm/v1/codes/{address}": { + "/ibc/core/client/v1/client_states": { "get": { - "summary": "Code queries the balance of all coins for a single account.", - "operationId": "Code", + "summary": "ClientStates queries all the IBC light clients of a chain.", + "operationId": "ClientStates", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "code": { - "type": "string", - "format": "byte", - "description": "code represents the code bytes from an ethereum address." + "client_states": { + "type": "array", + "items": { + "type": "object", + "properties": { + "client_id": { + "type": "string", + "title": "client identifier" + }, + "client_state": { + "title": "client state", + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + }, + "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." + }, + "description": "list of stored ClientStates of the chain." + }, + "pagination": { + "title": "pagination response", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" } }, - "description": "QueryCodeResponse is the response type for the Query/Code RPC\nmethod." + "description": "QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod." } }, "default": { @@ -3051,11 +2929,42 @@ }, "parameters": [ { - "name": "address", - "description": "address is the ethereum hex address to query the code for.", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -3063,32 +2972,56 @@ ] } }, - "/evmos/evm/v1/cosmos_account/{address}": { + "/ibc/core/client/v1/client_states/{client_id}": { "get": { - "summary": "CosmosAccount queries an Ethereum account's Cosmos Address.", - "operationId": "CosmosAccount", + "summary": "ClientState queries an IBC light client.", + "operationId": "ClientState", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "cosmos_address": { - "type": "string", - "description": "cosmos_address is the cosmos address of the account." + "client_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "client state associated with the request identifier" }, - "sequence": { + "proof": { "type": "string", - "format": "uint64", - "description": "sequence is the account's sequence number." + "format": "byte", + "title": "merkle proof of existence" }, - "account_number": { - "type": "string", - "format": "uint64", - "title": "account_number is the account number" + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryCosmosAccountResponse is the response type for the Query/CosmosAccount\nRPC method." + "description": "QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved." } }, "default": { @@ -3130,8 +3063,8 @@ }, "parameters": [ { - "name": "address", - "description": "address is the ethereum hex address to query the account for.", + "name": "client_id", + "description": "client state unique identifier", "in": "path", "required": true, "type": "string" @@ -3142,23 +3075,21 @@ ] } }, - "/evmos/evm/v1/estimate_gas": { + "/ibc/core/client/v1/client_status/{client_id}": { "get": { - "summary": "EstimateGas implements the `eth_estimateGas` rpc api", - "operationId": "EstimateGas", + "summary": "Status queries the status of an IBC client.", + "operationId": "ClientStatus", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "gas": { - "type": "string", - "format": "uint64", - "title": "gas returns the estimated gas" + "status": { + "type": "string" } }, - "title": "EstimateGasResponse defines EstimateGas response" + "description": "QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\nmethod. It returns the current status of the IBC client." } }, "default": { @@ -3200,36 +3131,11 @@ }, "parameters": [ { - "name": "args", - "description": "args uses the same json format as the json rpc api.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "gas_cap", - "description": "gas_cap defines the default gas cap to be used.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "proposer_address", - "description": "proposer_address of the requested block in hex format.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "chain_id", - "description": "chain_id is the eip155 chain id parsed from the requested block header.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" + "name": "client_id", + "description": "client unique identifier", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ @@ -3237,89 +3143,78 @@ ] } }, - "/evmos/evm/v1/eth_call": { + "/ibc/core/client/v1/consensus_states/{client_id}": { "get": { - "summary": "EthCall implements the `eth_call` rpc api", - "operationId": "EthCall", + "summary": "ConsensusStates queries all the consensus state associated with a given\nclient.", + "operationId": "ConsensusStates", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "hash": { - "type": "string", - "title": "hash of the ethereum transaction in hex format. This hash differs from the\nTendermint sha256 hash of the transaction bytes. See\nhttps://github.com/tendermint/tendermint/issues/6539 for reference" - }, - "logs": { + "consensus_states": { "type": "array", "items": { "type": "object", "properties": { - "address": { - "type": "string", - "title": "address of the contract that generated the event" - }, - "topics": { - "type": "array", - "items": { - "type": "string" + "height": { + "title": "consensus state height", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } }, - "description": "topics is a list of topics provided by the contract." - }, - "data": { - "type": "string", - "format": "byte", - "title": "data which is supplied by the contract, usually ABI-encoded" - }, - "block_number": { - "type": "string", - "format": "uint64", - "title": "block_number of the block in which the transaction was included" - }, - "tx_hash": { - "type": "string", - "title": "tx_hash is the transaction hash" - }, - "tx_index": { - "type": "string", - "format": "uint64", - "title": "tx_index of the transaction in the block" - }, - "block_hash": { - "type": "string", - "title": "block_hash of the block in which the transaction was included" - }, - "index": { - "type": "string", - "format": "uint64", - "title": "index of the log in the block" + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" }, - "removed": { - "type": "boolean", - "description": "removed is true if this log was reverted due to a chain\nreorganisation. You must pay attention to this field if you receive logs\nthrough a filter query." + "consensus_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus state" } }, - "description": "Log represents an protobuf compatible Ethereum Log that defines a contract\nlog event. These events are generated by the LOG opcode and stored/indexed by\nthe node.\n\nNOTE: address, topics and data are consensus fields. The rest of the fields\nare derived, i.e. filled in by the nodes, but not secured by consensus." + "description": "ConsensusStateWithHeight defines a consensus state with an additional height\nfield." }, - "description": "logs contains the transaction hash and the proto-compatible ethereum\nlogs." - }, - "ret": { - "type": "string", - "format": "byte", - "title": "ret is the returned data from evm function (result or data supplied with revert\nopcode)" + "title": "consensus states associated with the identifier" }, - "vm_error": { - "type": "string", - "title": "vm_error is the error returned by vm execution" - }, - "gas_used": { - "type": "string", - "format": "uint64", - "title": "gas_used specifies how much gas was consumed by the transaction" + "pagination": { + "title": "pagination response", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" } }, - "description": "MsgEthereumTxResponse defines the Msg/EthereumTx response type." + "title": "QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method" } }, "default": { @@ -3361,36 +3256,49 @@ }, "parameters": [ { - "name": "args", - "description": "args uses the same json format as the json rpc api.", + "name": "client_id", + "description": "client identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", "in": "query", "required": false, "type": "string", "format": "byte" }, { - "name": "gas_cap", - "description": "gas_cap defines the default gas cap to be used.", + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { - "name": "proposer_address", - "description": "proposer_address of the requested block in hex format.", + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", "in": "query", "required": false, "type": "string", - "format": "byte" + "format": "uint64" }, { - "name": "chain_id", - "description": "chain_id is the eip155 chain id parsed from the requested block header.", + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", "in": "query", "required": false, - "type": "string", - "format": "int64" + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -3398,139 +3306,56 @@ ] } }, - "/evmos/evm/v1/params": { + "/ibc/core/client/v1/consensus_states/{client_id}/heights": { "get": { - "summary": "Params queries the parameters of x/evm module.", - "operationId": "EvmParams", + "summary": "ConsensusStateHeights queries the height of every consensus states associated with a given client.", + "operationId": "ConsensusStateHeights", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params define the evm module parameters.", - "type": "object", - "properties": { - "evm_denom": { - "type": "string", - "description": "evm_denom represents the token denomination used to run the EVM state\ntransitions." - }, - "enable_create": { - "type": "boolean", - "title": "enable_create toggles state transitions that use the vm.Create function" - }, - "enable_call": { - "type": "boolean", - "title": "enable_call toggles state transitions that use the vm.Call function" - }, - "extra_eips": { - "type": "array", - "items": { + "consensus_state_heights": { + "type": "array", + "items": { + "type": "object", + "properties": { + "revision_number": { "type": "string", - "format": "int64" - }, - "title": "extra_eips defines the additional EIPs for the vm.Config" - }, - "chain_config": { - "title": "chain_config defines the EVM chain configuration parameters", - "type": "object", - "properties": { - "homestead_block": { - "type": "string", - "title": "homestead_block switch (nil no fork, 0 = already homestead)" - }, - "dao_fork_block": { - "type": "string", - "title": "dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork)" - }, - "dao_fork_support": { - "type": "boolean", - "title": "dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork" - }, - "eip150_block": { - "type": "string", - "title": "eip150_block: EIP150 implements the Gas price changes\n(https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork)" - }, - "eip150_hash": { - "type": "string", - "title": "eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed)" - }, - "eip155_block": { - "type": "string", - "title": "eip155_block: EIP155Block HF block" - }, - "eip158_block": { - "type": "string", - "title": "eip158_block: EIP158 HF block" - }, - "byzantium_block": { - "type": "string", - "title": "byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium)" - }, - "constantinople_block": { - "type": "string", - "title": "constantinople_block: Constantinople switch block (nil no fork, 0 = already activated)" - }, - "petersburg_block": { - "type": "string", - "title": "petersburg_block: Petersburg switch block (nil same as Constantinople)" - }, - "istanbul_block": { - "type": "string", - "title": "istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul)" - }, - "muir_glacier_block": { - "type": "string", - "title": "muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated)" - }, - "berlin_block": { - "type": "string", - "title": "berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin)" - }, - "london_block": { - "type": "string", - "title": "london_block: London switch block (nil = no fork, 0 = already on london)" - }, - "arrow_glacier_block": { - "type": "string", - "title": "arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated)" - }, - "gray_glacier_block": { - "type": "string", - "title": "gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated)" - }, - "merge_netsplit_block": { - "type": "string", - "title": "merge_netsplit_block: Virtual fork after The Merge to use as a network splitter" - }, - "shanghai_block": { - "type": "string", - "title": "shanghai_block switch block (nil = no fork, 0 = already on shanghai)" - }, - "cancun_block": { - "type": "string", - "title": "cancun_block switch block (nil = no fork, 0 = already on cancun)" - } + "format": "uint64", + "title": "the revision that the client is currently on" }, - "description": "ChainConfig defines the Ethereum ChainConfig parameters using *sdk.Int values\ninstead of *big.Int." + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } }, - "allow_unprotected_txs": { - "type": "boolean", - "description": "allow_unprotected_txs defines if replay-protected (i.e non EIP155\nsigned) transactions can be executed on the state machine." + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset", + "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" + }, + "title": "consensus state heights" + }, + "pagination": { + "title": "pagination response", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "active_precompiles": { - "type": "array", - "items": { - "type": "string" - }, - "title": "active_precompiles defines the slice of hex addresses of the precompiled\ncontracts that are active" + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } }, - "title": "Params defines the EVM module parameters" + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" } }, - "description": "QueryParamsResponse defines the response type for querying x/evm parameters." + "title": "QueryConsensusStateHeightsResponse is the response type for the\nQuery/ConsensusStateHeights RPC method" } }, "default": { @@ -3570,27 +3395,108 @@ } } }, + "parameters": [ + { + "name": "client_id", + "description": "client identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], "tags": [ "Query" ] } }, - "/evmos/evm/v1/storage/{address}/{key}": { + "/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}": { "get": { - "summary": "Storage queries the balance of all coins for a single account.", - "operationId": "Storage", + "summary": "ConsensusState queries a consensus state associated with a client state at\na given height.", + "operationId": "ConsensusState", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "value": { + "consensus_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus state associated with the client identifier at the given height" + }, + "proof": { "type": "string", - "description": "value defines the storage state value hash associated with the given key." + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset", + "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" } }, - "description": "QueryStorageResponse is the response type for the Query/Storage RPC\nmethod." + "title": "QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method" } }, "default": { @@ -3632,18 +3538,34 @@ }, "parameters": [ { - "name": "address", - "description": "address is the ethereum hex address to query the storage state for.", + "name": "client_id", + "description": "client identifier", "in": "path", "required": true, "type": "string" }, { - "name": "key", - "description": "key defines the key of the storage state", + "name": "revision_number", + "description": "consensus state revision number", "in": "path", "required": true, - "type": "string" + "type": "string", + "format": "uint64" + }, + { + "name": "revision_height", + "description": "consensus state revision height", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "latest_height", + "description": "latest_height overrrides the height field and queries the latest stored\nConsensusState.", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -3651,23 +3573,31 @@ ] } }, - "/evmos/evm/v1/trace_block": { + "/ibc/core/client/v1/params": { "get": { - "summary": "TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api", - "operationId": "TraceBlock", + "summary": "ClientParams queries all parameters of the ibc client submodule.", + "operationId": "ClientParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "data": { - "type": "string", - "format": "byte", - "title": "data is the response serialized in bytes" + "params": { + "description": "params defines the parameters of the module.", + "type": "object", + "properties": { + "allowed_clients": { + "type": "array", + "items": { + "type": "string" + }, + "description": "allowed_clients defines the list of allowed client state types which can be created\nand interacted with. If a client type is removed from the allowed clients list, usage\nof this client will be disabled until it is added again to the list." + } + } } }, - "title": "QueryTraceBlockResponse defines TraceBlock response" + "description": "QueryClientParamsResponse is the response type for the Query/ClientParams RPC\nmethod." } }, "default": { @@ -3707,282 +3637,196 @@ } } }, - "parameters": [ - { - "name": "trace_config.tracer", - "description": "tracer is a custom javascript tracer.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.timeout", - "description": "timeout overrides the default timeout of 5 seconds for JavaScript-based tracing\ncalls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.reexec", - "description": "reexec defines the number of blocks the tracer is willing to go back.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "trace_config.disable_stack", - "description": "disable_stack switches stack capture.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.disable_storage", - "description": "disable_storage switches storage capture.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.debug", - "description": "debug can be used to print output during capture end.", - "in": "query", - "required": false, - "type": "boolean" + "tags": [ + "Query" + ] + } + }, + "/ibc/core/client/v1/upgraded_client_states": { + "get": { + "summary": "UpgradedClientState queries an Upgraded IBC light client.", + "operationId": "UpgradedClientState", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "upgraded_client_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "client state associated with the request identifier" + } + }, + "description": "QueryUpgradedClientStateResponse is the response type for the\nQuery/UpgradedClientState RPC method." + } }, - { - "name": "trace_config.limit", - "description": "limit defines the maximum length of output, but zero means unlimited.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "tags": [ + "Query" + ] + } + }, + "/ibc/core/client/v1/upgraded_consensus_states": { + "get": { + "summary": "UpgradedConsensusState queries an Upgraded IBC consensus state.", + "operationId": "UpgradedConsensusState", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "upgraded_consensus_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "Consensus state associated with the request identifier" + } + }, + "description": "QueryUpgradedConsensusStateResponse is the response type for the\nQuery/UpgradedConsensusState RPC method." + } }, - { - "name": "trace_config.overrides.homestead_block", - "description": "homestead_block switch (nil no fork, 0 = already homestead).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.dao_fork_block", - "description": "dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.dao_fork_support", - "description": "dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.overrides.eip150_block", - "description": "eip150_block: EIP150 implements the Gas price changes\n(https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.eip150_hash", - "description": "eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.eip155_block", - "description": "eip155_block: EIP155Block HF block.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.eip158_block", - "description": "eip158_block: EIP158 HF block.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.byzantium_block", - "description": "byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.constantinople_block", - "description": "constantinople_block: Constantinople switch block (nil no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.petersburg_block", - "description": "petersburg_block: Petersburg switch block (nil same as Constantinople).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.istanbul_block", - "description": "istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.muir_glacier_block", - "description": "muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.berlin_block", - "description": "berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.london_block", - "description": "london_block: London switch block (nil = no fork, 0 = already on london).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.arrow_glacier_block", - "description": "arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.gray_glacier_block", - "description": "gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.merge_netsplit_block", - "description": "merge_netsplit_block: Virtual fork after The Merge to use as a network splitter.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.shanghai_block", - "description": "shanghai_block switch block (nil = no fork, 0 = already on shanghai).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.cancun_block", - "description": "cancun_block switch block (nil = no fork, 0 = already on cancun).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.enable_memory", - "description": "enable_memory switches memory capture.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.enable_return_data", - "description": "enable_return_data switches the capture of return data.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.tracer_json_config", - "description": "tracer_json_config configures the tracer using a JSON string.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "block_number", - "description": "block_number of the traced block.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "block_hash", - "description": "block_hash (hex) of the traced block.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "block_time", - "description": "block_time of the traced block.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "proposer_address", - "description": "proposer_address is the address of the requested block.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "chain_id", - "description": "chain_id is the eip155 chain id parsed from the requested block header.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "block_max_gas", - "description": "block_max_gas of the traced block.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } } - ], + }, "tags": [ "Query" ] } }, - "/evmos/evm/v1/trace_tx": { + "/ibc/core/connection/v1/client_connections/{client_id}": { "get": { - "summary": "TraceTx implements the `debug_traceTransaction` rpc api", - "operationId": "TraceTx", + "summary": "ClientConnections queries the connection paths associated with a client\nstate.", + "operationId": "ClientConnections", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "data": { + "connection_paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "slice of all the connection paths associated with a client." + }, + "proof": { "type": "string", "format": "byte", - "title": "data is the response serialized in bytes" + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was generated", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "title": "QueryTraceTxResponse defines TraceTx response" + "title": "QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method" } }, "default": { @@ -4024,293 +3868,221 @@ }, "parameters": [ { - "name": "msg.data.type_url", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics.", - "in": "query", - "required": false, + "name": "client_id", + "description": "client identifier associated with a connection", + "in": "path", + "required": true, "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/ibc/core/connection/v1/connections": { + "get": { + "summary": "Connections queries all the IBC connections of a chain.", + "operationId": "Connections", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "connections": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "connection identifier." + }, + "client_id": { + "type": "string", + "description": "client associated with this connection." + }, + "versions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "title": "unique version identifier" + }, + "features": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of features compatible with the specified identifier" + } + }, + "description": "Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake." + }, + "title": "IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection" + }, + "state": { + "description": "current state of the connection end.", + "type": "string", + "enum": [ + "STATE_UNINITIALIZED_UNSPECIFIED", + "STATE_INIT", + "STATE_TRYOPEN", + "STATE_OPEN" + ], + "default": "STATE_UNINITIALIZED_UNSPECIFIED" + }, + "counterparty": { + "description": "counterparty chain associated with this connection.", + "type": "object", + "properties": { + "client_id": { + "type": "string", + "description": "identifies the client on the counterparty chain associated with a given\nconnection." + }, + "connection_id": { + "type": "string", + "description": "identifies the connection end on the counterparty chain associated with a\ngiven connection." + }, + "prefix": { + "description": "commitment merkle prefix of the counterparty chain.", + "type": "object", + "properties": { + "key_prefix": { + "type": "string", + "format": "byte" + } + }, + "title": "MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))" + } + } + }, + "delay_period": { + "type": "string", + "format": "uint64", + "description": "delay period associated with this connection." + } + }, + "description": "IdentifiedConnection defines a connection with additional connection\nidentifier field." + }, + "description": "list of stored connections of the chain." + }, + "pagination": { + "title": "pagination response", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + }, + "height": { + "title": "query block height", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } + }, + "description": "QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod." + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ { - "name": "msg.data.value", - "description": "Must be a valid serialized protocol buffer of the above specified type.", + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", "in": "query", "required": false, "type": "string", "format": "byte" }, { - "name": "msg.size", - "description": "size is the encoded storage size of the transaction (DEPRECATED).", - "in": "query", - "required": false, - "type": "number", - "format": "double" - }, - { - "name": "msg.hash", - "description": "hash of the transaction in hex format.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "msg.from", - "description": "from is the ethereum signer address in hex format. This address value is checked\nagainst the address derived from the signature (V, R, S) using the\nsecp256k1 elliptic curve.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.tracer", - "description": "tracer is a custom javascript tracer.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.timeout", - "description": "timeout overrides the default timeout of 5 seconds for JavaScript-based tracing\ncalls.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.reexec", - "description": "reexec defines the number of blocks the tracer is willing to go back.", + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", "in": "query", "required": false, "type": "string", "format": "uint64" }, { - "name": "trace_config.disable_stack", - "description": "disable_stack switches stack capture.", + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", "in": "query", "required": false, - "type": "boolean" + "type": "string", + "format": "uint64" }, { - "name": "trace_config.disable_storage", - "description": "disable_storage switches storage capture.", + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", "in": "query", "required": false, "type": "boolean" }, { - "name": "trace_config.debug", - "description": "debug can be used to print output during capture end.", + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", "in": "query", "required": false, "type": "boolean" - }, - { - "name": "trace_config.limit", - "description": "limit defines the maximum length of output, but zero means unlimited.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "trace_config.overrides.homestead_block", - "description": "homestead_block switch (nil no fork, 0 = already homestead).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.dao_fork_block", - "description": "dao_fork_block corresponds to TheDAO hard-fork switch block (nil no fork).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.dao_fork_support", - "description": "dao_fork_support defines whether the nodes supports or opposes the DAO hard-fork.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.overrides.eip150_block", - "description": "eip150_block: EIP150 implements the Gas price changes\n(https://github.com/ethereum/EIPs/issues/150) EIP150 HF block (nil no fork).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.eip150_hash", - "description": "eip150_hash: EIP150 HF hash (needed for header only clients as only gas pricing changed).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.eip155_block", - "description": "eip155_block: EIP155Block HF block.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.eip158_block", - "description": "eip158_block: EIP158 HF block.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.byzantium_block", - "description": "byzantium_block: Byzantium switch block (nil no fork, 0 = already on byzantium).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.constantinople_block", - "description": "constantinople_block: Constantinople switch block (nil no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.petersburg_block", - "description": "petersburg_block: Petersburg switch block (nil same as Constantinople).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.istanbul_block", - "description": "istanbul_block: Istanbul switch block (nil no fork, 0 = already on istanbul).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.muir_glacier_block", - "description": "muir_glacier_block: Eip-2384 (bomb delay) switch block (nil no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.berlin_block", - "description": "berlin_block: Berlin switch block (nil = no fork, 0 = already on berlin).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.london_block", - "description": "london_block: London switch block (nil = no fork, 0 = already on london).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.arrow_glacier_block", - "description": "arrow_glacier_block: Eip-4345 (bomb delay) switch block (nil = no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.gray_glacier_block", - "description": "gray_glacier_block: EIP-5133 (bomb delay) switch block (nil = no fork, 0 = already activated).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.merge_netsplit_block", - "description": "merge_netsplit_block: Virtual fork after The Merge to use as a network splitter.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.shanghai_block", - "description": "shanghai_block switch block (nil = no fork, 0 = already on shanghai).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.overrides.cancun_block", - "description": "cancun_block switch block (nil = no fork, 0 = already on cancun).", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "trace_config.enable_memory", - "description": "enable_memory switches memory capture.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.enable_return_data", - "description": "enable_return_data switches the capture of return data.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "trace_config.tracer_json_config", - "description": "tracer_json_config configures the tracer using a JSON string.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "block_number", - "description": "block_number of requested transaction.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "block_hash", - "description": "block_hash of requested transaction.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "block_time", - "description": "block_time of requested transaction.", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "proposer_address", - "description": "proposer_address is the proposer of the requested block.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "chain_id", - "description": "chain_id is the the eip155 chain id parsed from the requested block header.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" - }, - { - "name": "block_max_gas", - "description": "block_max_gas of the block of the requested transaction.", - "in": "query", - "required": false, - "type": "string", - "format": "int64" } ], "tags": [ @@ -4318,32 +4090,113 @@ ] } }, - "/evmos/evm/v1/validator_account/{cons_address}": { + "/ibc/core/connection/v1/connections/{connection_id}": { "get": { - "summary": "ValidatorAccount queries an Ethereum account's from a validator consensus\nAddress.", - "operationId": "ValidatorAccount", + "summary": "Connection queries an IBC connection end.", + "operationId": "Connection", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "account_address": { - "type": "string", - "description": "account_address is the cosmos address of the account in bech32 format." + "connection": { + "title": "connection associated with the request identifier", + "type": "object", + "properties": { + "client_id": { + "type": "string", + "description": "client associated with this connection." + }, + "versions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "title": "unique version identifier" + }, + "features": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of features compatible with the specified identifier" + } + }, + "description": "Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake." + }, + "description": "IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection." + }, + "state": { + "description": "current state of the connection end.", + "type": "string", + "enum": [ + "STATE_UNINITIALIZED_UNSPECIFIED", + "STATE_INIT", + "STATE_TRYOPEN", + "STATE_OPEN" + ], + "default": "STATE_UNINITIALIZED_UNSPECIFIED" + }, + "counterparty": { + "description": "counterparty chain associated with this connection.", + "type": "object", + "properties": { + "client_id": { + "type": "string", + "description": "identifies the client on the counterparty chain associated with a given\nconnection." + }, + "connection_id": { + "type": "string", + "description": "identifies the connection end on the counterparty chain associated with a\ngiven connection." + }, + "prefix": { + "description": "commitment merkle prefix of the counterparty chain.", + "type": "object", + "properties": { + "key_prefix": { + "type": "string", + "format": "byte" + } + }, + "title": "MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))" + } + } + }, + "delay_period": { + "type": "string", + "format": "uint64", + "description": "delay period that must pass before a consensus state can be used for\npacket-verification NOTE: delay period logic is only implemented by some\nclients." + } + }, + "description": "ConnectionEnd defines a stateful object on a chain connected to another\nseparate one.\nNOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains." }, - "sequence": { + "proof": { "type": "string", - "format": "uint64", - "description": "sequence is the account's sequence number." + "format": "byte", + "title": "merkle proof of existence" }, - "account_number": { - "type": "string", - "format": "uint64", - "title": "account_number is the account number" + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryValidatorAccountResponse is the response type for the\nQuery/ValidatorAccount RPC method." + "description": "QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved." } }, "default": { @@ -4385,8 +4238,8 @@ }, "parameters": [ { - "name": "cons_address", - "description": "cons_address is the validator cons address to query the account for.", + "name": "connection_id", + "description": "connection unique identifier", "in": "path", "required": true, "type": "string" @@ -4397,22 +4250,67 @@ ] } }, - "/evmos/feemarket/v1/base_fee": { + "/ibc/core/connection/v1/connections/{connection_id}/client_state": { "get": { - "summary": "BaseFee queries the base fee of the parent block of the current block.", - "operationId": "FeeMarketBaseFee", + "summary": "ConnectionClientState queries the client state associated with the\nconnection.", + "operationId": "ConnectionClientState", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "base_fee": { + "identified_client_state": { + "title": "client state associated with the channel", + "type": "object", + "properties": { + "client_id": { + "type": "string", + "title": "client identifier" + }, + "client_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "client state" + } + }, + "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." + }, + "proof": { "type": "string", - "title": "base_fee is the EIP1559 base fee" + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryBaseFeeResponse returns the EIP1559 base fee." + "title": "QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method" } }, "default": { @@ -4436,41 +4334,90 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, + "parameters": [ + { + "name": "connection_id", + "description": "connection identifier", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ "Query" ] } }, - "/evmos/feemarket/v1/block_gas": { + "/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}": { "get": { - "summary": "BlockGas queries the gas used at a given block height", - "operationId": "BlockGas", + "summary": "ConnectionConsensusState queries the consensus state associated with the\nconnection.", + "operationId": "ConnectionConsensusState", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "gas": { + "consensus_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus state associated with the channel" + }, + "client_id": { "type": "string", - "format": "int64", - "title": "gas is the returned block gas" + "title": "client ID associated with the consensus state" + }, + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryBlockGasResponse returns block gas used for a given height." + "title": "QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method" } }, "default": { @@ -4494,28 +4441,54 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, + "parameters": [ + { + "name": "connection_id", + "description": "connection identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "revision_number", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "revision_height", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + } + ], "tags": [ "Query" ] } }, - "/evmos/feemarket/v1/params": { + "/ibc/core/connection/v1/params": { "get": { - "summary": "Params queries the parameters of x/feemarket module.", - "operationId": "FeeMarketParams", + "summary": "ConnectionParams queries all parameters of the ibc connection submodule.", + "operationId": "ConnectionParams", "responses": { "200": { "description": "A successful response.", @@ -4523,45 +4496,18 @@ "type": "object", "properties": { "params": { - "description": "params define the evm module parameters.", + "description": "params defines the parameters of the module.", "type": "object", "properties": { - "no_base_fee": { - "type": "boolean", - "title": "no_base_fee forces the EIP-1559 base fee to 0 (needed for 0 price calls)" - }, - "base_fee_change_denominator": { - "type": "integer", - "format": "int64", - "description": "base_fee_change_denominator bounds the amount the base fee can change\nbetween blocks." - }, - "elasticity_multiplier": { - "type": "integer", - "format": "int64", - "description": "elasticity_multiplier bounds the maximum gas limit an EIP-1559 block may\nhave." - }, - "enable_height": { - "type": "string", - "format": "int64", - "description": "enable_height defines at which block height the base fee calculation is enabled." - }, - "base_fee": { - "type": "string", - "description": "base_fee for EIP-1559 blocks." - }, - "min_gas_price": { + "max_expected_time_per_block": { "type": "string", - "title": "min_gas_price defines the minimum gas price value for cosmos and eth transactions" - }, - "min_gas_multiplier": { - "type": "string", - "title": "min_gas_multiplier bounds the minimum gas used to be charged\nto senders based on gas limit" + "format": "uint64", + "description": "maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the\nlargest amount of time that the chain might reasonably take to produce the next block under normal operating\nconditions. A safe choice is 3-5x the expected time per block." } - }, - "title": "Params defines the EVM module parameters" + } } }, - "description": "QueryParamsResponse defines the response type for querying x/evm parameters." + "description": "QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method." } }, "default": { @@ -4585,13 +4531,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -4603,175 +4552,85 @@ ] } }, - "/ibc/apps/transfer/v1/channels/{channel_id}/ports/{port_id}/escrow_address": { + "/ibc/core/channel/v1/channels": { "get": { - "summary": "EscrowAddress returns the escrow address for a particular port and channel id.", - "operationId": "EscrowAddress", + "summary": "Channels queries all the IBC channels of a chain.", + "operationId": "Channels", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "escrow_address": { - "type": "string", - "title": "the escrow account address" - } - }, - "description": "QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { + "channels": { "type": "array", "items": { "type": "object", "properties": { - "type_url": { - "type": "string" + "state": { + "title": "current state of the channel end", + "type": "string", + "enum": [ + "STATE_UNINITIALIZED_UNSPECIFIED", + "STATE_INIT", + "STATE_TRYOPEN", + "STATE_OPEN", + "STATE_CLOSED" + ], + "default": "STATE_UNINITIALIZED_UNSPECIFIED", + "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." }, - "value": { + "ordering": { + "title": "whether the channel is ordered or unordered", "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "name": "channel_id", - "description": "unique channel identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "unique port identifier", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/apps/transfer/v1/denom_hashes/{trace}": { - "get": { - "summary": "DenomHash queries a denomination hash information.", - "operationId": "DenomHash", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "description": "hash (in hex format) of the denomination trace information." - } - }, - "description": "QueryDenomHashResponse is the response type for the Query/DenomHash RPC\nmethod." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" + "enum": [ + "ORDER_NONE_UNSPECIFIED", + "ORDER_UNORDERED", + "ORDER_ORDERED" + ], + "default": "ORDER_NONE_UNSPECIFIED", + "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent" }, - "value": { + "counterparty": { + "title": "counterparty channel end", + "type": "object", + "properties": { + "port_id": { + "type": "string", + "description": "port on the counterparty chain which owns the other end of the channel." + }, + "channel_id": { + "type": "string", + "title": "channel end on the counterparty chain" + } + } + }, + "connection_hops": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" + }, + "version": { "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "name": "trace", - "description": "The denomination trace ([port_id]/[channel_id])+/[denom]", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/apps/transfer/v1/denom_traces": { - "get": { - "summary": "DenomTraces queries all denomination traces.", - "operationId": "DenomTraces", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "denom_traces": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { + "title": "opaque channel version, which is agreed upon during the handshake" + }, + "port_id": { "type": "string", - "description": "path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token." + "title": "port identifier" }, - "base_denom": { + "channel_id": { "type": "string", - "description": "base denomination of the relayed fungible token." + "title": "channel identifier" } }, - "description": "DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path." + "description": "IdentifiedChannel defines a channel with additional port and channel\nidentifier fields." }, - "description": "denom_traces returns all denominations trace information." + "description": "list of stored channels of the chain." }, "pagination": { - "description": "pagination defines the pagination in the response.", + "title": "pagination response", "type": "object", "properties": { "next_key": { @@ -4784,10 +4643,28 @@ "format": "uint64", "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + }, + "height": { + "title": "query block height", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryConnectionsResponse is the response type for the Query/DenomTraces RPC\nmethod." + "description": "QueryChannelsResponse is the response type for the Query/Channels RPC method." } }, "default": { @@ -4811,13 +4688,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -4869,32 +4749,96 @@ ] } }, - "/ibc/apps/transfer/v1/denom_traces/{hash}": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}": { "get": { - "summary": "DenomTrace queries a denomination trace information.", - "operationId": "DenomTrace", + "summary": "Channel queries an IBC Channel.", + "operationId": "Channel", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "denom_trace": { + "channel": { + "title": "channel associated with the request identifiers", "type": "object", "properties": { - "path": { + "state": { + "title": "current state of the channel end", "type": "string", - "description": "path defines the chain of port/channel identifiers used for tracing the\nsource of the fungible token." + "enum": [ + "STATE_UNINITIALIZED_UNSPECIFIED", + "STATE_INIT", + "STATE_TRYOPEN", + "STATE_OPEN", + "STATE_CLOSED" + ], + "default": "STATE_UNINITIALIZED_UNSPECIFIED", + "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." }, - "base_denom": { + "ordering": { + "title": "whether the channel is ordered or unordered", "type": "string", - "description": "base denomination of the relayed fungible token." + "enum": [ + "ORDER_NONE_UNSPECIFIED", + "ORDER_UNORDERED", + "ORDER_ORDERED" + ], + "default": "ORDER_NONE_UNSPECIFIED", + "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent" + }, + "counterparty": { + "title": "counterparty channel end", + "type": "object", + "properties": { + "port_id": { + "type": "string", + "description": "port on the counterparty chain which owns the other end of the channel." + }, + "channel_id": { + "type": "string", + "title": "channel end on the counterparty chain" + } + } + }, + "connection_hops": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" + }, + "version": { + "type": "string", + "title": "opaque channel version, which is agreed upon during the handshake" } }, - "description": "DenomTrace contains the base denomination for ICS20 fungible tokens and the\nsource tracing information path." + "description": "Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets." + }, + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC\nmethod." + "description": "QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved." } }, "default": { @@ -4918,13 +4862,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -4933,8 +4880,15 @@ }, "parameters": [ { - "name": "hash", - "description": "hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information.", + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, "type": "string" @@ -4945,30 +4899,67 @@ ] } }, - "/ibc/apps/transfer/v1/denoms/{denom}/total_escrow": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state": { "get": { - "summary": "TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom.", - "operationId": "TotalEscrowForDenom", + "summary": "ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.", + "operationId": "ChannelClientState", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "amount": { + "identified_client_state": { + "title": "client state associated with the channel", "type": "object", "properties": { - "denom": { - "type": "string" + "client_id": { + "type": "string", + "title": "client identifier" }, - "amount": { - "type": "string" + "client_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "client state" } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." + }, + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method." + "title": "QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method" } }, "default": { @@ -4992,13 +4983,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -5007,7 +5001,15 @@ }, "parameters": [ { - "name": "denom", + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, "type": "string" @@ -5018,32 +5020,60 @@ ] } }, - "/ibc/apps/transfer/v1/params": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}": { "get": { - "summary": "Params queries all parameters of the ibc-transfer module.", - "operationId": "TransferParams", + "summary": "ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.", + "operationId": "ChannelConsensusState", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params defines the parameters of the module.", + "consensus_state": { "type": "object", "properties": { - "send_enabled": { - "type": "boolean", - "description": "send_enabled enables or disables all cross-chain token transfers from this\nchain." + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "receive_enabled": { - "type": "boolean", - "description": "receive_enabled enables or disables all cross-chain token transfers to this\nchain." + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus state associated with the channel" + }, + "client_id": { + "type": "string", + "title": "client ID associated with the consensus state" + }, + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "title": "QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method" } }, "default": { @@ -5067,83 +5097,98 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "tags": [ - "Query" - ] - } - }, - "/ibc/core/client/v1/client_states": { - "get": { - "summary": "ClientStates queries all the IBC light clients of a chain.", - "operationId": "ClientStates", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "client_states": { - "type": "array", - "items": { - "type": "object", - "properties": { - "client_id": { - "type": "string", - "title": "client identifier" - }, - "client_state": { - "title": "client state", - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - }, - "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." - }, - "description": "list of stored ClientStates of the chain." + "parameters": [ + { + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "revision_number", + "description": "revision number of the consensus state", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "revision_height", + "description": "revision height of the consensus state", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Query" + ] + } + }, + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence": { + "get": { + "summary": "NextSequenceReceive returns the next receive sequence for a given channel.", + "operationId": "NextSequenceReceive", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "next_sequence_receive": { + "type": "string", + "format": "uint64", + "title": "next sequence receive number" }, - "pagination": { - "title": "pagination response", + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", "type": "object", "properties": { - "next_key": { + "revision_number": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "uint64", + "title": "the revision that the client is currently on" }, - "total": { + "revision_height": { "type": "string", "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "the height within the given revision" } }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryClientStatesResponse is the response type for the Query/ClientStates RPC\nmethod." + "title": "QuerySequenceResponse is the request type for the\nQuery/QueryNextSequenceReceiveResponse RPC method" } }, "default": { @@ -5185,42 +5230,18 @@ }, "parameters": [ { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" }, { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "name": "port_id", + "description": "port unique identifier", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ @@ -5228,39 +5249,62 @@ ] } }, - "/ibc/core/client/v1/client_states/{client_id}": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements": { "get": { - "summary": "ClientState queries an IBC light client.", - "operationId": "ClientState", + "summary": "PacketAcknowledgements returns all the packet acknowledgements associated\nwith a channel.", + "operationId": "PacketAcknowledgements", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "client_state": { + "acknowledgements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "port_id": { + "type": "string", + "description": "channel port identifier." + }, + "channel_id": { + "type": "string", + "description": "channel unique identifier." + }, + "sequence": { + "type": "string", + "format": "uint64", + "description": "packet sequence." + }, + "data": { + "type": "string", + "format": "byte", + "description": "embedded data that represents packet state." + } + }, + "description": "PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt." + } + }, + "pagination": { + "title": "pagination response", "type": "object", "properties": { - "type_url": { + "next_key": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "value": { + "total": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "client state associated with the request identifier" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" }, - "proof_height": { - "title": "height at which the proof was retrieved", + "height": { + "title": "query block height", "type": "object", "properties": { "revision_number": { @@ -5277,7 +5321,7 @@ "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryClientStateResponse is the response type for the Query/ClientState RPC\nmethod. Besides the client state, it includes a proof and the height from\nwhich the proof was retrieved." + "title": "QueryPacketAcknowledgemetsResponse is the request type for the\nQuery/QueryPacketAcknowledgements RPC method" } }, "default": { @@ -5319,11 +5363,68 @@ }, "parameters": [ { - "name": "client_id", - "description": "client state unique identifier", + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "packet_commitment_sequences", + "description": "list of packet sequences.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "collectionFormat": "multi" } ], "tags": [ @@ -5331,21 +5432,45 @@ ] } }, - "/ibc/core/client/v1/client_status/{client_id}": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}": { "get": { - "summary": "Status queries the status of an IBC client.", - "operationId": "ClientStatus", + "summary": "PacketAcknowledgement queries a stored packet acknowledgement hash.", + "operationId": "PacketAcknowledgement", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "status": { - "type": "string" + "acknowledgement": { + "type": "string", + "format": "byte", + "title": "packet associated with the request fields" + }, + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" + }, + "proof_height": { + "title": "height at which the proof was retrieved", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryClientStatusResponse is the response type for the Query/ClientStatus RPC\nmethod. It returns the current status of the IBC client." + "title": "QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof and the height from which the\nproof was retrieved" } }, "default": { @@ -5387,11 +5512,26 @@ }, "parameters": [ { - "name": "client_id", - "description": "client unique identifier", + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, "type": "string" + }, + { + "name": "sequence", + "description": "packet sequence", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -5399,58 +5539,42 @@ ] } }, - "/ibc/core/client/v1/consensus_states/{client_id}": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments": { "get": { - "summary": "ConsensusStates queries all the consensus state associated with a given\nclient.", - "operationId": "ConsensusStates", + "summary": "PacketCommitments returns all the packet commitments hashes associated\nwith a channel.", + "operationId": "PacketCommitments", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "consensus_states": { + "commitments": { "type": "array", "items": { "type": "object", "properties": { - "height": { - "title": "consensus state height", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "port_id": { + "type": "string", + "description": "channel port identifier." }, - "consensus_state": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "consensus state" + "channel_id": { + "type": "string", + "description": "channel unique identifier." + }, + "sequence": { + "type": "string", + "format": "uint64", + "description": "packet sequence." + }, + "data": { + "type": "string", + "format": "byte", + "description": "embedded data that represents packet state." } }, - "description": "ConsensusStateWithHeight defines a consensus state with an additional height\nfield." - }, - "title": "consensus states associated with the identifier" + "description": "PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt." + } }, "pagination": { "title": "pagination response", @@ -5468,9 +5592,26 @@ } }, "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + }, + "height": { + "title": "query block height", + "type": "object", + "properties": { + "revision_number": { + "type": "string", + "format": "uint64", + "title": "the revision that the client is currently on" + }, + "revision_height": { + "type": "string", + "format": "uint64", + "title": "the height within the given revision" + } + }, + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "title": "QueryConsensusStatesResponse is the response type for the\nQuery/ConsensusStates RPC method" + "title": "QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method" } }, "default": { @@ -5512,8 +5653,15 @@ }, "parameters": [ { - "name": "client_id", - "description": "client identifier", + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, "type": "string" @@ -5562,56 +5710,43 @@ ] } }, - "/ibc/core/client/v1/consensus_states/{client_id}/heights": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks": { "get": { - "summary": "ConsensusStateHeights queries the height of every consensus states associated with a given client.", - "operationId": "ConsensusStateHeights", + "summary": "UnreceivedAcks returns all the unreceived IBC acknowledgements associated\nwith a channel and sequences.", + "operationId": "UnreceivedAcks", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "consensus_state_heights": { + "sequences": { "type": "array", "items": { - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset", - "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" + "type": "string", + "format": "uint64" }, - "title": "consensus state heights" + "title": "list of unreceived acknowledgement sequences" }, - "pagination": { - "title": "pagination response", + "height": { + "title": "query block height", "type": "object", "properties": { - "next_key": { + "revision_number": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "uint64", + "title": "the revision that the client is currently on" }, - "total": { + "revision_height": { "type": "string", "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "the height within the given revision" } }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "title": "QueryConsensusStateHeightsResponse is the response type for the\nQuery/ConsensusStateHeights RPC method" + "title": "QueryUnreceivedAcksResponse is the response type for the\nQuery/UnreceivedAcks RPC method" } }, "default": { @@ -5653,88 +5788,58 @@ }, "parameters": [ { - "name": "client_id", - "description": "client identifier", + "name": "channel_id", + "description": "channel unique identifier", "in": "path", "required": true, "type": "string" }, { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" + "name": "port_id", + "description": "port unique identifier", + "in": "path", + "required": true, + "type": "string" }, { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/ibc/core/client/v1/consensus_states/{client_id}/revision/{revision_number}/height/{revision_height}": { - "get": { - "summary": "ConsensusState queries a consensus state associated with a client state at\na given height.", - "operationId": "ConsensusState", + "name": "packet_ack_sequences", + "description": "list of acknowledgement sequences", + "in": "path", + "required": true, + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "collectionFormat": "csv", + "minItems": 1 + } + ], + "tags": [ + "Query" + ] + } + }, + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets": { + "get": { + "summary": "UnreceivedPackets returns all the unreceived IBC packets associated with a\nchannel and sequences.", + "operationId": "UnreceivedPackets", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "consensus_state": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "sequences": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "consensus state associated with the client identifier at the given height" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" + "title": "list of unreceived packet sequences" }, - "proof_height": { + "height": { + "title": "query block height", "type": "object", "properties": { "revision_number": { @@ -5748,11 +5853,10 @@ "title": "the height within the given revision" } }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset", - "title": "Height is a monotonically increasing data type\nthat can be compared against another Height for the purposes of updating and\nfreezing clients" + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "title": "QueryConsensusStateResponse is the response type for the Query/ConsensusState\nRPC method" + "title": "QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method" } }, "default": { @@ -5794,34 +5898,31 @@ }, "parameters": [ { - "name": "client_id", - "description": "client identifier", + "name": "channel_id", + "description": "channel unique identifier", "in": "path", "required": true, "type": "string" }, { - "name": "revision_number", - "description": "consensus state revision number", + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, - "type": "string", - "format": "uint64" + "type": "string" }, { - "name": "revision_height", - "description": "consensus state revision height", + "name": "packet_commitment_sequences", + "description": "list of packet sequences", "in": "path", "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "latest_height", - "description": "latest_height overrrides the height field and queries the latest stored\nConsensusState.", - "in": "query", - "required": false, - "type": "boolean" + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "collectionFormat": "csv", + "minItems": 1 } ], "tags": [ @@ -5829,103 +5930,45 @@ ] } }, - "/ibc/core/client/v1/params": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}": { "get": { - "summary": "ClientParams queries all parameters of the ibc client submodule.", - "operationId": "ClientParams", + "summary": "PacketCommitment queries a stored packet commitment hash.", + "operationId": "PacketCommitment", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "allowed_clients": { - "type": "array", - "items": { - "type": "string" - }, - "description": "allowed_clients defines the list of allowed client state types which can be created\nand interacted with. If a client type is removed from the allowed clients list, usage\nof this client will be disabled until it is added again to the list." - } - } - } - }, - "description": "QueryClientParamsResponse is the response type for the Query/ClientParams RPC\nmethod." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" + "commitment": { + "type": "string", + "format": "byte", + "title": "packet associated with the request fields" }, - "message": { - "type": "string" + "proof": { + "type": "string", + "format": "byte", + "title": "merkle proof of existence" }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/ibc/core/client/v1/upgraded_client_states": { - "get": { - "summary": "UpgradedClientState queries an Upgraded IBC light client.", - "operationId": "UpgradedClientState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "upgraded_client_state": { + "proof_height": { + "title": "height at which the proof was retrieved", "type": "object", "properties": { - "type_url": { + "revision_number": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "uint64", + "title": "the revision that the client is currently on" }, - "value": { + "revision_height": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "uint64", + "title": "the height within the given revision" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "client state associated with the request identifier" + "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryUpgradedClientStateResponse is the response type for the\nQuery/UpgradedClientState RPC method." + "title": "QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof and the height from which the proof was\nretrieved" } }, "default": { @@ -5965,99 +6008,48 @@ } } }, - "tags": [ - "Query" - ] - } - }, - "/ibc/core/client/v1/upgraded_consensus_states": { - "get": { - "summary": "UpgradedConsensusState queries an Upgraded IBC consensus state.", - "operationId": "UpgradedConsensusState", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "upgraded_consensus_state": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "Consensus state associated with the request identifier" - } - }, - "description": "QueryUpgradedConsensusStateResponse is the response type for the\nQuery/UpgradedConsensusState RPC method." - } + "parameters": [ + { + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } + { + "name": "port_id", + "description": "port unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "sequence", + "description": "packet sequence", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" } - }, + ], "tags": [ "Query" ] } }, - "/ibc/core/connection/v1/client_connections/{client_id}": { + "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}": { "get": { - "summary": "ClientConnections queries the connection paths associated with a client\nstate.", - "operationId": "ClientConnections", + "summary": "PacketReceipt queries if a given packet sequence has been received on the\nqueried chain", + "operationId": "PacketReceipt", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "connection_paths": { - "type": "array", - "items": { - "type": "string" - }, - "description": "slice of all the connection paths associated with a client." + "received": { + "type": "boolean", + "title": "success flag for if receipt exists" }, "proof": { "type": "string", @@ -6065,7 +6057,7 @@ "title": "merkle proof of existence" }, "proof_height": { - "title": "height at which the proof was generated", + "title": "height at which the proof was retrieved", "type": "object", "properties": { "revision_number": { @@ -6082,7 +6074,7 @@ "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "title": "QueryClientConnectionsResponse is the response type for the\nQuery/ClientConnections RPC method" + "title": "QueryPacketReceiptResponse defines the client query response for a packet\nreceipt which also includes a proof, and the height from which the proof was\nretrieved" } }, "default": { @@ -6124,11 +6116,26 @@ }, "parameters": [ { - "name": "client_id", - "description": "client identifier associated with a connection", + "name": "channel_id", + "description": "channel unique identifier", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "port_id", + "description": "port unique identifier", "in": "path", "required": true, "type": "string" + }, + { + "name": "sequence", + "description": "packet sequence", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -6136,95 +6143,82 @@ ] } }, - "/ibc/core/connection/v1/connections": { + "/ibc/core/channel/v1/connections/{connection}/channels": { "get": { - "summary": "Connections queries all the IBC connections of a chain.", - "operationId": "Connections", + "summary": "ConnectionChannels queries all the channels associated with a connection\nend.", + "operationId": "ConnectionChannels", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "connections": { + "channels": { "type": "array", "items": { "type": "object", "properties": { - "id": { - "type": "string", - "description": "connection identifier." - }, - "client_id": { - "type": "string", - "description": "client associated with this connection." - }, - "versions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "identifier": { - "type": "string", - "title": "unique version identifier" - }, - "features": { - "type": "array", - "items": { - "type": "string" - }, - "title": "list of features compatible with the specified identifier" - } - }, - "description": "Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake." - }, - "title": "IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection" - }, "state": { - "description": "current state of the connection end.", + "title": "current state of the channel end", "type": "string", "enum": [ "STATE_UNINITIALIZED_UNSPECIFIED", "STATE_INIT", "STATE_TRYOPEN", - "STATE_OPEN" + "STATE_OPEN", + "STATE_CLOSED" ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED" + "default": "STATE_UNINITIALIZED_UNSPECIFIED", + "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." + }, + "ordering": { + "title": "whether the channel is ordered or unordered", + "type": "string", + "enum": [ + "ORDER_NONE_UNSPECIFIED", + "ORDER_UNORDERED", + "ORDER_ORDERED" + ], + "default": "ORDER_NONE_UNSPECIFIED", + "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent" }, "counterparty": { - "description": "counterparty chain associated with this connection.", + "title": "counterparty channel end", "type": "object", "properties": { - "client_id": { + "port_id": { "type": "string", - "description": "identifies the client on the counterparty chain associated with a given\nconnection." + "description": "port on the counterparty chain which owns the other end of the channel." }, - "connection_id": { + "channel_id": { "type": "string", - "description": "identifies the connection end on the counterparty chain associated with a\ngiven connection." - }, - "prefix": { - "description": "commitment merkle prefix of the counterparty chain.", - "type": "object", - "properties": { - "key_prefix": { - "type": "string", - "format": "byte" - } - }, - "title": "MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))" + "title": "channel end on the counterparty chain" } } }, - "delay_period": { + "connection_hops": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" + }, + "version": { "type": "string", - "format": "uint64", - "description": "delay period associated with this connection." + "title": "opaque channel version, which is agreed upon during the handshake" + }, + "port_id": { + "type": "string", + "title": "port identifier" + }, + "channel_id": { + "type": "string", + "title": "channel identifier" } }, - "description": "IdentifiedConnection defines a connection with additional connection\nidentifier field." + "description": "IdentifiedChannel defines a channel with additional port and channel\nidentifier fields." }, - "description": "list of stored connections of the chain." + "description": "list of channels associated with a connection." }, "pagination": { "title": "pagination response", @@ -6261,7 +6255,7 @@ "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" } }, - "description": "QueryConnectionsResponse is the response type for the Query/Connections RPC\nmethod." + "title": "QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method" } }, "default": { @@ -6302,6 +6296,13 @@ } }, "parameters": [ + { + "name": "connection", + "description": "connection unique identifier", + "in": "path", + "required": true, + "type": "string" + }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -6346,113 +6347,51 @@ ] } }, - "/ibc/core/connection/v1/connections/{connection_id}": { + "/cosmos/auth/v1beta1/account_info/{address}": { "get": { - "summary": "Connection queries an IBC connection end.", - "operationId": "Connection", + "summary": "AccountInfo queries account info which is common to all account types.", + "description": "Since: cosmos-sdk 0.47", + "operationId": "AccountInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "connection": { - "title": "connection associated with the request identifier", + "info": { + "description": "info is the account info which is represented by BaseAccount.", "type": "object", "properties": { - "client_id": { - "type": "string", - "description": "client associated with this connection." - }, - "versions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "identifier": { - "type": "string", - "title": "unique version identifier" - }, - "features": { - "type": "array", - "items": { - "type": "string" - }, - "title": "list of features compatible with the specified identifier" - } - }, - "description": "Version defines the versioning scheme used to negotiate the IBC verison in\nthe connection handshake." - }, - "description": "IBC version which can be utilised to determine encodings or protocols for\nchannels or packets utilising this connection." - }, - "state": { - "description": "current state of the connection end.", - "type": "string", - "enum": [ - "STATE_UNINITIALIZED_UNSPECIFIED", - "STATE_INIT", - "STATE_TRYOPEN", - "STATE_OPEN" - ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED" + "address": { + "type": "string" }, - "counterparty": { - "description": "counterparty chain associated with this connection.", + "pub_key": { "type": "object", "properties": { - "client_id": { + "type_url": { "type": "string", - "description": "identifies the client on the counterparty chain associated with a given\nconnection." + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "connection_id": { + "value": { "type": "string", - "description": "identifies the connection end on the counterparty chain associated with a\ngiven connection." - }, - "prefix": { - "description": "commitment merkle prefix of the counterparty chain.", - "type": "object", - "properties": { - "key_prefix": { - "type": "string", - "format": "byte" - } - }, - "title": "MerklePrefix is merkle path prefixed to the key.\nThe constructed key from the Path and the key will be append(Path.KeyPath,\nappend(Path.KeyPrefix, key...))" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "delay_period": { + "account_number": { "type": "string", - "format": "uint64", - "description": "delay period that must pass before a consensus state can be used for\npacket-verification NOTE: delay period logic is only implemented by some\nclients." + "format": "uint64" + }, + "sequence": { + "type": "string", + "format": "uint64" } - }, - "description": "ConnectionEnd defines a stateful object on a chain connected to another\nseparate one.\nNOTE: there must only be 2 defined ConnectionEnds to establish\na connection between two chains." - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "description": "QueryConnectionResponse is the response type for the Query/Connection RPC\nmethod. Besides the connection end, it includes a proof and the height from\nwhich the proof was retrieved." + "description": "QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47" } }, "default": { @@ -6494,8 +6433,8 @@ }, "parameters": [ { - "name": "connection_id", - "description": "connection unique identifier", + "name": "address", + "description": "address is the account address string.", "in": "path", "required": true, "type": "string" @@ -6506,67 +6445,54 @@ ] } }, - "/ibc/core/connection/v1/connections/{connection_id}/client_state": { + "/cosmos/auth/v1beta1/accounts": { "get": { - "summary": "ConnectionClientState queries the client state associated with the\nconnection.", - "operationId": "ConnectionClientState", + "summary": "Accounts returns all the existing accounts.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43", + "operationId": "Accounts", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "identified_client_state": { - "title": "client state associated with the channel", - "type": "object", - "properties": { - "client_id": { - "type": "string", - "title": "client identifier" - }, - "client_state": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "accounts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "client state" - } + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" + "title": "accounts are the existing accounts" }, - "proof_height": { - "title": "height at which the proof was retrieved", + "pagination": { + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { - "revision_number": { + "next_key": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "revision_height": { + "total": { "type": "string", "format": "uint64", - "title": "the height within the given revision" + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryConnectionClientStateResponse is the response type for the\nQuery/ConnectionClientState RPC method" + "description": "QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43" } }, "default": { @@ -6608,11 +6534,42 @@ }, "parameters": [ { - "name": "connection_id", - "description": "connection identifier", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -6620,17 +6577,17 @@ ] } }, - "/ibc/core/connection/v1/connections/{connection_id}/consensus_state/revision/{revision_number}/height/{revision_height}": { + "/cosmos/auth/v1beta1/accounts/{address}": { "get": { - "summary": "ConnectionConsensusState queries the consensus state associated with the\nconnection.", - "operationId": "ConnectionConsensusState", + "summary": "Account returns account details based on address.", + "operationId": "AuthAccount", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "consensus_state": { + "account": { "type": "object", "properties": { "type_url": { @@ -6643,37 +6600,10 @@ "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "consensus state associated with the channel" - }, - "client_id": { - "type": "string", - "title": "client ID associated with the consensus state" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } }, - "title": "QueryConnectionConsensusStateResponse is the response type for the\nQuery/ConnectionConsensusState RPC method" + "description": "QueryAccountResponse is the response type for the Query/Account RPC method." } }, "default": { @@ -6715,25 +6645,11 @@ }, "parameters": [ { - "name": "connection_id", - "description": "connection identifier", + "name": "address", + "description": "address defines the address to query for.", "in": "path", "required": true, "type": "string" - }, - { - "name": "revision_number", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "revision_height", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" } ], "tags": [ @@ -6741,29 +6657,23 @@ ] } }, - "/ibc/core/connection/v1/params": { + "/cosmos/auth/v1beta1/address_by_id/{id}": { "get": { - "summary": "ConnectionParams queries all parameters of the ibc connection submodule.", - "operationId": "ConnectionParams", + "summary": "AccountAddressByID returns account address based on account number.", + "description": "Since: cosmos-sdk 0.46.2", + "operationId": "AccountAddressByID", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "max_expected_time_per_block": { - "type": "string", - "format": "uint64", - "description": "maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the\nlargest amount of time that the chain might reasonably take to produce the next block under normal operating\nconditions. A safe choice is 3-5x the expected time per block." - } - } + "account_address": { + "type": "string" } }, - "description": "QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method." + "description": "Since: cosmos-sdk 0.46.2", + "title": "QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method" } }, "default": { @@ -6803,124 +6713,45 @@ } } }, + "parameters": [ + { + "name": "id", + "description": "Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.", + "in": "path", + "required": true, + "type": "string", + "format": "int64" + }, + { + "name": "account_id", + "description": "account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + } + ], "tags": [ "Query" ] } }, - "/ibc/core/channel/v1/channels": { + "/cosmos/auth/v1beta1/bech32": { "get": { - "summary": "Channels queries all the IBC channels of a chain.", - "operationId": "Channels", + "summary": "Bech32Prefix queries bech32Prefix", + "description": "Since: cosmos-sdk 0.46", + "operationId": "Bech32Prefix", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "channels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "state": { - "title": "current state of the channel end", - "type": "string", - "enum": [ - "STATE_UNINITIALIZED_UNSPECIFIED", - "STATE_INIT", - "STATE_TRYOPEN", - "STATE_OPEN", - "STATE_CLOSED" - ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED", - "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." - }, - "ordering": { - "title": "whether the channel is ordered or unordered", - "type": "string", - "enum": [ - "ORDER_NONE_UNSPECIFIED", - "ORDER_UNORDERED", - "ORDER_ORDERED" - ], - "default": "ORDER_NONE_UNSPECIFIED", - "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent" - }, - "counterparty": { - "title": "counterparty channel end", - "type": "object", - "properties": { - "port_id": { - "type": "string", - "description": "port on the counterparty chain which owns the other end of the channel." - }, - "channel_id": { - "type": "string", - "title": "channel end on the counterparty chain" - } - } - }, - "connection_hops": { - "type": "array", - "items": { - "type": "string" - }, - "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" - }, - "version": { - "type": "string", - "title": "opaque channel version, which is agreed upon during the handshake" - }, - "port_id": { - "type": "string", - "title": "port identifier" - }, - "channel_id": { - "type": "string", - "title": "channel identifier" - } - }, - "description": "IdentifiedChannel defines a channel with additional port and channel\nidentifier fields." - }, - "description": "list of stored channels of the chain." - }, - "pagination": { - "title": "pagination response", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "height": { - "title": "query block height", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "bech32_prefix": { + "type": "string" } }, - "description": "QueryChannelsResponse is the response type for the Query/Channels RPC method." + "description": "Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -6960,141 +6791,27 @@ } } }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ "Query" ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}": { + "/cosmos/auth/v1beta1/bech32/{address_bytes}": { "get": { - "summary": "Channel queries an IBC Channel.", - "operationId": "Channel", + "summary": "AddressBytesToString converts Account Address bytes to string", + "description": "Since: cosmos-sdk 0.46", + "operationId": "AddressBytesToString", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "channel": { - "title": "channel associated with the request identifiers", - "type": "object", - "properties": { - "state": { - "title": "current state of the channel end", - "type": "string", - "enum": [ - "STATE_UNINITIALIZED_UNSPECIFIED", - "STATE_INIT", - "STATE_TRYOPEN", - "STATE_OPEN", - "STATE_CLOSED" - ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED", - "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." - }, - "ordering": { - "title": "whether the channel is ordered or unordered", - "type": "string", - "enum": [ - "ORDER_NONE_UNSPECIFIED", - "ORDER_UNORDERED", - "ORDER_ORDERED" - ], - "default": "ORDER_NONE_UNSPECIFIED", - "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent" - }, - "counterparty": { - "title": "counterparty channel end", - "type": "object", - "properties": { - "port_id": { - "type": "string", - "description": "port on the counterparty chain which owns the other end of the channel." - }, - "channel_id": { - "type": "string", - "title": "channel end on the counterparty chain" - } - } - }, - "connection_hops": { - "type": "array", - "items": { - "type": "string" - }, - "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" - }, - "version": { - "type": "string", - "title": "opaque channel version, which is agreed upon during the handshake" - } - }, - "description": "Channel defines pipeline for exactly-once packet delivery between specific\nmodules on separate blockchains, which has at least one end capable of\nsending packets and one end capable of receiving packets." - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "address_string": { + "type": "string" } }, - "description": "QueryChannelResponse is the response type for the Query/Channel RPC method.\nBesides the Channel end, it includes a proof and the height from which the\nproof was retrieved." + "description": "AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -7136,18 +6853,11 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", + "name": "address_bytes", "in": "path", "required": true, - "type": "string" + "type": "string", + "format": "byte" } ], "tags": [ @@ -7155,67 +6865,23 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/client_state": { + "/cosmos/auth/v1beta1/bech32/{address_string}": { "get": { - "summary": "ChannelClientState queries for the client state for the channel associated\nwith the provided channel identifiers.", - "operationId": "ChannelClientState", + "summary": "AddressStringToBytes converts Address string to bytes", + "description": "Since: cosmos-sdk 0.46", + "operationId": "AddressStringToBytes", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "identified_client_state": { - "title": "client state associated with the channel", - "type": "object", - "properties": { - "client_id": { - "type": "string", - "title": "client identifier" - }, - "client_state": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "client state" - } - }, - "description": "IdentifiedClientState defines a client state with an additional client\nidentifier field." - }, - "proof": { + "address_bytes": { "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "format": "byte" } }, - "title": "QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method" + "description": "AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -7257,15 +6923,7 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", + "name": "address_string", "in": "path", "required": true, "type": "string" @@ -7276,60 +6934,37 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/consensus_state/revision/{revision_number}/height/{revision_height}": { + "/cosmos/auth/v1beta1/module_accounts": { "get": { - "summary": "ChannelConsensusState queries for the consensus state for the channel\nassociated with the provided channel identifiers.", - "operationId": "ChannelConsensusState", + "summary": "ModuleAccounts returns all the existing module accounts.", + "description": "Since: cosmos-sdk 0.46", + "operationId": "ModuleAccounts", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "consensus_state": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", - "title": "consensus state associated with the channel" - }, - "client_id": { - "type": "string", - "title": "client ID associated with the consensus state" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "accounts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } }, - "title": "QueryChannelClientStateResponse is the Response type for the\nQuery/QueryChannelClientState RPC method" + "description": "QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -7369,82 +7004,38 @@ } } }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "revision_number", - "description": "revision number of the consensus state", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "revision_height", - "description": "revision height of the consensus state", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], "tags": [ "Query" ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence": { + "/cosmos/auth/v1beta1/module_accounts/{name}": { "get": { - "summary": "NextSequenceReceive returns the next receive sequence for a given channel.", - "operationId": "NextSequenceReceive", + "summary": "ModuleAccountByName returns the module account info by module name", + "operationId": "ModuleAccountByName", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "next_sequence_receive": { - "type": "string", - "format": "uint64", - "title": "next sequence receive number" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", + "account": { "type": "object", "properties": { - "revision_number": { + "type_url": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "revision_height": { + "value": { "type": "string", - "format": "uint64", - "title": "the height within the given revision" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } }, - "title": "QuerySequenceResponse is the request type for the\nQuery/QueryNextSequenceReceiveResponse RPC method" + "description": "QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method." } }, "default": { @@ -7486,15 +7077,7 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", + "name": "name", "in": "path", "required": true, "type": "string" @@ -7505,45 +7088,44 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/next_sequence_send": { + "/cosmos/auth/v1beta1/params": { "get": { - "summary": "NextSequenceSend returns the next send sequence for a given channel.", - "operationId": "NextSequenceSend", + "summary": "Params queries all parameters.", + "operationId": "AuthParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "next_sequence_send": { - "type": "string", - "format": "uint64", - "title": "next sequence send number" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", + "params": { + "description": "params defines the parameters of the module.", "type": "object", "properties": { - "revision_number": { + "max_memo_characters": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "format": "uint64" }, - "revision_height": { + "tx_sig_limit": { "type": "string", - "format": "uint64", - "title": "the height within the given revision" + "format": "uint64" + }, + "tx_size_cost_per_byte": { + "type": "string", + "format": "uint64" + }, + "sig_verify_cost_ed25519": { + "type": "string", + "format": "uint64" + }, + "sig_verify_cost_secp256k1": { + "type": "string", + "format": "uint64" } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryNextSequenceSendResponse is the request type for the\nQuery/QueryNextSequenceSend RPC method" + "description": "QueryParamsResponse is the response type for the Query/Params RPC method." } }, "default": { @@ -7583,66 +7165,53 @@ } } }, - "parameters": [ - { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Query" ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acknowledgements": { + "/cosmos/authz/v1beta1/grants": { "get": { - "summary": "PacketAcknowledgements returns all the packet acknowledgements associated\nwith a channel.", - "operationId": "PacketAcknowledgements", + "summary": "Returns list of `Authorization`, granted to the grantee by the granter.", + "operationId": "Grants", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "acknowledgements": { + "grants": { "type": "array", "items": { "type": "object", "properties": { - "port_id": { - "type": "string", - "description": "channel port identifier." - }, - "channel_id": { - "type": "string", - "description": "channel unique identifier." - }, - "sequence": { - "type": "string", - "format": "uint64", - "description": "packet sequence." + "authorization": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "data": { + "expiration": { "type": "string", - "format": "byte", - "description": "embedded data that represents packet state." + "format": "date-time", + "title": "time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)" } }, - "description": "PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt." - } + "description": "Grant gives permissions to execute\nthe provide method with expiration time." + }, + "description": "authorizations is a list of grants granted for grantee by granter." }, "pagination": { - "title": "pagination response", + "description": "pagination defines an pagination for the response.", "type": "object", "properties": { "next_key": { @@ -7655,28 +7224,10 @@ "format": "uint64", "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "height": { - "title": "query block height", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryPacketAcknowledgemetsResponse is the request type for the\nQuery/QueryPacketAcknowledgements RPC method" + "description": "QueryGrantsResponse is the response type for the Query/Authorizations RPC method." } }, "default": { @@ -7718,17 +7269,22 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, + "name": "granter", + "in": "query", + "required": false, "type": "string" }, { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, + "name": "grantee", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "msg_type_url", + "description": "Optional, msg_type_url, when set, will query only grants matching given msg type.", + "in": "query", + "required": false, "type": "string" }, { @@ -7768,18 +7324,6 @@ "in": "query", "required": false, "type": "boolean" - }, - { - "name": "packet_commitment_sequences", - "description": "list of packet sequences.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "collectionFormat": "multi" } ], "tags": [ @@ -7787,45 +7331,70 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_acks/{sequence}": { + "/cosmos/authz/v1beta1/grants/grantee/{grantee}": { "get": { - "summary": "PacketAcknowledgement queries a stored packet acknowledgement hash.", - "operationId": "PacketAcknowledgement", + "summary": "GranteeGrants returns a list of `GrantAuthorization` by grantee.", + "description": "Since: cosmos-sdk 0.46", + "operationId": "GranteeGrants", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "acknowledgement": { - "type": "string", - "format": "byte", - "title": "packet associated with the request fields" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" + "grants": { + "type": "array", + "items": { + "type": "object", + "properties": { + "granter": { + "type": "string" + }, + "grantee": { + "type": "string" + }, + "authorization": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "expiration": { + "type": "string", + "format": "date-time" + } + }, + "title": "GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto" + }, + "description": "grants is a list of grants granted to the grantee." }, - "proof_height": { - "title": "height at which the proof was retrieved", + "pagination": { + "description": "pagination defines an pagination for the response.", "type": "object", "properties": { - "revision_number": { + "next_key": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "revision_height": { + "total": { "type": "string", "format": "uint64", - "title": "the height within the given revision" + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryPacketAcknowledgementResponse defines the client query response for a\npacket which also includes a proof and the height from which the\nproof was retrieved" + "description": "QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method." } }, "default": { @@ -7867,26 +7436,48 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", + "name": "grantee", "in": "path", "required": true, "type": "string" }, { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" }, { - "name": "sequence", - "description": "packet sequence", - "in": "path", - "required": true, + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, "type": "string", "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -7894,45 +7485,54 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments": { + "/cosmos/authz/v1beta1/grants/granter/{granter}": { "get": { - "summary": "PacketCommitments returns all the packet commitments hashes associated\nwith a channel.", - "operationId": "PacketCommitments", + "summary": "GranterGrants returns list of `GrantAuthorization`, granted by granter.", + "description": "Since: cosmos-sdk 0.46", + "operationId": "GranterGrants", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "commitments": { + "grants": { "type": "array", "items": { "type": "object", "properties": { - "port_id": { - "type": "string", - "description": "channel port identifier." + "granter": { + "type": "string" }, - "channel_id": { - "type": "string", - "description": "channel unique identifier." + "grantee": { + "type": "string" }, - "sequence": { - "type": "string", - "format": "uint64", - "description": "packet sequence." + "authorization": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "data": { + "expiration": { "type": "string", - "format": "byte", - "description": "embedded data that represents packet state." + "format": "date-time" } }, - "description": "PacketState defines the generic type necessary to retrieve and store\npacket commitments, acknowledgements, and receipts.\nCaller is responsible for knowing the context necessary to interpret this\nstate as a commitment, acknowledgement, or a receipt." - } + "title": "GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto" + }, + "description": "grants is a list of grants granted by the granter." }, "pagination": { - "title": "pagination response", + "description": "pagination defines an pagination for the response.", "type": "object", "properties": { "next_key": { @@ -7945,28 +7545,10 @@ "format": "uint64", "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "height": { - "title": "query block height", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryPacketCommitmentsResponse is the request type for the\nQuery/QueryPacketCommitments RPC method" + "description": "QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method." } }, "default": { @@ -8008,15 +7590,7 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "port_id", - "description": "port unique identifier", + "name": "granter", "in": "path", "required": true, "type": "string" @@ -8065,43 +7639,51 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_ack_sequences}/unreceived_acks": { + "/cosmos/bank/v1beta1/balances/{address}": { "get": { - "summary": "UnreceivedAcks returns all the unreceived IBC acknowledgements associated\nwith a channel and sequences.", - "operationId": "UnreceivedAcks", + "summary": "AllBalances queries the balance of all coins for a single account.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", + "operationId": "AllBalances", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "sequences": { + "balances": { "type": "array", "items": { - "type": "string", - "format": "uint64" + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "title": "list of unreceived acknowledgement sequences" + "description": "balances is the balances of all the coins." }, - "height": { - "title": "query block height", + "pagination": { + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { - "revision_number": { + "next_key": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "revision_height": { + "total": { "type": "string", "format": "uint64", - "title": "the height within the given revision" + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryUnreceivedAcksResponse is the response type for the\nQuery/UnreceivedAcks RPC method" + "description": "QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod." } }, "default": { @@ -8125,16 +7707,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -8143,31 +7722,49 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", + "name": "address", + "description": "address is the address to query balances for.", "in": "path", "required": true, "type": "string" }, { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" }, { - "name": "packet_ack_sequences", - "description": "list of acknowledgement sequences", - "in": "path", - "required": true, - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "collectionFormat": "csv", - "minItems": 1 + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -8175,43 +7772,30 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{packet_commitment_sequences}/unreceived_packets": { + "/cosmos/bank/v1beta1/balances/{address}/by_denom": { "get": { - "summary": "UnreceivedPackets returns all the unreceived IBC packets associated with a\nchannel and sequences.", - "operationId": "UnreceivedPackets", + "summary": "Balance queries the balance of a single coin for a single account.", + "operationId": "BankBalance", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "sequences": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unreceived packet sequences" - }, - "height": { - "title": "query block height", + "balance": { "type": "object", "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "denom": { + "type": "string" }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" + "amount": { + "type": "string" } }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." } }, - "title": "QueryUnreceivedPacketsResponse is the response type for the\nQuery/UnreceivedPacketCommitments RPC method" + "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." } }, "default": { @@ -8235,16 +7819,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -8253,31 +7834,18 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", + "name": "address", + "description": "address is the address to query balances for.", "in": "path", "required": true, "type": "string" }, { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, + "name": "denom", + "description": "denom is the coin denom to query balances for.", + "in": "query", + "required": false, "type": "string" - }, - { - "name": "packet_commitment_sequences", - "description": "list of packet sequences", - "in": "path", - "required": true, - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "collectionFormat": "csv", - "minItems": 1 } ], "tags": [ @@ -8285,45 +7853,60 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_commitments/{sequence}": { + "/cosmos/bank/v1beta1/denom_owners/{denom}": { "get": { - "summary": "PacketCommitment queries a stored packet commitment hash.", - "operationId": "PacketCommitment", + "summary": "DenomOwners queries for all account addresses that own a particular token\ndenomination.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46", + "operationId": "DenomOwners", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "commitment": { - "type": "string", - "format": "byte", - "title": "packet associated with the request fields" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" + "denom_owners": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "address defines the address that owns a particular denomination." + }, + "balance": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + } + }, + "description": "DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46" + } }, - "proof_height": { - "title": "height at which the proof was retrieved", + "pagination": { + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { - "revision_number": { + "next_key": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "revision_height": { + "total": { "type": "string", "format": "uint64", - "title": "the height within the given revision" + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryPacketCommitmentResponse defines the client query response for a packet\nwhich also includes a proof and the height from which the proof was\nretrieved" + "description": "QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -8347,16 +7930,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -8365,26 +7945,49 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", + "name": "denom", + "description": "denom defines the coin denomination to query all account holders for.", "in": "path", "required": true, "type": "string" }, { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" }, { - "name": "sequence", - "description": "packet sequence", - "in": "path", - "required": true, + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, "type": "string", "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -8392,44 +7995,98 @@ ] } }, - "/ibc/core/channel/v1/channels/{channel_id}/ports/{port_id}/packet_receipts/{sequence}": { + "/cosmos/bank/v1beta1/denoms_metadata": { "get": { - "summary": "PacketReceipt queries if a given packet sequence has been received on the\nqueried chain", - "operationId": "PacketReceipt", + "summary": "DenomsMetadata queries the client metadata for all registered coin\ndenominations.", + "operationId": "DenomsMetadata", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "received": { - "type": "boolean", - "title": "success flag for if receipt exists" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" + "metadatas": { + "type": "array", + "items": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "denom_units": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string", + "description": "denom represents the string name of the given denom unit (e.g uatom)." + }, + "exponent": { + "type": "integer", + "format": "int64", + "description": "exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom)." + }, + "aliases": { + "type": "array", + "items": { + "type": "string" + }, + "title": "aliases is a list of string aliases for the given denom" + } + }, + "description": "DenomUnit represents a struct that describes a given\ndenomination unit of the basic token." + }, + "title": "denom_units represents the list of DenomUnit's for a given coin" + }, + "base": { + "type": "string", + "description": "base represents the base denom (should be the DenomUnit with exponent = 0)." + }, + "display": { + "type": "string", + "description": "display indicates the suggested denom that should be\ndisplayed in clients." + }, + "name": { + "type": "string", + "description": "Since: cosmos-sdk 0.43", + "title": "name defines the name of the token (eg: Cosmos Atom)" + }, + "symbol": { + "type": "string", + "description": "symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43" + }, + "uri": { + "type": "string", + "description": "URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46" + }, + "uri_hash": { + "type": "string", + "description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46" + } + }, + "description": "Metadata represents a struct that describes\na basic token." + }, + "description": "metadata provides the client information for all the registered tokens." }, - "proof_height": { - "title": "height at which the proof was retrieved", + "pagination": { + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { - "revision_number": { + "next_key": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "revision_height": { + "total": { "type": "string", "format": "uint64", - "title": "the height within the given revision" + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + } } }, - "title": "QueryPacketReceiptResponse defines the client query response for a packet\nreceipt which also includes a proof, and the height from which the proof was\nretrieved" + "description": "QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod." } }, "default": { @@ -8453,16 +8110,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -8471,26 +8125,42 @@ }, "parameters": [ { - "name": "channel_id", - "description": "channel unique identifier", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" }, { - "name": "port_id", - "description": "port unique identifier", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" }, { - "name": "sequence", - "description": "packet sequence", - "in": "path", - "required": true, + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, "type": "string", "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -8498,119 +8168,78 @@ ] } }, - "/ibc/core/channel/v1/connections/{connection}/channels": { + "/cosmos/bank/v1beta1/denoms_metadata/{denom}": { "get": { - "summary": "ConnectionChannels queries all the channels associated with a connection\nend.", - "operationId": "ConnectionChannels", + "summary": "DenomsMetadata queries the client metadata of a given coin denomination.", + "operationId": "DenomMetadata", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "channels": { - "type": "array", - "items": { - "type": "object", - "properties": { - "state": { - "title": "current state of the channel end", - "type": "string", - "enum": [ - "STATE_UNINITIALIZED_UNSPECIFIED", - "STATE_INIT", - "STATE_TRYOPEN", - "STATE_OPEN", - "STATE_CLOSED" - ], - "default": "STATE_UNINITIALIZED_UNSPECIFIED", - "description": "State defines if a channel is in one of the following states:\nCLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED.\n\n - STATE_UNINITIALIZED_UNSPECIFIED: Default State\n - STATE_INIT: A channel has just started the opening handshake.\n - STATE_TRYOPEN: A channel has acknowledged the handshake step on the counterparty chain.\n - STATE_OPEN: A channel has completed the handshake. Open channels are\nready to send and receive packets.\n - STATE_CLOSED: A channel has been closed and can no longer be used to send or receive\npackets." - }, - "ordering": { - "title": "whether the channel is ordered or unordered", - "type": "string", - "enum": [ - "ORDER_NONE_UNSPECIFIED", - "ORDER_UNORDERED", - "ORDER_ORDERED" - ], - "default": "ORDER_NONE_UNSPECIFIED", - "description": "- ORDER_NONE_UNSPECIFIED: zero-value for channel ordering\n - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in\nwhich they were sent.\n - ORDER_ORDERED: packets are delivered exactly in the order which they were sent" - }, - "counterparty": { - "title": "counterparty channel end", + "metadata": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "denom_units": { + "type": "array", + "items": { "type": "object", "properties": { - "port_id": { + "denom": { "type": "string", - "description": "port on the counterparty chain which owns the other end of the channel." + "description": "denom represents the string name of the given denom unit (e.g uatom)." }, - "channel_id": { - "type": "string", - "title": "channel end on the counterparty chain" + "exponent": { + "type": "integer", + "format": "int64", + "description": "exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom)." + }, + "aliases": { + "type": "array", + "items": { + "type": "string" + }, + "title": "aliases is a list of string aliases for the given denom" } - } - }, - "connection_hops": { - "type": "array", - "items": { - "type": "string" }, - "title": "list of connection identifiers, in order, along which packets sent on\nthis channel will travel" - }, - "version": { - "type": "string", - "title": "opaque channel version, which is agreed upon during the handshake" - }, - "port_id": { - "type": "string", - "title": "port identifier" + "description": "DenomUnit represents a struct that describes a given\ndenomination unit of the basic token." }, - "channel_id": { - "type": "string", - "title": "channel identifier" - } + "title": "denom_units represents the list of DenomUnit's for a given coin" }, - "description": "IdentifiedChannel defines a channel with additional port and channel\nidentifier fields." - }, - "description": "list of channels associated with a connection." - }, - "pagination": { - "title": "pagination response", - "type": "object", - "properties": { - "next_key": { + "base": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "description": "base represents the base denom (should be the DenomUnit with exponent = 0)." }, - "total": { + "display": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "height": { - "title": "query block height", - "type": "object", - "properties": { - "revision_number": { + "description": "display indicates the suggested denom that should be\ndisplayed in clients." + }, + "name": { "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" + "description": "Since: cosmos-sdk 0.43", + "title": "name defines the name of the token (eg: Cosmos Atom)" }, - "revision_height": { + "symbol": { "type": "string", - "format": "uint64", - "title": "the height within the given revision" + "description": "symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43" + }, + "uri": { + "type": "string", + "description": "URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46" + }, + "uri_hash": { + "type": "string", + "description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46" } }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" + "description": "Metadata represents a struct that describes\na basic token." } }, - "title": "QueryConnectionChannelsResponse is the Response type for the\nQuery/QueryConnectionChannels RPC method" + "description": "QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod." } }, "default": { @@ -8634,16 +8263,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -8652,49 +8278,11 @@ }, "parameters": [ { - "name": "connection", - "description": "connection unique identifier", + "name": "denom", + "description": "denom is the coin denom to query the metadata for.", "in": "path", "required": true, "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ @@ -8702,51 +8290,43 @@ ] } }, - "/cosmos/auth/v1beta1/account_info/{address}": { + "/cosmos/bank/v1beta1/params": { "get": { - "summary": "AccountInfo queries account info which is common to all account types.", - "description": "Since: cosmos-sdk 0.47", - "operationId": "AccountInfo", + "summary": "Params queries the parameters of x/bank module.", + "operationId": "BankParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "info": { - "description": "info is the account info which is represented by BaseAccount.", + "params": { "type": "object", "properties": { - "address": { - "type": "string" - }, - "pub_key": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "send_enabled": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "enabled": { + "type": "boolean" + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "description": "SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable)." }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "account_number": { - "type": "string", - "format": "uint64" + "description": "Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files." }, - "sequence": { - "type": "string", - "format": "uint64" + "default_send_enabled": { + "type": "boolean" } - } + }, + "description": "Params defines the parameters for the bank module." } }, - "description": "QueryAccountInfoResponse is the Query/AccountInfo response type.\n\nSince: cosmos-sdk 0.47" + "description": "QueryParamsResponse defines the response type for querying x/bank parameters." } }, "default": { @@ -8770,68 +8350,52 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "address", - "description": "address is the account address string.", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Query" ] } }, - "/cosmos/auth/v1beta1/accounts": { + "/cosmos/bank/v1beta1/send_enabled": { "get": { - "summary": "Accounts returns all the existing accounts.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.43", - "operationId": "Accounts", + "summary": "SendEnabled queries for SendEnabled entries.", + "description": "This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47", + "operationId": "SendEnabled", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "accounts": { + "send_enabled": { "type": "array", "items": { "type": "object", "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "denom": { + "type": "string" }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "enabled": { + "type": "boolean" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "title": "accounts are the existing accounts" + "description": "SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable)." + } }, "pagination": { - "description": "pagination defines the pagination in the response.", + "description": "pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.", "type": "object", "properties": { "next_key": { @@ -8847,7 +8411,7 @@ } } }, - "description": "QueryAccountsResponse is the response type for the Query/Accounts RPC method.\n\nSince: cosmos-sdk 0.43" + "description": "QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47" } }, "default": { @@ -8871,16 +8435,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -8888,6 +8449,17 @@ } }, "parameters": [ + { + "name": "denoms", + "description": "denoms is the specific denoms you want look up. Leave empty to get all entries.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -8932,33 +8504,51 @@ ] } }, - "/cosmos/auth/v1beta1/accounts/{address}": { + "/cosmos/bank/v1beta1/spendable_balances/{address}": { "get": { - "summary": "Account returns account details based on address.", - "operationId": "AuthAccount", + "summary": "SpendableBalances queries the spendable balance of all coins for a single\naccount.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46", + "operationId": "SpendableBalances", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "account": { + "balances": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "balances is the spendable balances of all the coins." + }, + "pagination": { + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { - "type_url": { + "next_key": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "value": { + "total": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } }, - "description": "QueryAccountResponse is the response type for the Query/Account RPC method." + "description": "QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -8982,16 +8572,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -9001,10 +8588,48 @@ "parameters": [ { "name": "address", - "description": "address defines the address to query for.", + "description": "address is the address to query spendable balances for.", "in": "path", "required": true, "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -9012,23 +8637,31 @@ ] } }, - "/cosmos/auth/v1beta1/address_by_id/{id}": { + "/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom": { "get": { - "summary": "AccountAddressByID returns account address based on account number.", - "description": "Since: cosmos-sdk 0.46.2", - "operationId": "AccountAddressByID", + "summary": "SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47", + "operationId": "SpendableBalanceByDenom", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "account_address": { - "type": "string" + "balance": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." } }, - "description": "Since: cosmos-sdk 0.46.2", - "title": "QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method" + "description": "QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47" } }, "default": { @@ -9052,16 +8685,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -9070,20 +8700,18 @@ }, "parameters": [ { - "name": "id", - "description": "Deprecated, use account_id instead\n\nid is the account number of the address to be queried. This field\nshould have been an uint64 (like all account numbers), and will be\nupdated to uint64 in a future version of the auth query.", + "name": "address", + "description": "address is the address to query balances for.", "in": "path", "required": true, - "type": "string", - "format": "int64" + "type": "string" }, { - "name": "account_id", - "description": "account_id is the account number of the address to be queried.\n\nSince: cosmos-sdk 0.47", + "name": "denom", + "description": "denom is the coin denom to query balances for.", "in": "query", "required": false, - "type": "string", - "format": "uint64" + "type": "string" } ], "tags": [ @@ -9091,22 +8719,51 @@ ] } }, - "/cosmos/auth/v1beta1/bech32": { + "/cosmos/bank/v1beta1/supply": { "get": { - "summary": "Bech32Prefix queries bech32Prefix", - "description": "Since: cosmos-sdk 0.46", - "operationId": "Bech32Prefix", + "summary": "TotalSupply queries the total supply of all coins.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", + "operationId": "TotalSupply", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "bech32_prefix": { - "type": "string" + "supply": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "title": "supply is the supply of the coins" + }, + "pagination": { + "description": "pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "Bech32PrefixResponse is the response type for Bech32Prefix rpc method.\n\nSince: cosmos-sdk 0.46" + "title": "QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod" } }, "default": { @@ -9130,43 +8787,89 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, + "parameters": [ + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], "tags": [ "Query" ] } }, - "/cosmos/auth/v1beta1/bech32/{address_bytes}": { + "/cosmos/bank/v1beta1/supply/by_denom": { "get": { - "summary": "AddressBytesToString converts Account Address bytes to string", - "description": "Since: cosmos-sdk 0.46", - "operationId": "AddressBytesToString", + "summary": "SupplyOf queries the supply of a single coin.", + "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", + "operationId": "SupplyOf", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "address_string": { - "type": "string" + "amount": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." } }, - "description": "AddressBytesToStringResponse is the response type for AddressString rpc method.\n\nSince: cosmos-sdk 0.46" + "description": "QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method." } }, "default": { @@ -9190,86 +8893,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "address_bytes", - "in": "path", - "required": true, - "type": "string", - "format": "byte" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/auth/v1beta1/bech32/{address_string}": { - "get": { - "summary": "AddressStringToBytes converts Address string to bytes", - "description": "Since: cosmos-sdk 0.46", - "operationId": "AddressStringToBytes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "address_bytes": { - "type": "string", - "format": "byte" - } - }, - "description": "AddressStringToBytesResponse is the response type for AddressBytes rpc method.\n\nSince: cosmos-sdk 0.46" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -9278,9 +8908,10 @@ }, "parameters": [ { - "name": "address_string", - "in": "path", - "required": true, + "name": "denom", + "description": "denom is the coin denom to query balances for.", + "in": "query", + "required": false, "type": "string" } ], @@ -9289,108 +8920,48 @@ ] } }, - "/cosmos/auth/v1beta1/module_accounts": { - "get": { - "summary": "ModuleAccounts returns all the existing module accounts.", - "description": "Since: cosmos-sdk 0.46", - "operationId": "ModuleAccounts", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "accounts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - }, - "description": "QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method.\n\nSince: cosmos-sdk 0.46" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/auth/v1beta1/module_accounts/{name}": { + "/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}": { "get": { - "summary": "ModuleAccountByName returns the module account info by module name", - "operationId": "ModuleAccountByName", + "summary": "Allowance returns fee granted to the grantee by the granter.", + "operationId": "Allowance", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "account": { + "allowance": { + "description": "allowance is a allowance granted for grantee by granter.", "type": "object", "properties": { - "type_url": { + "granter": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "description": "granter is the address of the user granting an allowance of their funds." }, - "value": { + "grantee": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "description": "grantee is the address of the user being granted an allowance of another user's funds." + }, + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + } } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "title": "Grant is stored in the KVStore to record a grant with full context" } }, - "description": "QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method." + "description": "QueryAllowanceResponse is the response type for the Query/Allowance RPC method." } }, "default": { @@ -9432,7 +9003,15 @@ }, "parameters": [ { - "name": "name", + "name": "granter", + "description": "granter is the address of the user granting an allowance of their funds.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "grantee", + "description": "grantee is the address of the user being granted an allowance of another user's funds.", "in": "path", "required": true, "type": "string" @@ -9443,104 +9022,31 @@ ] } }, - "/cosmos/auth/v1beta1/params": { + "/cosmos/feegrant/v1beta1/allowances/{grantee}": { "get": { - "summary": "Params queries all parameters.", - "operationId": "AuthParams", + "summary": "Allowances returns all the grants for address.", + "operationId": "Allowances", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "max_memo_characters": { - "type": "string", - "format": "uint64" - }, - "tx_sig_limit": { - "type": "string", - "format": "uint64" - }, - "tx_size_cost_per_byte": { - "type": "string", - "format": "uint64" - }, - "sig_verify_cost_ed25519": { - "type": "string", - "format": "uint64" - }, - "sig_verify_cost_secp256k1": { - "type": "string", - "format": "uint64" - } - } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { + "allowances": { "type": "array", "items": { "type": "object", "properties": { - "type_url": { + "granter": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "description": "granter is the address of the user granting an allowance of their funds." }, - "value": { + "grantee": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/authz/v1beta1/grants": { - "get": { - "summary": "Returns list of `Authorization`, granted to the grantee by the granter.", - "operationId": "Grants", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "grants": { - "type": "array", - "items": { - "type": "object", - "properties": { - "authorization": { + "description": "grantee is the address of the user being granted an allowance of another user's funds." + }, + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", "type": "object", "properties": { "type_url": { @@ -9552,18 +9058,12 @@ "format": "byte", "description": "Must be a valid serialized protocol buffer of the above specified type." } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "expiration": { - "type": "string", - "format": "date-time", - "title": "time when the grant will expire and will be pruned. If null, then the grant\ndoesn't have a time expiration (other conditions in `authorization`\nmay apply to invalidate the grant)" + } } }, - "description": "Grant gives permissions to execute\nthe provide method with expiration time." + "title": "Grant is stored in the KVStore to record a grant with full context" }, - "description": "authorizations is a list of grants granted for grantee by granter." + "description": "allowances are allowance's granted for grantee by granter." }, "pagination": { "description": "pagination defines an pagination for the response.", @@ -9582,7 +9082,7 @@ } } }, - "description": "QueryGrantsResponse is the response type for the Query/Authorizations RPC method." + "description": "QueryAllowancesResponse is the response type for the Query/Allowances RPC method." } }, "default": { @@ -9623,23 +9123,10 @@ } }, "parameters": [ - { - "name": "granter", - "in": "query", - "required": false, - "type": "string" - }, { "name": "grantee", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "msg_type_url", - "description": "Optional, msg_type_url, when set, will query only grants matching given msg type.", - "in": "query", - "required": false, + "in": "path", + "required": true, "type": "string" }, { @@ -9686,29 +9173,32 @@ ] } }, - "/cosmos/authz/v1beta1/grants/grantee/{grantee}": { + "/cosmos/feegrant/v1beta1/issued/{granter}": { "get": { - "summary": "GranteeGrants returns a list of `GrantAuthorization` by grantee.", + "summary": "AllowancesByGranter returns all the grants given by an address", "description": "Since: cosmos-sdk 0.46", - "operationId": "GranteeGrants", + "operationId": "AllowancesByGranter", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "grants": { + "allowances": { "type": "array", "items": { "type": "object", "properties": { "granter": { - "type": "string" + "type": "string", + "description": "granter is the address of the user granting an allowance of their funds." }, "grantee": { - "type": "string" + "type": "string", + "description": "grantee is the address of the user being granted an allowance of another user's funds." }, - "authorization": { + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", "type": "object", "properties": { "type_url": { @@ -9720,17 +9210,12 @@ "format": "byte", "description": "Must be a valid serialized protocol buffer of the above specified type." } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "expiration": { - "type": "string", - "format": "date-time" + } } }, - "title": "GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto" + "title": "Grant is stored in the KVStore to record a grant with full context" }, - "description": "grants is a list of grants granted to the grantee." + "description": "allowances that have been issued by the granter." }, "pagination": { "description": "pagination defines an pagination for the response.", @@ -9749,7 +9234,7 @@ } } }, - "description": "QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants RPC method." + "description": "QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46" } }, "default": { @@ -9791,7 +9276,7 @@ }, "parameters": [ { - "name": "grantee", + "name": "granter", "in": "path", "required": true, "type": "string" @@ -9840,54 +9325,37 @@ ] } }, - "/cosmos/authz/v1beta1/grants/granter/{granter}": { + "/cosmos/evidence/v1beta1/evidence": { "get": { - "summary": "GranterGrants returns list of `GrantAuthorization`, granted by granter.", - "description": "Since: cosmos-sdk 0.46", - "operationId": "GranterGrants", + "summary": "AllEvidence queries all evidence.", + "operationId": "AllEvidence", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "grants": { + "evidence": { "type": "array", "items": { "type": "object", "properties": { - "granter": { - "type": "string" - }, - "grantee": { - "type": "string" - }, - "authorization": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "expiration": { + "value": { "type": "string", - "format": "date-time" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "title": "GrantAuthorization extends a grant with both the addresses of the grantee and granter.\nIt is used in genesis.proto and query.proto" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "description": "grants is a list of grants granted by the granter." + "description": "evidence returns all evidences." }, "pagination": { - "description": "pagination defines an pagination for the response.", + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { "next_key": { @@ -9903,7 +9371,7 @@ } } }, - "description": "QueryGranterGrantsResponse is the response type for the Query/GranterGrants RPC method." + "description": "QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod." } }, "default": { @@ -9944,12 +9412,6 @@ } }, "parameters": [ - { - "name": "granter", - "in": "path", - "required": true, - "type": "string" - }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -9994,51 +9456,33 @@ ] } }, - "/cosmos/bank/v1beta1/balances/{address}": { + "/cosmos/evidence/v1beta1/evidence/{hash}": { "get": { - "summary": "AllBalances queries the balance of all coins for a single account.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "AllBalances", + "summary": "Evidence queries evidence based on evidence hash.", + "operationId": "Evidence", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "balances": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "balances is the balances of all the coins." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "evidence": { "type": "object", "properties": { - "next_key": { + "type_url": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "total": { + "value": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } }, - "description": "QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod." + "description": "QueryEvidenceResponse is the response type for the Query/Evidence RPC method." } }, "default": { @@ -10062,13 +9506,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10077,56 +9524,19 @@ }, "parameters": [ { - "name": "address", - "description": "address is the address to query balances for.", + "name": "hash", + "description": "hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47", "in": "path", "required": true, "type": "string" }, { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "name": "evidence_hash", + "description": "evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.", "in": "query", "required": false, "type": "string", "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "resolve_denom", - "description": "resolve_denom is the flag to resolve the denom into a human-readable form from the metadata.\n\nSince: cosmos-sdk 0.50", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ @@ -10134,30 +9544,75 @@ ] } }, - "/cosmos/bank/v1beta1/balances/{address}/by_denom": { + "/cosmos/gov/v1beta1/params/{params_type}": { "get": { - "summary": "Balance queries the balance of a single coin for a single account.", - "operationId": "BankBalance", + "summary": "Params queries all parameters of the gov module.", + "operationId": "GovParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "balance": { + "voting_params": { + "description": "voting_params defines the parameters related to voting.", "type": "object", "properties": { - "denom": { - "type": "string" + "voting_period": { + "type": "string", + "description": "Duration of the voting period." + } + } + }, + "deposit_params": { + "description": "deposit_params defines the parameters related to deposit.", + "type": "object", + "properties": { + "min_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "Minimum deposit for a proposal to enter voting period." }, - "amount": { - "type": "string" + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + } + }, + "tally_params": { + "description": "tally_params defines the parameters related to tally.", + "type": "object", + "properties": { + "quorum": { + "type": "string", + "format": "byte", + "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." + }, + "threshold": { + "type": "string", + "format": "byte", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." + }, + "veto_threshold": { + "type": "string", + "format": "byte", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." + } + } } }, - "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." + "description": "QueryParamsResponse is the response type for the Query/Params RPC method." } }, "default": { @@ -10181,13 +9636,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10196,18 +9654,11 @@ }, "parameters": [ { - "name": "address", - "description": "address is the address to query balances for.", + "name": "params_type", + "description": "params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".", "in": "path", "required": true, "type": "string" - }, - { - "name": "denom", - "description": "denom is the coin denom to query balances for.", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ @@ -10215,41 +9666,116 @@ ] } }, - "/cosmos/bank/v1beta1/denom_owners/{denom}": { + "/cosmos/gov/v1beta1/proposals": { "get": { - "summary": "DenomOwners queries for all account addresses that own a particular token\ndenomination.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46", - "operationId": "DenomOwners", + "summary": "Proposals queries all proposals based on given status.", + "operationId": "Proposals", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "denom_owners": { + "proposals": { "type": "array", "items": { "type": "object", "properties": { - "address": { + "proposal_id": { "type": "string", - "description": "address defines the address that owns a particular denomination." + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "balance": { + "content": { "type": "object", "properties": { - "denom": { - "type": "string" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "amount": { - "type": "string" + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "type": "object", + "properties": { + "yes": { + "type": "string", + "description": "yes is the number of yes votes on a proposal." + }, + "abstain": { + "type": "string", + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." + }, + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." + } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { + "type": "string", + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." + }, + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." } }, - "description": "DenomOwner defines structure representing an account that owns or holds a\nparticular denominated token. It contains the account address and account\nbalance of the denominated token.\n\nSince: cosmos-sdk 0.46" - } + "description": "Proposal defines the core field members of a governance proposal." + }, + "description": "proposals defines all the requested governance proposals." }, "pagination": { "description": "pagination defines the pagination in the response.", @@ -10268,7 +9794,7 @@ } } }, - "description": "QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.\n\nSince: cosmos-sdk 0.46" + "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." } }, "default": { @@ -10292,13 +9818,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10307,10 +9836,33 @@ }, "parameters": [ { - "name": "denom", - "description": "denom defines the coin denomination to query all account holders for.", - "in": "path", - "required": true, + "name": "proposal_status", + "description": "proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + { + "name": "voter", + "description": "voter defines the voter address for the proposals.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "depositor", + "description": "depositor defines the deposit addresses from the proposals.", + "in": "query", + "required": false, "type": "string" }, { @@ -10357,79 +9909,213 @@ ] } }, - "/cosmos/bank/v1beta1/denoms_metadata": { + "/cosmos/gov/v1beta1/proposals/{proposal_id}": { "get": { - "summary": "DenomsMetadata queries the client metadata for all registered coin\ndenominations.", - "operationId": "DenomsMetadata", + "summary": "Proposal queries proposal details based on ProposalID.", + "operationId": "Proposal", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "metadatas": { + "proposal": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "content": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "type": "object", + "properties": { + "yes": { + "type": "string", + "description": "yes is the number of yes votes on a proposal." + }, + "abstain": { + "type": "string", + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." + }, + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." + } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { + "type": "string", + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." + }, + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." + } + }, + "description": "Proposal defines the core field members of a governance proposal." + } + }, + "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { "type": "array", "items": { "type": "object", "properties": { - "description": { - "type": "string" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "denom_units": { + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Query" + ] + } + }, + "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits": { + "get": { + "summary": "Deposits queries all deposits of a single proposal.", + "operationId": "Deposits", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "deposits": { + "type": "array", + "items": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." + }, + "amount": { "type": "array", "items": { "type": "object", "properties": { "denom": { - "type": "string", - "description": "denom represents the string name of the given denom unit (e.g uatom)." - }, - "exponent": { - "type": "integer", - "format": "int64", - "description": "exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom)." + "type": "string" }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "aliases is a list of string aliases for the given denom" + "amount": { + "type": "string" } }, - "description": "DenomUnit represents a struct that describes a given\ndenomination unit of the basic token." + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "title": "denom_units represents the list of DenomUnit's for a given coin" - }, - "base": { - "type": "string", - "description": "base represents the base denom (should be the DenomUnit with exponent = 0)." - }, - "display": { - "type": "string", - "description": "display indicates the suggested denom that should be\ndisplayed in clients." - }, - "name": { - "type": "string", - "description": "Since: cosmos-sdk 0.43", - "title": "name defines the name of the token (eg: Cosmos Atom)" - }, - "symbol": { - "type": "string", - "description": "symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43" - }, - "uri": { - "type": "string", - "description": "URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46" - }, - "uri_hash": { - "type": "string", - "description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46" + "description": "amount to be deposited by depositor." } }, - "description": "Metadata represents a struct that describes\na basic token." + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." }, - "description": "metadata provides the client information for all the registered tokens." + "description": "deposits defines the requested deposits." }, "pagination": { "description": "pagination defines the pagination in the response.", @@ -10448,7 +10134,7 @@ } } }, - "description": "QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC\nmethod." + "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." } }, "default": { @@ -10472,13 +10158,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10486,6 +10175,14 @@ } }, "parameters": [ + { + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -10530,78 +10227,49 @@ ] } }, - "/cosmos/bank/v1beta1/denoms_metadata/{denom}": { + "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}": { "get": { - "summary": "DenomsMetadata queries the client metadata of a given coin denomination.", - "operationId": "DenomMetadata", + "summary": "Deposit queries single deposit information based proposalID, depositAddr.", + "operationId": "Deposit", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "metadata": { + "deposit": { "type": "object", "properties": { - "description": { - "type": "string" + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "denom_units": { + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." + }, + "amount": { "type": "array", "items": { "type": "object", "properties": { "denom": { - "type": "string", - "description": "denom represents the string name of the given denom unit (e.g uatom)." - }, - "exponent": { - "type": "integer", - "format": "int64", - "description": "exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom)." + "type": "string" }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "aliases is a list of string aliases for the given denom" - } + "amount": { + "type": "string" + } }, - "description": "DenomUnit represents a struct that describes a given\ndenomination unit of the basic token." + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "title": "denom_units represents the list of DenomUnit's for a given coin" - }, - "base": { - "type": "string", - "description": "base represents the base denom (should be the DenomUnit with exponent = 0)." - }, - "display": { - "type": "string", - "description": "display indicates the suggested denom that should be\ndisplayed in clients." - }, - "name": { - "type": "string", - "description": "Since: cosmos-sdk 0.43", - "title": "name defines the name of the token (eg: Cosmos Atom)" - }, - "symbol": { - "type": "string", - "description": "symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43" - }, - "uri": { - "type": "string", - "description": "URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46" - }, - "uri_hash": { - "type": "string", - "description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46" + "description": "amount to be deposited by depositor." } }, - "description": "Metadata represents a struct that describes\na basic token." + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." } }, - "description": "QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC\nmethod." + "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." } }, "default": { @@ -10625,13 +10293,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10640,8 +10311,16 @@ }, "parameters": [ { - "name": "denom", - "description": "denom is the coin denom to query the metadata for.", + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "depositor", + "description": "depositor defines the deposit addresses from the proposals.", "in": "path", "required": true, "type": "string" @@ -10652,78 +10331,40 @@ ] } }, - "/cosmos/bank/v1beta1/denoms_metadata_by_query_string": { + "/cosmos/gov/v1beta1/proposals/{proposal_id}/tally": { "get": { - "summary": "DenomsMetadata queries the client metadata of a given coin denomination.", - "operationId": "DenomMetadataByQueryString", + "summary": "TallyResult queries the tally of a proposal vote.", + "operationId": "TallyResult", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "metadata": { + "tally": { + "description": "tally defines the requested tally.", "type": "object", "properties": { - "description": { - "type": "string" - }, - "denom_units": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string", - "description": "denom represents the string name of the given denom unit (e.g uatom)." - }, - "exponent": { - "type": "integer", - "format": "int64", - "description": "exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom)." - }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "aliases is a list of string aliases for the given denom" - } - }, - "description": "DenomUnit represents a struct that describes a given\ndenomination unit of the basic token." - }, - "title": "denom_units represents the list of DenomUnit's for a given coin" - }, - "base": { - "type": "string", - "description": "base represents the base denom (should be the DenomUnit with exponent = 0)." - }, - "display": { - "type": "string", - "description": "display indicates the suggested denom that should be\ndisplayed in clients." - }, - "name": { + "yes": { "type": "string", - "description": "Since: cosmos-sdk 0.43", - "title": "name defines the name of the token (eg: Cosmos Atom)" + "description": "yes is the number of yes votes on a proposal." }, - "symbol": { + "abstain": { "type": "string", - "description": "symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43" + "description": "abstain is the number of abstain votes on a proposal." }, - "uri": { + "no": { "type": "string", - "description": "URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46" + "description": "no is the number of no votes on a proposal." }, - "uri_hash": { + "no_with_veto": { "type": "string", - "description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46" + "description": "no_with_veto is the number of no with veto votes on a proposal." } - }, - "description": "Metadata represents a struct that describes\na basic token." + } } }, - "description": "QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request." + "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." } }, "default": { @@ -10747,13 +10388,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10762,11 +10406,12 @@ }, "parameters": [ { - "name": "denom", - "description": "denom is the coin denom to query the metadata for.", - "in": "query", - "required": false, - "type": "string" + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -10774,112 +10419,75 @@ ] } }, - "/cosmos/bank/v1beta1/params": { + "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes": { "get": { - "summary": "Params queries the parameters of x/bank module.", - "operationId": "BankParams", + "summary": "Votes queries votes of a given proposal.", + "operationId": "Votes", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params provides the parameters of the bank module.", - "type": "object", - "properties": { - "send_enabled": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "description": "SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable)." - }, - "description": "Deprecated: Use of SendEnabled in params is deprecated.\nFor genesis, use the newly added send_enabled field in the genesis object.\nStorage, lookup, and manipulation of this information is now in the keeper.\n\nAs of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files." - }, - "default_send_enabled": { - "type": "boolean" - } - } - } - }, - "description": "QueryParamsResponse defines the response type for querying x/bank parameters." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { + "votes": { "type": "array", "items": { "type": "object", "properties": { - "type_url": { - "type": "string" + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "value": { + "voter": { "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/bank/v1beta1/send_enabled": { - "get": { - "summary": "SendEnabled queries for SendEnabled entries.", - "description": "This query only returns denominations that have specific SendEnabled settings.\nAny denomination that does not have a specific setting will use the default\nparams.default_send_enabled, and will not be returned by this query.\n\nSince: cosmos-sdk 0.47", - "operationId": "SendEnabled", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "send_enabled": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "description": "voter is the voter address of the proposal." }, - "enabled": { - "type": "boolean" + "option": { + "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } + }, + "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + }, + "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" } }, - "description": "SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable)." - } + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." + }, + "description": "votes defines the queried votes." }, "pagination": { - "description": "pagination defines the pagination in the response. This field is only\npopulated if the denoms field in the request is empty.", + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { "next_key": { @@ -10895,7 +10503,7 @@ } } }, - "description": "QuerySendEnabledResponse defines the RPC response of a SendEnable query.\n\nSince: cosmos-sdk 0.47" + "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." } }, "default": { @@ -10919,13 +10527,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -10934,15 +10545,12 @@ }, "parameters": [ { - "name": "denoms", - "description": "denoms is the specific denoms you want look up. Leave empty to get all entries.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" }, { "name": "pagination.key", @@ -10988,51 +10596,71 @@ ] } }, - "/cosmos/bank/v1beta1/spendable_balances/{address}": { + "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}": { "get": { - "summary": "SpendableBalances queries the spendable balance of all coins for a single\naccount.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.46", - "operationId": "SpendableBalances", + "summary": "Vote queries voted information based on proposalID, voterAddr.", + "operationId": "Vote", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "balances": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "balances is the spendable balances of all the coins." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "vote": { "type": "object", "properties": { - "next_key": { + "proposal_id": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "total": { + "voter": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "description": "voter is the voter address of the proposal." + }, + "option": { + "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } + }, + "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + }, + "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" } - } + }, + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." } }, - "description": "QuerySpendableBalancesResponse defines the gRPC response structure for querying\nan account's spendable balances.\n\nSince: cosmos-sdk 0.46" + "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." } }, "default": { @@ -11056,13 +10684,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11071,49 +10702,19 @@ }, "parameters": [ { - "name": "address", - "description": "address is the address to query spendable balances for.", + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", "in": "path", "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, "type": "string", "format": "uint64" }, { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "name": "voter", + "description": "voter defines the voter address for the proposals.", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ @@ -11121,62 +10722,164 @@ ] } }, - "/cosmos/bank/v1beta1/spendable_balances/{address}/by_denom": { + "/cosmos/gov/v1/params/{params_type}": { "get": { - "summary": "SpendableBalanceByDenom queries the spendable balance of a single denom for\na single account.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.\n\nSince: cosmos-sdk 0.47", - "operationId": "SpendableBalanceByDenom", + "summary": "Params queries all parameters of the gov module.", + "operationId": "GovV1Params", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "balance": { + "voting_params": { + "description": "Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.", "type": "object", "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" + "voting_period": { + "type": "string", + "description": "Duration of the voting period." } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - } - }, - "description": "QuerySpendableBalanceByDenomResponse defines the gRPC response structure for\nquerying an account's spendable balance for a specific denom.\n\nSince: cosmos-sdk 0.47" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" + } }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" + "deposit_params": { + "description": "Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.", + "type": "object", + "properties": { + "min_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "value": { - "type": "string", - "format": "byte" - } + "description": "Minimum deposit for a proposal to enter voting period." + }, + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." } } + }, + "tally_params": { + "description": "Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.", + "type": "object", + "properties": { + "quorum": { + "type": "string", + "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." + }, + "threshold": { + "type": "string", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." + }, + "veto_threshold": { + "type": "string", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." + } + } + }, + "params": { + "description": "params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47", + "type": "object", + "properties": { + "min_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "Minimum deposit for a proposal to enter voting period." + }, + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + }, + "voting_period": { + "type": "string", + "description": "Duration of the voting period." + }, + "quorum": { + "type": "string", + "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." + }, + "threshold": { + "type": "string", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." + }, + "veto_threshold": { + "type": "string", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." + }, + "min_initial_deposit_ratio": { + "type": "string", + "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission." + }, + "burn_vote_quorum": { + "type": "boolean", + "title": "burn deposits if a proposal does not meet quorum" + }, + "burn_proposal_deposit_prevote": { + "type": "boolean", + "title": "burn deposits if the proposal does not enter voting period" + }, + "burn_vote_veto": { + "type": "boolean", + "title": "burn deposits if quorum with vote type no_veto is met" + } + } + } + }, + "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -11184,18 +10887,11 @@ }, "parameters": [ { - "name": "address", - "description": "address is the address to query balances for.", + "name": "params_type", + "description": "params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".", "in": "path", "required": true, "type": "string" - }, - { - "name": "denom", - "description": "denom is the coin denom to query balances for.", - "in": "query", - "required": false, - "type": "string" } ], "tags": [ @@ -11203,35 +10899,142 @@ ] } }, - "/cosmos/bank/v1beta1/supply": { + "/cosmos/gov/v1/proposals": { "get": { - "summary": "TotalSupply queries the total supply of all coins.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "TotalSupply", + "summary": "Proposals queries all proposals based on given status.", + "operationId": "GovV1Proposal", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "supply": { + "proposals": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "id": { + "type": "string", + "format": "uint64", + "description": "id defines the unique id of the proposal." }, - "amount": { - "type": "string" + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "messages are the arbitrary messages to be executed if the proposal passes." + }, + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "type": "object", + "properties": { + "yes_count": { + "type": "string", + "description": "yes_count is the number of yes votes on a proposal." + }, + "abstain_count": { + "type": "string", + "description": "abstain_count is the number of abstain votes on a proposal." + }, + "no_count": { + "type": "string", + "description": "no_count is the number of no votes on a proposal." + }, + "no_with_veto_count": { + "type": "string", + "description": "no_with_veto_count is the number of no with veto votes on a proposal." + } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { + "type": "string", + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." + }, + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata attached to the proposal." + }, + "title": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "title is the title of the proposal" + }, + "summary": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "summary is a short summary of the proposal" + }, + "proposer": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "Proposer is the address of the proposal sumbitter" } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "description": "Proposal defines the core field members of a governance proposal." }, - "title": "supply is the supply of the coins" + "description": "proposals defines all the requested governance proposals." }, "pagination": { - "description": "pagination defines the pagination in the response.\n\nSince: cosmos-sdk 0.43", + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { "next_key": { @@ -11247,7 +11050,7 @@ } } }, - "title": "QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC\nmethod" + "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." } }, "default": { @@ -11271,13 +11074,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11285,6 +11091,36 @@ } }, "parameters": [ + { + "name": "proposal_status", + "description": "proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + { + "name": "voter", + "description": "voter defines the voter address for the proposals.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "depositor", + "description": "depositor defines the deposit addresses from the proposals.", + "in": "query", + "required": false, + "type": "string" + }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -11329,31 +11165,138 @@ ] } }, - "/cosmos/bank/v1beta1/supply/by_denom": { + "/cosmos/gov/v1/proposals/{proposal_id}": { "get": { - "summary": "SupplyOf queries the supply of a single coin.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "SupplyOf", + "summary": "Proposal queries proposal details based on ProposalID.", + "operationId": "GovV1Proposal", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "amount": { + "proposal": { "type": "object", "properties": { - "denom": { - "type": "string" + "id": { + "type": "string", + "format": "uint64", + "description": "id defines the unique id of the proposal." }, - "amount": { - "type": "string" + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "messages are the arbitrary messages to be executed if the proposal passes." + }, + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "type": "object", + "properties": { + "yes_count": { + "type": "string", + "description": "yes_count is the number of yes votes on a proposal." + }, + "abstain_count": { + "type": "string", + "description": "abstain_count is the number of abstain votes on a proposal." + }, + "no_count": { + "type": "string", + "description": "no_count is the number of no votes on a proposal." + }, + "no_with_veto_count": { + "type": "string", + "description": "no_with_veto_count is the number of no with veto votes on a proposal." + } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { + "type": "string", + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." + }, + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata attached to the proposal." + }, + "title": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "title is the title of the proposal" + }, + "summary": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "summary is a short summary of the proposal" + }, + "proposer": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "Proposer is the address of the proposal sumbitter" } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "description": "Proposal defines the core field members of a governance proposal." } }, - "description": "QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method." + "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." } }, "default": { @@ -11377,13 +11320,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11392,11 +11338,12 @@ }, "parameters": [ { - "name": "denom", - "description": "denom is the coin denom to query balances for.", - "in": "query", - "required": false, - "type": "string" + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -11404,34 +11351,69 @@ ] } }, - "/cosmos/distribution/v1beta1/community_pool": { + "/cosmos/gov/v1/proposals/{proposal_id}/deposits": { "get": { - "summary": "CommunityPool queries the community pool coins.", - "operationId": "CommunityPool", + "summary": "Deposits queries all deposits of a single proposal.", + "operationId": "GovV1Deposit", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "pool": { + "deposits": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." }, "amount": { - "type": "string" + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "amount to be deposited by depositor." } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." }, - "description": "pool defines community pool's coins." + "description": "deposits defines the requested deposits." + }, + "pagination": { + "description": "pagination defines the pagination in the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method." + "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." } }, "default": { @@ -11455,80 +11437,118 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards": { - "get": { - "summary": "DelegationTotalRewards queries the total rewards accrued by each\nvalidator.", - "operationId": "DelegationTotalRewards", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { - "type": "object", - "properties": { - "validator_address": { - "type": "string" - }, - "reward": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } - } + "parameters": [ + { + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Query" + ] + } + }, + "/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}": { + "get": { + "summary": "Deposit queries single deposit information based proposalID, depositAddr.", + "operationId": "GovV1Deposit", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "deposit": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "description": "DelegationDelegatorReward represents the properties\nof a delegator's delegation reward." - }, - "description": "rewards defines all the rewards accrued by a delegator." - }, - "total": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "amount": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "amount to be deposited by depositor." + } }, - "description": "total defines the sum of all the rewards." + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." } }, - "description": "QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method." + "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." } }, "default": { @@ -11552,13 +11572,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11567,8 +11590,16 @@ }, "parameters": [ { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "depositor", + "description": "depositor defines the deposit addresses from the proposals.", "in": "path", "required": true, "type": "string" @@ -11579,34 +11610,40 @@ ] } }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/rewards/{validator_address}": { + "/cosmos/gov/v1/proposals/{proposal_id}/tally": { "get": { - "summary": "DelegationRewards queries the total rewards accrued by a delegation.", - "operationId": "DelegationRewards", + "summary": "TallyResult queries the tally of a proposal vote.", + "operationId": "GovV1TallyResult", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "rewards": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "tally": { + "description": "tally defines the requested tally.", + "type": "object", + "properties": { + "yes_count": { + "type": "string", + "description": "yes_count is the number of yes votes on a proposal." }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "description": "rewards defines the rewards accrued by a delegation." + "abstain_count": { + "type": "string", + "description": "abstain_count is the number of abstain votes on a proposal." + }, + "no_count": { + "type": "string", + "description": "no_count is the number of no votes on a proposal." + }, + "no_with_veto_count": { + "type": "string", + "description": "no_with_veto_count is the number of no with veto votes on a proposal." + } + } } }, - "description": "QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method." + "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." } }, "default": { @@ -11630,13 +11667,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11645,18 +11685,12 @@ }, "parameters": [ { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", "in": "path", "required": true, - "type": "string" + "type": "string", + "format": "uint64" } ], "tags": [ @@ -11664,25 +11698,83 @@ ] } }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/validators": { + "/cosmos/gov/v1/proposals/{proposal_id}/votes": { "get": { - "summary": "DelegatorValidators queries the validators of a delegator.", - "operationId": "DistDelegatorValidators", + "summary": "Votes queries votes of a given proposal.", + "operationId": "GovV1Votes", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "validators": { + "votes": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "voter": { + "type": "string", + "description": "voter is the voter address of the proposal." + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } + }, + "description": "WeightedVoteOption defines a unit of vote for vote split." + }, + "description": "options is the weighted vote options." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata to attached to the vote." + } + }, + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." }, - "description": "validators defines the validators a delegator is delegating for." + "description": "votes defines the queried votes." + }, + "pagination": { + "description": "pagination defines the pagination in the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method." + "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." } }, "default": { @@ -11706,13 +11798,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11721,11 +11816,50 @@ }, "parameters": [ { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", "in": "path", "required": true, - "type": "string" + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -11733,22 +11867,63 @@ ] } }, - "/cosmos/distribution/v1beta1/delegators/{delegator_address}/withdraw_address": { + "/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}": { "get": { - "summary": "DelegatorWithdrawAddress queries withdraw address of a delegator.", - "operationId": "DelegatorWithdrawAddress", + "summary": "Vote queries voted information based on proposalID, voterAddr.", + "operationId": "GovV1Vote", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "withdraw_address": { - "type": "string", - "description": "withdraw_address defines the delegator address to query for." + "vote": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "voter": { + "type": "string", + "description": "voter is the voter address of the proposal." + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } + }, + "description": "WeightedVoteOption defines a unit of vote for vote split." + }, + "description": "options is the weighted vote options." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata to attached to the vote." + } + }, + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." } }, - "description": "QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method." + "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." } }, "default": { @@ -11772,13 +11947,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -11787,8 +11965,16 @@ }, "parameters": [ { - "name": "delegator_address", - "description": "delegator_address defines the delegator address to query for.", + "name": "proposal_id", + "description": "proposal_id defines the unique id of the proposal.", + "in": "path", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "voter", + "description": "voter defines the voter address for the proposals.", "in": "path", "required": true, "type": "string" @@ -11799,10 +11985,10 @@ ] } }, - "/cosmos/distribution/v1beta1/params": { + "/cosmos/slashing/v1beta1/params": { "get": { - "summary": "Params queries params of the distribution module.", - "operationId": "DistributionParams", + "summary": "Params queries the parameters of slashing module", + "operationId": "SlashingParams", "responses": { "200": { "description": "A successful response.", @@ -11810,27 +11996,32 @@ "type": "object", "properties": { "params": { - "description": "params defines the parameters of the module.", "type": "object", "properties": { - "community_tax": { - "type": "string" + "signed_blocks_window": { + "type": "string", + "format": "int64" }, - "base_proposer_reward": { + "min_signed_per_window": { "type": "string", - "description": "Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism." + "format": "byte" + }, + "downtime_jail_duration": { + "type": "string" }, - "bonus_proposer_reward": { + "slash_fraction_double_sign": { "type": "string", - "description": "Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism." + "format": "byte" }, - "withdraw_addr_enabled": { - "type": "boolean" + "slash_fraction_downtime": { + "type": "string", + "format": "byte" } - } + }, + "description": "Params represents the parameters used for by the slashing module." } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "title": "QueryParamsResponse is the response type for the Query/Params RPC method" } }, "default": { @@ -11872,54 +12063,71 @@ ] } }, - "/cosmos/distribution/v1beta1/validators/{validator_address}": { + "/cosmos/slashing/v1beta1/signing_infos": { "get": { - "summary": "ValidatorDistributionInfo queries validator commission and self-delegation rewards for validator", - "operationId": "ValidatorDistributionInfo", + "summary": "SigningInfos queries signing info of all validators", + "operationId": "SigningInfos", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the validator operator address." - }, - "self_bond_rewards": { + "info": { "type": "array", "items": { "type": "object", "properties": { - "denom": { + "address": { "type": "string" }, - "amount": { - "type": "string" + "start_height": { + "type": "string", + "format": "int64", + "title": "Height at which validator was first a candidate OR was unjailed" + }, + "index_offset": { + "type": "string", + "format": "int64", + "description": "Index which is incremented each time the validator was a bonded\nin a block and may have signed a precommit or not. This in conjunction with the\n`SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`." + }, + "jailed_until": { + "type": "string", + "format": "date-time", + "description": "Timestamp until which the validator is jailed due to liveness downtime." + }, + "tombstoned": { + "type": "boolean", + "description": "Whether or not a validator has been tombstoned (killed out of validator set). It is set\nonce the validator commits an equivocation or for any other configured misbehiavor." + }, + "missed_blocks_counter": { + "type": "string", + "format": "int64", + "description": "A counter kept to avoid unnecessary array reads.\nNote that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`." } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." }, - "description": "self_bond_rewards defines the self delegations rewards." + "title": "info is the signing info of all validators" }, - "commission": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "pagination": { + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } }, - "description": "commission defines the commission the validator received." + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" } }, - "description": "QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method." + "title": "QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod" } }, "default": { @@ -11958,11 +12166,42 @@ }, "parameters": [ { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ @@ -11970,39 +12209,52 @@ ] } }, - "/cosmos/distribution/v1beta1/validators/{validator_address}/commission": { + "/cosmos/slashing/v1beta1/signing_infos/{cons_address}": { "get": { - "summary": "ValidatorCommission queries accumulated commission for a validator.", - "operationId": "ValidatorCommission", + "summary": "SigningInfo queries the signing info of given cons address", + "operationId": "SigningInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "commission": { - "description": "commission defines the commission the validator received.", + "val_signing_info": { "type": "object", "properties": { - "commission": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } + "address": { + "type": "string" + }, + "start_height": { + "type": "string", + "format": "int64", + "title": "Height at which validator was first a candidate OR was unjailed" + }, + "index_offset": { + "type": "string", + "format": "int64", + "description": "Index which is incremented each time the validator was a bonded\nin a block and may have signed a precommit or not. This in conjunction with the\n`SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`." + }, + "jailed_until": { + "type": "string", + "format": "date-time", + "description": "Timestamp until which the validator is jailed due to liveness downtime." + }, + "tombstoned": { + "type": "boolean", + "description": "Whether or not a validator has been tombstoned (killed out of validator set). It is set\nonce the validator commits an equivocation or for any other configured misbehiavor." + }, + "missed_blocks_counter": { + "type": "string", + "format": "int64", + "description": "A counter kept to avoid unnecessary array reads.\nNote that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`." } - } + }, + "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.", + "title": "val_signing_info is the signing info of requested val cons address" } }, - "title": "QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method" + "title": "QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod" } }, "default": { @@ -12041,8 +12293,8 @@ }, "parameters": [ { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", + "name": "cons_address", + "description": "cons_address is the address to query signing info of", "in": "path", "required": true, "type": "string" @@ -12053,39 +12305,16 @@ ] } }, - "/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards": { - "get": { - "summary": "ValidatorOutstandingRewards queries rewards of a validator address.", - "operationId": "ValidatorOutstandingRewards", + "/cosmos/tx/v1beta1/decode": { + "post": { + "summary": "TxDecode decodes the transaction.", + "description": "Since: cosmos-sdk 0.47", + "operationId": "TxDecode", "responses": { "200": { "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "rewards": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } - } - }, - "description": "ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks." - } - }, - "description": "QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method." + "$ref": "#/definitions/cosmos.tx.v1beta1.TxDecodeResponse" } }, "default": { @@ -12109,13 +12338,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -12124,63 +12356,43 @@ }, "parameters": [ { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "type": "object", + "properties": { + "tx_bytes": { + "type": "string", + "format": "byte", + "description": "tx_bytes is the raw transaction." + } + }, + "description": "TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47" + } } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/distribution/v1beta1/validators/{validator_address}/slashes": { - "get": { - "summary": "ValidatorSlashes queries slash events of a validator.", - "operationId": "ValidatorSlashes", + "/cosmos/tx/v1beta1/decode/amino": { + "post": { + "summary": "TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.", + "description": "Since: cosmos-sdk 0.47", + "operationId": "TxDecodeAmino", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "slashes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "validator_period": { - "type": "string", - "format": "uint64" - }, - "fraction": { - "type": "string" - } - }, - "description": "ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred." - }, - "description": "slashes defines the slashes the validator received." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "amino_json": { + "type": "string" } }, - "description": "QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method." + "description": "TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" } }, "default": { @@ -12204,13 +12416,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -12219,114 +12434,44 @@ }, "parameters": [ { - "name": "validator_address", - "description": "validator_address defines the validator address to query for.", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "starting_height", - "description": "starting_height defines the optional starting height to query the slashes.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "ending_height", - "description": "starting_height defines the optional ending height to query the slashes.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "schema": { + "type": "object", + "properties": { + "amino_binary": { + "type": "string", + "format": "byte" + } + }, + "description": "TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" + } } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}": { - "get": { - "summary": "Allowance returns granted allwance to the grantee by the granter.", - "operationId": "Allowance", + "/cosmos/tx/v1beta1/encode": { + "post": { + "summary": "TxEncode encodes the transaction.", + "description": "Since: cosmos-sdk 0.47", + "operationId": "TxEncode", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "allowance": { - "description": "allowance is a allowance granted for grantee by granter.", - "type": "object", - "properties": { - "granter": { - "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." - }, - "grantee": { - "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." - }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - } - } - }, - "title": "Grant is stored in the KVStore to record a grant with full context" + "tx_bytes": { + "type": "string", + "format": "byte", + "description": "tx_bytes is the encoded transaction bytes." } }, - "description": "QueryAllowanceResponse is the response type for the Query/Allowance RPC method." + "description": "TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47" } }, "default": { @@ -12368,86 +12513,36 @@ }, "parameters": [ { - "name": "granter", - "description": "granter is the address of the user granting an allowance of their funds.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "grantee", - "description": "grantee is the address of the user being granted an allowance of another user's funds.", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/cosmos.tx.v1beta1.TxEncodeRequest" + } } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/feegrant/v1beta1/allowances/{grantee}": { - "get": { - "summary": "Allowances returns all the grants for the given grantee address.", - "operationId": "Allowances", + "/cosmos/tx/v1beta1/encode/amino": { + "post": { + "summary": "TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.", + "description": "Since: cosmos-sdk 0.47", + "operationId": "TxEncodeAmino", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "allowances": { - "type": "array", - "items": { - "type": "object", - "properties": { - "granter": { - "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." - }, - "grantee": { - "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." - }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - } - } - }, - "title": "Grant is stored in the KVStore to record a grant with full context" - }, - "description": "allowances are allowance's granted for grantee by granter." - }, - "pagination": { - "description": "pagination defines an pagination for the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "amino_binary": { + "type": "string", + "format": "byte" } }, - "description": "QueryAllowancesResponse is the response type for the Query/Allowances RPC method." + "description": "TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" } }, "default": { @@ -12489,81 +12584,98 @@ }, "parameters": [ { - "name": "grantee", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "schema": { + "type": "object", + "properties": { + "amino_json": { + "type": "string" + } + }, + "description": "TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" + } } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/feegrant/v1beta1/issued/{granter}": { - "get": { - "summary": "AllowancesByGranter returns all the grants given by an address", - "description": "Since: cosmos-sdk 0.46", - "operationId": "AllowancesByGranter", + "/cosmos/tx/v1beta1/simulate": { + "post": { + "summary": "Simulate simulates executing a transaction for estimating gas usage.", + "operationId": "Simulate", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "allowances": { - "type": "array", - "items": { - "type": "object", - "properties": { - "granter": { - "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." - }, - "grantee": { - "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." + "gas_info": { + "description": "gas_info is the information about gas used in the simulation.", + "type": "object", + "properties": { + "gas_wanted": { + "type": "string", + "format": "uint64", + "description": "GasWanted is the maximum units of work we allow this tx to perform." + }, + "gas_used": { + "type": "string", + "format": "uint64", + "description": "GasUsed is the amount of gas actually consumed." + } + } + }, + "result": { + "description": "result is the result of the simulation.", + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "byte", + "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL." + }, + "log": { + "type": "string", + "description": "Log contains the log information from message or handler execution." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "description": "Events contains a slice of Event objects that were emitted during message\nor handler execution." + }, + "msg_responses": { + "type": "array", + "items": { "type": "object", "properties": { "type_url": { @@ -12575,31 +12687,15 @@ "format": "byte", "description": "Must be a valid serialized protocol buffer of the above specified type." } - } - } - }, - "title": "Grant is stored in the KVStore to record a grant with full context" - }, - "description": "allowances that have been issued by the granter." - }, - "pagination": { - "description": "pagination defines an pagination for the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46" } } } }, - "description": "QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46" + "description": "SimulateResponse is the response type for the\nService.SimulateRPC method." } }, "default": { @@ -12641,14 +12737,82 @@ }, "parameters": [ { - "name": "granter", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/cosmos.tx.v1beta1.SimulateRequest" + } + } + ], + "tags": [ + "Service" + ] + } + }, + "/cosmos/tx/v1beta1/txs": { + "get": { + "summary": "GetTxsEvent fetches txs by event.", + "operationId": "GetTxsEvent", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse" + } }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "events", + "description": "events is the list of transaction event type.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", "in": "query", "required": false, "type": "string", @@ -12683,24 +12847,211 @@ "in": "query", "required": false, "type": "boolean" + }, + { + "name": "order_by", + "description": " - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "ORDER_BY_UNSPECIFIED", + "ORDER_BY_ASC", + "ORDER_BY_DESC" + ], + "default": "ORDER_BY_UNSPECIFIED" + }, + { + "name": "page", + "description": "page is the page number to query, starts at 1. If not provided, will default to first page.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ - "Query" + "Service" ] - } - }, - "/cosmos/evidence/v1beta1/evidence": { - "get": { - "summary": "AllEvidence queries all evidence.", - "operationId": "AllEvidence", + }, + "post": { + "summary": "BroadcastTx broadcast transaction.", + "operationId": "BroadcastTx", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "evidence": { + "tx_response": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64", + "title": "The block height" + }, + "txhash": { + "type": "string", + "description": "The transaction hash." + }, + "codespace": { + "type": "string", + "title": "Namespace for the Code" + }, + "code": { + "type": "integer", + "format": "int64", + "description": "Response code." + }, + "data": { + "type": "string", + "description": "Result bytes, if any." + }, + "raw_log": { + "type": "string", + "description": "The output of the application's logger (raw string). May be\nnon-deterministic." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "msg_index": { + "type": "integer", + "format": "int64" + }, + "log": { + "type": "string" + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "description": "Events contains a slice of Event objects that were emitted during some\nexecution." + } + }, + "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." + }, + "description": "The output of the application's logger (typed). May be non-deterministic." + }, + "info": { + "type": "string", + "description": "Additional information. May be non-deterministic." + }, + "gas_wanted": { + "type": "string", + "format": "int64", + "description": "Amount of gas requested for transaction." + }, + "gas_used": { + "type": "string", + "format": "int64", + "description": "Amount of gas consumed by transaction." + }, + "tx": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "timestamp": { + "type": "string", + "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." + }, + "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" + } + }, + "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." + } + }, + "description": "BroadcastTxResponse is the response type for the\nService.BroadcastTx method." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { "type": "array", "items": { "type": "object", @@ -12716,27 +13067,56 @@ } }, "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "evidence returns all evidences." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } } } + } + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "tx_bytes": { + "type": "string", + "format": "byte", + "description": "tx_bytes is the raw transaction." + }, + "mode": { + "type": "string", + "enum": [ + "BROADCAST_MODE_UNSPECIFIED", + "BROADCAST_MODE_BLOCK", + "BROADCAST_MODE_SYNC", + "BROADCAST_MODE_ASYNC" + ], + "default": "BROADCAST_MODE_UNSPECIFIED", + "description": "BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for\na CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns\nimmediately." + } }, - "description": "QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod." + "description": "BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method." + } + } + ], + "tags": [ + "Service" + ] + } + }, + "/cosmos/tx/v1beta1/txs/block/{height}": { + "get": { + "summary": "GetBlockWithTxs fetches a block with decoded txs.", + "description": "Since: cosmos-sdk 0.45.2", + "operationId": "GetBlockWithTxs", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse" } }, "default": { @@ -12777,6 +13157,14 @@ } }, "parameters": [ + { + "name": "height", + "description": "height is the height of the block to query.", + "in": "path", + "required": true, + "type": "string", + "format": "int64" + }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -12817,37 +13205,19 @@ } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/evidence/v1beta1/evidence/{hash}": { + "/cosmos/tx/v1beta1/txs/{hash}": { "get": { - "summary": "Evidence queries evidence based on evidence hash.", - "operationId": "Evidence", + "summary": "GetTx fetches a tx by hash.", + "operationId": "GetTx", "responses": { "200": { "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "evidence": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - }, - "description": "QueryEvidenceResponse is the response type for the Query/Evidence RPC method." + "$ref": "#/definitions/cosmos.tx.v1beta1.GetTxResponse" } }, "default": { @@ -12890,94 +13260,85 @@ "parameters": [ { "name": "hash", - "description": "hash defines the evidence hash of the requested evidence.\n\nSince: cosmos-sdk 0.47", + "description": "hash is the tx hash to query, encoded as a hex string.", "in": "path", "required": true, "type": "string" - }, - { - "name": "evidence_hash", - "description": "evidence_hash defines the hash of the requested evidence.\nDeprecated: Use hash, a HEX encoded string, instead.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1beta1/params/{params_type}": { + "/cosmos/base/tendermint/v1beta1/abci_query": { "get": { - "summary": "Params queries all parameters of the gov module.", - "operationId": "GovParams", + "summary": "ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.", + "description": "Since: cosmos-sdk 0.46", + "operationId": "ABCIQuery", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "voting_params": { - "description": "voting_params defines the parameters related to voting.", - "type": "object", - "properties": { - "voting_period": { - "type": "string", - "description": "Duration of the voting period." - } - } + "code": { + "type": "integer", + "format": "int64" }, - "deposit_params": { - "description": "deposit_params defines the parameters related to deposit.", + "log": { + "type": "string" + }, + "info": { + "type": "string" + }, + "index": { + "type": "string", + "format": "int64" + }, + "key": { + "type": "string", + "format": "byte" + }, + "value": { + "type": "string", + "format": "byte" + }, + "proof_ops": { "type": "object", "properties": { - "min_deposit": { + "ops": { "type": "array", "items": { "type": "object", "properties": { - "denom": { + "type": { "type": "string" }, - "amount": { - "type": "string" + "key": { + "type": "string", + "format": "byte" + }, + "data": { + "type": "string", + "format": "byte" } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." + } } - } + }, + "description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint." }, - "tally_params": { - "description": "tally_params defines the parameters related to tally.", - "type": "object", - "properties": { - "quorum": { - "type": "string", - "format": "byte", - "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." - }, - "threshold": { - "type": "string", - "format": "byte", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "format": "byte", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." - } - } + "height": { + "type": "string", + "format": "int64" + }, + "codespace": { + "type": "string" } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "description": "ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint." } }, "default": { @@ -13019,1504 +13380,2743 @@ }, "parameters": [ { - "name": "params_type", - "description": "params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".", - "in": "path", - "required": true, + "name": "data", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "path", + "in": "query", + "required": false, "type": "string" + }, + { + "name": "height", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "prove", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1beta1/proposals": { + "/cosmos/base/tendermint/v1beta1/blocks/latest": { "get": { - "summary": "Proposals queries all proposals based on given status.", - "operationId": "Proposals", + "summary": "GetLatestBlock returns the latest block.", + "operationId": "GetLatestBlock", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "proposals": { - "type": "array", - "items": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "content": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "status": { - "description": "status defines the proposal status.", - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", - "type": "object", - "properties": { - "yes": { - "type": "string", - "description": "yes is the number of yes votes on a proposal." - }, - "abstain": { - "type": "string", - "description": "abstain is the number of abstain votes on a proposal." - }, - "no": { - "type": "string", - "description": "no is the number of no votes on a proposal." - }, - "no_with_veto": { - "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." - } - } - }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." - }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." - }, - "total_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "total_deposit is the total deposit on the proposal." - }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." - }, - "voting_end_time": { - "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." - } - }, - "description": "Proposal defines the core field members of a governance proposal." - }, - "description": "proposals defines all the requested governance proposals." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "block_id": { "type": "object", "properties": { - "next_key": { + "hash": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "byte" }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } - } - } - }, - "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" + }, + "title": "BlockID" }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_status", - "description": "proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - { - "name": "voter", - "description": "voter defines the voter address for the proposals.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "depositor", - "description": "depositor defines the deposit addresses from the proposals.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}": { - "get": { - "summary": "Proposal queries proposal details based on ProposalID.", - "operationId": "Proposal", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "proposal": { + "block": { + "title": "Deprecated: please use `sdk_block` instead", "type": "object", "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "content": { + "header": { "type": "object", "properties": { - "type_url": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "int64" }, - "value": { + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { "type": "string", "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "status": { - "description": "status defines the proposal status.", - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", - "type": "object", - "properties": { - "yes": { + "title": "hashes of block data" + }, + "data_hash": { "type": "string", - "description": "yes is the number of yes votes on a proposal." + "format": "byte" }, - "abstain": { + "validators_hash": { "type": "string", - "description": "abstain is the number of abstain votes on a proposal." + "format": "byte", + "title": "hashes from the app output from the prev block" }, - "no": { + "next_validators_hash": { "type": "string", - "description": "no is the number of no votes on a proposal." + "format": "byte" }, - "no_with_veto": { + "consensus_hash": { "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." - } - } - }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." - }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." - }, - "total_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "format": "byte" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "total_deposit is the total deposit on the proposal." - }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." - }, - "voting_end_time": { - "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." - } - }, - "description": "Proposal defines the core field members of a governance proposal." - } - }, - "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "description": "Header defines the structure of a block header." }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits": { - "get": { - "summary": "Deposits queries all deposits of a single proposal.", - "operationId": "Deposits", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "deposits": { - "type": "array", - "items": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "depositor": { - "type": "string", - "description": "depositor defines the deposit addresses from the proposals." - }, - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "amount to be deposited by depositor." - } + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." - }, - "description": "deposits defines the requested deposits." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } + } + } + } } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits/{depositor}": { - "get": { - "summary": "Deposit queries single deposit information based on proposalID, depositor address.", - "operationId": "Deposit", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "deposit": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "depositor": { - "type": "string", - "description": "depositor defines the deposit addresses from the proposals." - }, - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "last_commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } }, - "amount": { - "type": "string" - } + "title": "BlockID" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } }, - "description": "amount to be deposited by depositor." + "description": "Commit contains the evidence that a block was committed by a set of validators." } - }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." - } - }, - "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "depositor", - "description": "depositor defines the deposit addresses from the proposals.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/tally": { - "get": { - "summary": "TallyResult queries the tally of a proposal vote.", - "operationId": "TallyResult", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "tally": { - "description": "tally defines the requested tally.", + }, + "sdk_block": { + "title": "Since: cosmos-sdk 0.47", "type": "object", "properties": { - "yes": { - "type": "string", - "description": "yes is the number of yes votes on a proposal." - }, - "abstain": { - "type": "string", - "description": "abstain is the number of abstain votes on a proposal." - }, - "no": { - "type": "string", - "description": "no is the number of no votes on a proposal." - }, - "no_with_veto": { - "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." - } - } - } - }, - "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes": { - "get": { - "summary": "Votes queries votes of a given proposal.", - "operationId": "Votes", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "votes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "voter": { - "type": "string", - "description": "voter is the voter address of the proposal." - }, - "option": { - "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, - "options": { - "type": "array", - "items": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", "type": "object", "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "block": { "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" + "format": "uint64" }, - "weight": { + "app": { "type": "string", - "description": "weight is the vote weight associated with the vote option." + "format": "uint64" } }, - "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" - } - }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." - }, - "description": "votes defines the queried votes." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + } + }, + "description": "Header defines the structure of a Tendermint block header." }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "title": "Data contains the set of transactions included in the block" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } + } + } + } + } + }, + "last_commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + }, + "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + } + }, + "description": "GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method." + } }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } } - ], + }, "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1beta1/proposals/{proposal_id}/votes/{voter}": { + "/cosmos/base/tendermint/v1beta1/blocks/{height}": { "get": { - "summary": "Vote queries voted information based on proposalID, voterAddr.\nDue to how we handle state, this query would error for proposals that has already been finished.", - "operationId": "Vote", + "summary": "GetBlockByHeight queries block for given height.", + "operationId": "GetBlockByHeight", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "vote": { + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "block": { + "title": "Deprecated: please use `sdk_block` instead", + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } + } + } + } + } + }, + "last_commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "sdk_block": { + "title": "Since: cosmos-sdk 0.47", "type": "object", "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "voter": { - "type": "string", - "description": "voter is the voter address of the proposal." - }, - "option": { - "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + } + }, + "description": "Header defines the structure of a Tendermint block header." }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" + "format": "byte" }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } + } } - }, - "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" - }, - "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" - } - }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." - } - }, - "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "voter", - "description": "voter defines the voter address for the proposals.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1/constitution": { - "get": { - "summary": "Constitution queries the chain's constitution.", - "operationId": "Constitution", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "constitution": { - "type": "string" - } - }, - "title": "QueryConstitutionResponse is the response type for the Query/Constitution RPC method" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + } } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1/params/{params_type}": { - "get": { - "summary": "Params queries all parameters of the gov module.", - "operationId": "GovV1Params", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "voting_params": { - "description": "Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.", - "type": "object", - "properties": { - "voting_period": { - "type": "string", - "description": "Duration of the voting period." - } - } - }, - "deposit_params": { - "description": "Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.", - "type": "object", - "properties": { - "min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." - } - } - }, - "tally_params": { - "description": "Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.", - "type": "object", - "properties": { - "quorum": { - "type": "string", - "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." - }, - "threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." - } - } - }, - "params": { - "description": "params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47", - "type": "object", - "properties": { - "min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "last_commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." - }, - "voting_period": { - "type": "string", - "description": "Duration of the voting period." - }, - "quorum": { - "type": "string", - "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." - }, - "threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." - }, - "min_initial_deposit_ratio": { - "type": "string", - "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission." - }, - "proposal_cancel_ratio": { - "type": "string", - "description": "The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50" - }, - "proposal_cancel_dest": { - "type": "string", - "description": "The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_voting_period": { - "type": "string", - "description": "Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "round": { + "type": "integer", + "format": "int32" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum expedited deposit for a proposal to enter voting period." - }, - "burn_vote_quorum": { - "type": "boolean", - "title": "burn deposits if a proposal does not meet quorum" - }, - "burn_proposal_deposit_prevote": { - "type": "boolean", - "title": "burn deposits if the proposal does not enter voting period" - }, - "burn_vote_veto": { - "type": "boolean", - "title": "burn deposits if quorum with vote type no_veto is met" - } - } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "params_type", - "description": "params_type defines which parameters to query for, can be one of \"voting\",\n\"tallying\" or \"deposit\".", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1/proposals": { - "get": { - "summary": "Proposals queries all proposals based on given status.", - "operationId": "GovV1Proposal", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "proposals": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uint64", - "description": "id defines the unique id of the proposal." - }, - "messages": { - "type": "array", - "items": { + "block_id": { "type": "object", "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { + "hash": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "messages are the arbitrary messages to be executed if the proposal passes." - }, - "status": { - "description": "status defines the proposal status.", - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", - "type": "object", - "properties": { - "yes_count": { - "type": "string", - "description": "yes_count is the number of yes votes on a proposal." - }, - "abstain_count": { - "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." - }, - "no_count": { - "type": "string", - "description": "no_count is the number of no votes on a proposal." - }, - "no_with_veto_count": { - "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." - } - } - }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." - }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." - }, - "total_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "format": "byte" }, - "amount": { - "type": "string" + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "title": "BlockID" }, - "description": "total_deposit is the total deposit on the proposal." - }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." - }, - "voting_end_time": { - "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." - }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3" - }, - "title": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "title is the title of the proposal" - }, - "summary": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "summary is a short summary of the proposal" - }, - "proposer": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "proposer is the address of the proposal sumbitter" - }, - "expedited": { - "type": "boolean", - "description": "Since: cosmos-sdk 0.50", - "title": "expedited defines if the proposal is expedited" + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } }, - "failed_reason": { - "type": "string", - "description": "Since: cosmos-sdk 0.50", - "title": "failed_reason defines the reason why the proposal failed" - } - }, - "description": "Proposal defines the core field members of a governance proposal." - }, - "description": "proposals defines all the requested governance proposals." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "description": "Commit contains the evidence that a block was committed by a set of validators." } - } + }, + "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." } }, - "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." + "description": "GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method." } }, "default": { @@ -14558,338 +16158,131 @@ }, "parameters": [ { - "name": "proposal_status", - "description": "proposal_status defines the status of the proposals.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed.", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - { - "name": "voter", - "description": "voter defines the voter address for the proposals.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "depositor", - "description": "depositor defines the deposit addresses from the proposals.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, + "name": "height", + "in": "path", + "required": true, "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "format": "int64" } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1/proposals/{proposal_id}": { + "/cosmos/base/tendermint/v1beta1/node_info": { "get": { - "summary": "Proposal queries proposal details based on ProposalID.", - "operationId": "GovV1Proposal", + "summary": "GetNodeInfo queries the current node info.", + "operationId": "GetNodeInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "proposal": { + "default_node_info": { "type": "object", "properties": { - "id": { - "type": "string", - "format": "uint64", - "description": "id defines the unique id of the proposal." - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "messages are the arbitrary messages to be executed if the proposal passes." - }, - "status": { - "description": "status defines the proposal status.", - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "protocol_version": { "type": "object", "properties": { - "yes_count": { - "type": "string", - "description": "yes_count is the number of yes votes on a proposal." - }, - "abstain_count": { + "p2p": { "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." + "format": "uint64" }, - "no_count": { + "block": { "type": "string", - "description": "no_count is the number of no votes on a proposal." + "format": "uint64" }, - "no_with_veto_count": { + "app": { "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." + "format": "uint64" } } }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." + "default_node_id": { + "type": "string" }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." + "listen_addr": { + "type": "string" }, - "total_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "total_deposit is the total deposit on the proposal." + "network": { + "type": "string" }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." + "version": { + "type": "string" }, - "voting_end_time": { + "channels": { "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." + "format": "byte" }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3" + "moniker": { + "type": "string" }, - "title": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "title is the title of the proposal" + "other": { + "type": "object", + "properties": { + "tx_index": { + "type": "string" + }, + "rpc_address": { + "type": "string" + } + } + } + } + }, + "application_version": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "summary": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "summary is a short summary of the proposal" + "app_name": { + "type": "string" }, - "proposer": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "proposer is the address of the proposal sumbitter" + "version": { + "type": "string" }, - "expedited": { - "type": "boolean", - "description": "Since: cosmos-sdk 0.50", - "title": "expedited defines if the proposal is expedited" + "git_commit": { + "type": "string" }, - "failed_reason": { - "type": "string", - "description": "Since: cosmos-sdk 0.50", - "title": "failed_reason defines the reason why the proposal failed" - } - }, - "description": "Proposal defines the core field members of a governance proposal." - } - }, - "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "build_tags": { + "type": "string" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - } - ], - "tags": [ - "Query" - ] - } - }, - "/cosmos/gov/v1/proposals/{proposal_id}/deposits": { - "get": { - "summary": "Deposits queries all deposits of a single proposal.", - "operationId": "GovV1Deposit", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "deposits": { - "type": "array", - "items": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "depositor": { - "type": "string", - "description": "depositor defines the deposit addresses from the proposals." - }, - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "go_version": { + "type": "string" + }, + "build_deps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "title": "module path" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "version": { + "type": "string", + "title": "module version" + }, + "sum": { + "type": "string", + "title": "checksum" + } }, - "description": "amount to be deposited by depositor." + "title": "Module is the type for VersionInfo" } }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." - }, - "description": "deposits defines the requested deposits." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { + "cosmos_sdk_version": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "Since: cosmos-sdk 0.43" } - } + }, + "description": "VersionInfo is the type for the GetNodeInfoResponse message." } }, - "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." + "description": "GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method." } }, "default": { @@ -14929,102 +16322,26 @@ } } }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1/proposals/{proposal_id}/deposits/{depositor}": { + "/cosmos/base/tendermint/v1beta1/syncing": { "get": { - "summary": "Deposit queries single deposit information based on proposalID, depositAddr.", - "operationId": "GovV1Deposit", + "summary": "GetSyncing queries node syncing.", + "operationId": "GetSyncing", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "deposit": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "depositor": { - "type": "string", - "description": "depositor defines the deposit addresses from the proposals." - }, - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "amount to be deposited by depositor." - } - }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." + "syncing": { + "type": "boolean" } }, - "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." + "description": "GetSyncingResponse is the response type for the Query/GetSyncing RPC method." } }, "default": { @@ -15058,68 +16375,84 @@ } }, "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } - } - } - }, - "parameters": [ - { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "depositor", - "description": "depositor defines the deposit addresses from the proposals.", - "in": "path", - "required": true, - "type": "string" + } + } + } + } } - ], + }, "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1/proposals/{proposal_id}/tally": { + "/cosmos/base/tendermint/v1beta1/validatorsets/latest": { "get": { - "summary": "TallyResult queries the tally of a proposal vote.", - "operationId": "GovV1TallyResult", + "summary": "GetLatestValidatorSet queries latest validator-set.", + "operationId": "GetLatestValidatorSet", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "tally": { - "description": "tally defines the requested tally.", + "block_height": { + "type": "string", + "format": "int64" + }, + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "pub_key": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + }, + "description": "Validator is the type for the validator-set." + } + }, + "pagination": { + "description": "pagination defines an pagination for the response.", "type": "object", "properties": { - "yes_count": { - "type": "string", - "description": "yes_count is the number of yes votes on a proposal." - }, - "abstain_count": { - "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." - }, - "no_count": { + "next_key": { "type": "string", - "description": "no_count is the number of no votes on a proposal." + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "no_with_veto_count": { + "total": { "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } } }, - "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." + "description": "GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method." } }, "default": { @@ -15161,80 +16494,100 @@ }, "parameters": [ { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, "type": "string", "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1/proposals/{proposal_id}/votes": { + "/cosmos/base/tendermint/v1beta1/validatorsets/{height}": { "get": { - "summary": "Votes queries votes of a given proposal.", - "operationId": "GovV1Votes", + "summary": "GetValidatorSetByHeight queries validator-set at a given height.", + "operationId": "GetValidatorSetByHeight", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "votes": { + "block_height": { + "type": "string", + "format": "int64" + }, + "validators": { "type": "array", "items": { "type": "object", "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "voter": { - "type": "string", - "description": "voter is the voter address of the proposal." + "address": { + "type": "string" }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." - } + "pub_key": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "description": "WeightedVoteOption defines a unit of vote for vote split." + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "description": "options is the weighted vote options." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "metadata": { + "voting_power": { "type": "string", - "title": "metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5" + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" } }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." - }, - "description": "votes defines the queried votes." + "description": "Validator is the type for the validator-set." + } }, "pagination": { - "description": "pagination defines the pagination in the response.", + "description": "pagination defines an pagination for the response.", "type": "object", "properties": { "next_key": { @@ -15250,7 +16603,7 @@ } } }, - "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." + "description": "GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method." } }, "default": { @@ -15292,12 +16645,11 @@ }, "parameters": [ { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", + "name": "height", "in": "path", "required": true, "type": "string", - "format": "uint64" + "format": "int64" }, { "name": "pagination.key", @@ -15339,67 +16691,27 @@ } ], "tags": [ - "Query" + "Service" ] } }, - "/cosmos/gov/v1/proposals/{proposal_id}/votes/{voter}": { + "/exocore/dogfood/v1/operator_opt_out_finish_epoch/{operator_acc_addr}": { "get": { - "summary": "Vote queries voted information based on proposalID, voterAddr.", - "operationId": "GovV1Vote", + "summary": "OperatorOptOutFinishEpoch queries the epoch when the operator's opt-out will finish.", + "operationId": "OperatorOptOutFinishEpoch", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "vote": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "voter": { - "type": "string", - "description": "voter is the voter address of the proposal." - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." - } - }, - "description": "WeightedVoteOption defines a unit of vote for vote split." - }, - "description": "options is the weighted vote options." - }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5" - } - }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." + "epoch": { + "type": "string", + "format": "int64", + "description": "epoch is the epoch when the operator's opt-out will finish." } }, - "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." + "description": "QueryOperatorOptOutFinishEpochResponse is response type for the\nQuery/OperatorOptOutFinishEpoch RPC method." } }, "default": { @@ -15441,16 +16753,8 @@ }, "parameters": [ { - "name": "proposal_id", - "description": "proposal_id defines the unique id of the proposal.", - "in": "path", - "required": true, - "type": "string", - "format": "uint64" - }, - { - "name": "voter", - "description": "voter defines the voter address for the proposals.", + "name": "operator_acc_addr", + "description": "operator_acc_addr is the operator account address.", "in": "path", "required": true, "type": "string" @@ -15461,43 +16765,26 @@ ] } }, - "/cosmos/slashing/v1beta1/params": { + "/exocore/dogfood/v1/opt_outs_to_finish/{epoch}": { "get": { - "summary": "Params queries the parameters of slashing module", - "operationId": "SlashingParams", + "summary": "OptOutsToFinish queries the operators whose opt-outs will finish at the given epoch.", + "operationId": "OptOutsToFinish", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "type": "object", - "properties": { - "signed_blocks_window": { - "type": "string", - "format": "int64" - }, - "min_signed_per_window": { - "type": "string", - "format": "byte" - }, - "downtime_jail_duration": { - "type": "string" - }, - "slash_fraction_double_sign": { - "type": "string", - "format": "byte" - }, - "slash_fraction_downtime": { - "type": "string", - "format": "byte" - } + "list": { + "type": "array", + "items": { + "type": "string", + "format": "byte" }, - "description": "Params represents the parameters used for by the slashing module." + "description": "list is the list of account addresses." } }, - "title": "QueryParamsResponse is the response type for the Query/Params RPC method" + "description": "AccountAddresses represents a list of account addresses. It is used to store the list of\noperator addresses whose operations are maturing at an epoch." } }, "default": { @@ -15521,89 +16808,85 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, + "parameters": [ + { + "name": "epoch", + "description": "epoch is the epoch to query opt-outs for.", + "in": "path", + "required": true, + "type": "string", + "format": "int64" + } + ], "tags": [ "Query" ] } }, - "/cosmos/slashing/v1beta1/signing_infos": { + "/exocore/dogfood/v1/params": { "get": { - "summary": "SigningInfos queries signing info of all validators", - "operationId": "SigningInfos", + "summary": "Params queries the parameters of the module.", + "operationId": "DogfoodParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "info": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "start_height": { - "type": "string", - "format": "int64", - "title": "Height at which validator was first a candidate OR was un-jailed" - }, - "index_offset": { - "type": "string", - "format": "int64", - "description": "Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap." - }, - "jailed_until": { - "type": "string", - "format": "date-time", - "description": "Timestamp until which the validator is jailed due to liveness downtime." - }, - "tombstoned": { - "type": "boolean", - "description": "Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior." - }, - "missed_blocks_counter": { - "type": "string", - "format": "int64", - "description": "A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap." - } - }, - "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." - }, - "title": "info is the signing info of all validators" - }, - "pagination": { + "params": { + "description": "params holds all the parameters of this module.", "type": "object", "properties": { - "next_key": { + "epochs_until_unbonded": { + "type": "integer", + "format": "int64", + "description": "EpochsUntilUnbonded is the number of epochs after which an unbonding\nis released. Note that it starts from the beginning of the next epoch\nin which the unbonding request was received. At that point, the vote\npower is reduced by the amount of the unbonding operation." + }, + "epoch_identifier": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "description": "EpochIdentifier is the identifier of the epoch (week, hour, day)." }, - "total": { + "max_validators": { + "type": "integer", + "format": "int64", + "description": "MaxValidators is the maximum number of validators." + }, + "historical_entries": { + "type": "integer", + "format": "int64", + "description": "HistoricalEntries is the number of historical entries to persist." + }, + "asset_ids": { + "type": "array", + "items": { + "type": "string" + }, + "title": "AssetIDs is the ids of the assets which will be accepted by the module.\nIt must be within the list of assets supported by the restaking module.\nThe typical format of these IDs is\nlower(assetAddress) + _ + hex(clientChainLzID)" + }, + "min_self_delegation": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "description": "MinSelfDelegation is the minimum self delegation in USD required to be a validator." } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + } } }, - "title": "QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod" + "description": "QueryParamsResponse is response type for the Query/Params RPC method." } }, "default": { @@ -15627,110 +16910,44 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } } } }, - "parameters": [ - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ "Query" ] } }, - "/cosmos/slashing/v1beta1/signing_infos/{cons_address}": { + "/exocore/dogfood/v1/undelegation_maturity_epoch/{record_key}": { "get": { - "summary": "SigningInfo queries the signing info of given cons address", - "operationId": "SigningInfo", + "summary": "UndelegationMaturityEpoch queries the epoch when the undelegation will mature.", + "operationId": "UndelegationMaturityEpoch", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "val_signing_info": { - "type": "object", - "properties": { - "address": { - "type": "string" - }, - "start_height": { - "type": "string", - "format": "int64", - "title": "Height at which validator was first a candidate OR was un-jailed" - }, - "index_offset": { - "type": "string", - "format": "int64", - "description": "Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap." - }, - "jailed_until": { - "type": "string", - "format": "date-time", - "description": "Timestamp until which the validator is jailed due to liveness downtime." - }, - "tombstoned": { - "type": "boolean", - "description": "Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior." - }, - "missed_blocks_counter": { - "type": "string", - "format": "int64", - "description": "A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap." - } - }, - "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.", - "title": "val_signing_info is the signing info of requested val cons address" + "epoch": { + "type": "string", + "format": "int64", + "description": "epoch is the epoch when the undelegation will mature." } }, - "title": "QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod" + "description": "QueryUndelegationMaturityEpochResponse is response type for the\nQuery/UndelegationMaturityEpoch RPC method." } }, "default": { @@ -15754,13 +16971,16 @@ "type": "object", "properties": { "type_url": { - "type": "string" + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } } } @@ -15769,8 +16989,8 @@ }, "parameters": [ { - "name": "cons_address", - "description": "cons_address is the address to query signing info of", + "name": "record_key", + "description": "record_key is the undelegation record key. note that the UndelegationRecordKey used by the\ndelegation module is just a string converted to bytes, which we will reverse here.", "in": "path", "required": true, "type": "string" @@ -15781,75 +17001,26 @@ ] } }, - "/cosmos/staking/v1beta1/delegations/{delegator_addr}": { + "/exocore/dogfood/v1/undelegations_to_mature/{epoch}": { "get": { - "summary": "DelegatorDelegations queries all delegations of a given delegator address.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "DelegatorDelegations", + "summary": "UndelegationsToMature queries the undelegations that will mature at the given epoch.", + "operationId": "UndelegationsToMature", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "delegation_responses": { + "list": { "type": "array", "items": { - "type": "object", - "properties": { - "delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "shares": { - "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." - }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - } - }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." - }, - "description": "delegation_responses defines all the delegations' info of a delegator." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "type": "string", + "format": "byte" + }, + "description": "list is the list of undelegation record keys." } }, - "description": "QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method." + "description": "UndelegationRecordKeys is a collection of undelegation record keys. This is used to store a\nlist of undelegation records to mature in the delegation module at the end of the epoch." } }, "default": { @@ -15891,49 +17062,12 @@ }, "parameters": [ { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", + "name": "epoch", + "description": "epoch is the epoch to query undelegations for.", "in": "path", "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "format": "int64" } ], "tags": [ @@ -15941,146 +17075,43 @@ ] } }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/redelegations": { + "/exocore/dogfood/v1/validator/{cons_addr}": { "get": { - "summary": "Redelegations queries redelegations of given address.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "Redelegations", + "summary": "QueryValidator queries the validator for the given consensus address.", + "operationId": "QueryValidator", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "redelegation_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "redelegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the bech32-encoded address of the delegator." - }, - "validator_src_address": { - "type": "string", - "description": "validator_src_address is the validator redelegation source operator address." - }, - "validator_dst_address": { - "type": "string", - "description": "validator_dst_address is the validator redelegation destination operator address." - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "description": "entries are the redelegation entries." - } - }, - "description": "Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator." - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "redelegation_entry": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "balance": { - "type": "string" - } - }, - "description": "RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses." - } - } - }, - "description": "RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses." - } + "address": { + "type": "string", + "format": "byte", + "description": "The address, as derived from the consensus key. It has no relation\nwith the operator's account address." }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "power": { + "type": "string", + "format": "int64", + "title": "Last known power" + }, + "pubkey": { "type": "object", "properties": { - "next_key": { + "type_url": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "total": { + "value": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } - } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } }, - "description": "QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod." + "description": "ExocoreValidator is a validator that is part of the Exocore network. It is\nused to validate and sign blocks." } }, "default": { @@ -16122,63 +17153,11 @@ }, "parameters": [ { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", + "name": "cons_addr", + "description": "cons_addr is the consensus address of the validator being queried. From the perspective of\nthis module, the acc_addr is not relevant and is thus not stored.", "in": "path", "required": true, "type": "string" - }, - { - "name": "src_validator_addr", - "description": "src_validator_addr defines the validator address to redelegate from.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "dst_validator_addr", - "description": "dst_validator_addr defines the validator address to redelegate to.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ @@ -16186,90 +17165,32 @@ ] } }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/unbonding_delegations": { + "/exocore/assets/v1/Params": { "get": { - "summary": "DelegatorUnbondingDelegations queries all unbonding delegations of a given\ndelegator address.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "DelegatorUnbondingDelegations", + "summary": "Params retrieves the assets module params", + "operationId": "AssetsParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "unbonding_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." - }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." - }, - "description": "entries are the unbonding delegation entries." - } - }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - } - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "params": { + "description": "params defines the parameters for this module.", "type": "object", "properties": { - "next_key": { + "exocore_lz_app_address": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "description": "exocore_lz_app_address is the address of ExocoreGateway.sol." }, - "total": { + "exocore_lz_app_event_topic": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "description": "exocore_lz_app_event_topic is the topic of the exocore lz app event." } } } }, - "description": "QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method." + "description": "QueryParamsResponse is the response type for the Query/Params RPC\nmethod." } }, "default": { @@ -16293,221 +17214,83 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ "Query" ] } }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators": { + "/exocore/assets/v1/QueAllClientChainInfo": { "get": { - "summary": "DelegatorValidators queries all validators info for given delegator\naddress.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "DelegatorValidators", + "summary": "AllClientChainInfo queries all client chain info.", + "operationId": "QueAllClientChainInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "validators": { + "all_client_chain_infos": { "type": "array", "items": { "type": "object", "properties": { - "operator_address": { + "name": { "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "name of the client chain, like \"Ethereum\"." }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", + "meta_info": { "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" + "description": "meta_info about the client chain, like \"Ethereum blockchain\"." }, - "tokens": { + "chain_id": { "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." + "format": "uint64", + "description": "chain_id of the client chain. Not necessarily the EVM chain id." }, - "delegator_shares": { + "exocore_chain_index": { "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." }, - "unbonding_height": { + "finalization_blocks": { "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." + "format": "uint64", + "description": "finalization_blocks is the number of blocks to wait for finalization." }, - "unbonding_time": { + "layer_zero_chain_id": { "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } + "format": "uint64", + "title": "layer_zero_chain_id is the chain id of the client chain, according to L0.\nhttps://layerzero.gitbook.io/docs/technical-reference/mainnet/supported-chain-ids" }, - "min_self_delegation": { + "signature_type": { "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" + "description": "signature_type is the type of signature used to sign the client chain address." }, - "unbonding_on_hold_ref_count": { - "type": "string", + "address_length": { + "type": "integer", "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "description": "client_chain_addr is the length of addresses on the client chain." } }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." + "description": "ClientChainInfo defines the client chain information." }, - "description": "validators defines the validators' info of a delegator." + "description": "all_client_chain_infos is a list of all client chain info." }, "pagination": { - "description": "pagination defines the pagination in the response.", + "description": "pagination related response.", "type": "object", "properties": { "next_key": { @@ -16523,7 +17306,7 @@ } } }, - "description": "QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method." + "description": "QueryAllClientChainInfoResponse is the response for all client chains info." } }, "default": { @@ -16547,16 +17330,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -16564,13 +17344,6 @@ } }, "parameters": [ - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -16615,148 +17388,159 @@ ] } }, - "/cosmos/staking/v1beta1/delegators/{delegator_addr}/validators/{validator_addr}": { + "/exocore/assets/v1/QueAllStakingAssetsInfo": { "get": { - "summary": "DelegatorValidator queries validator info for given delegator validator\npair.", - "operationId": "DelegatorValidator", + "summary": "AllStakingAssetsInfo queries all staking assets info.", + "operationId": "QueAllStakingAssetsInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "validator": { - "type": "object", - "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } + "all_staking_assets_info": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_basic_info": { + "description": "asset_basic_info is the basic information of the asset.", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "address": { + "type": "string", + "title": "address of the asset on the client chain" + }, + "decimals": { + "type": "integer", + "format": "int64", + "description": "decimals used in the asset, typically 6 or 18." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "description": "layer_zero_chain_id is the chain id of the asset, according to L0." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the asset, like \"Tether USD on Ethereum blockchain\"." } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." } + }, + "staking_total_amount": { + "type": "string", + "description": "staking_total_amount is the total amount of the asset staked." } }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" + "description": "StakingAssetInfo defines the information for an asset to be used in staking." + }, + "description": "all_staking_assets_info is the response for all staking assets info." + } + }, + "description": "QueryAllStakingAssetsInfoResponse is the response for all staking assets info,\nindexed by the asset id." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "value": { + "type": "string", + "format": "byte" + } } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." + } + } + } + } + } + }, + "tags": [ + "Query" + ] + } + }, + "/exocore/assets/v1/QueClientChainInfoByIndex": { + "get": { + "summary": "ClientChainInfoByIndex queries the client chain info by index.", + "operationId": "QueClientChainInfoByIndex", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "name of the client chain, like \"Ethereum\"." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the client chain, like \"Ethereum blockchain\"." + }, + "chain_id": { + "type": "string", + "format": "uint64", + "description": "chain_id of the client chain. Not necessarily the EVM chain id." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "finalization_blocks": { + "type": "string", + "format": "uint64", + "description": "finalization_blocks is the number of blocks to wait for finalization." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "title": "layer_zero_chain_id is the chain id of the client chain, according to L0.\nhttps://layerzero.gitbook.io/docs/technical-reference/mainnet/supported-chain-ids" + }, + "signature_type": { + "type": "string", + "description": "signature_type is the type of signature used to sign the client chain address." + }, + "address_length": { + "type": "integer", + "format": "int64", + "description": "client_chain_addr is the length of addresses on the client chain." } }, - "description": "QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method." + "description": "ClientChainInfo defines the client chain information." } }, "default": { @@ -16780,16 +17564,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -16798,18 +17579,12 @@ }, "parameters": [ { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" + "name": "chain_index", + "description": "chain_index is the index of the chain.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" } ], "tags": [ @@ -16817,252 +17592,54 @@ ] } }, - "/cosmos/staking/v1beta1/historical_info/{height}": { + "/exocore/assets/v1/QueOperatorAssetInfos": { "get": { - "summary": "HistoricalInfo queries the historical info for given height.", - "operationId": "HistoricalInfo", + "summary": "OperatorAssetInfos queries the operator asset info.", + "operationId": "QueOperatorAssetInfos", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "hist": { - "description": "hist defines the historical info at the given height.", - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "title": "prev block info", - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - } - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } + "asset_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the id of the asset." }, - "description": "Header defines the structure of a block header." - }, - "valset": { - "type": "array", - "items": { + "info": { + "description": "info is the asset info.", "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", + "total_amount": { "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." + "description": "total_amount is the total amount of the asset deposited, which excludes the\npending_undelegation_amount. It represent the total delegated amount of asset pool,\nit will be used to calculate the asset amount of a specified staker from its\ndelegated share." }, - "unbonding_time": { + "pending_undelegation_amount": { "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } + "description": "pending_undelegation_amount is the amount that is waiting for unbonding." }, - "min_self_delegation": { + "total_share": { "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" + "description": "total_share is the total share of an asset, in the formula to update the staker's share\nS_j = S * T_j / T, `S` represent it.\nSo when the shares of staker and operator change, it also needs to add `S_j` to update." }, - "unbonding_on_hold_ref_count": { + "operator_share": { "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "description": "operator_share is similar to the share of the staker, the calculation and update should\nbe same, the difference is that it represents the share of the operator itself.\nthe field is used to mark operator's own asset share." } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." + } } - } - } + }, + "title": "AssetByID is a helper struct to be used in the genesis state.\nIt is used to store the asset id and its info for an operator.\nIt is named AssetByID (since it is indexed by the assetID)" + }, + "description": "asset_infos is the response for the operator asset info, indexed by the asset id." } }, - "description": "QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod." + "description": "QueryOperatorAssetInfosResponse is the response to the operator asset info query." } }, "default": { @@ -17086,16 +17663,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -17104,12 +17678,11 @@ }, "parameters": [ { - "name": "height", - "description": "height defines at which height to query the historical info.", - "in": "path", - "required": true, - "type": "string", - "format": "int64" + "name": "operator_addr", + "description": "operator_addr is the operator address for which the query is made.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ @@ -17117,51 +17690,50 @@ ] } }, - "/cosmos/staking/v1beta1/params": { + "/exocore/assets/v1/QueStakerAssetInfos": { "get": { - "summary": "Parameters queries the staking parameters.", - "operationId": "StakingParams", + "summary": "StakerAssetInfos queries the staker asset info.", + "operationId": "QueStakerAssetInfos", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "params": { - "description": "params holds all the parameters of this module.", - "type": "object", - "properties": { - "unbonding_time": { - "type": "string", - "description": "unbonding_time is the time duration of unbonding." - }, - "max_validators": { - "type": "integer", - "format": "int64", - "description": "max_validators is the maximum number of validators." - }, - "max_entries": { - "type": "integer", - "format": "int64", - "description": "max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio)." - }, - "historical_entries": { - "type": "integer", - "format": "int64", - "description": "historical_entries is the number of historical entries to persist." - }, - "bond_denom": { - "type": "string", - "description": "bond_denom defines the bondable coin denomination." + "asset_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the id of the asset." + }, + "info": { + "description": "info is the asset info.", + "type": "object", + "properties": { + "total_deposit_amount": { + "type": "string", + "description": "total_deposit_amount is the total amount of the asset deposited." + }, + "withdrawable_amount": { + "type": "string", + "description": "withdrawable_amount is the amount that can be withdrawn." + }, + "pending_undelegation_amount": { + "type": "string", + "description": "pending_undelegation_amount is the amount that is waiting for undelegation." + } + } + } }, - "min_commission_rate": { - "type": "string", - "title": "min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators" - } - } + "description": "DepositByAsset is a helper struct to be used in the genesis state.\nIt is used to store the asset id and its info for an staker.\nThe info contains the deposit amount, the withdrawable amount\nand the amount currently unbonding.\nIt is named DepositByAsset (since it is indexed by the assetID)\nand not Deposit to prevent conflict with CrossChainOpType." + }, + "description": "asset_infos is the response for the staker asset info, indexed by the asset id." } }, - "description": "QueryParamsResponse is response type for the Query/Params RPC method." + "description": "QueryAssetInfoResponse is the response for the staker asset info." } }, "default": { @@ -17185,51 +17757,61 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, + "parameters": [ + { + "name": "staker_id", + "description": "stake_id is the staker id for which the query is made.", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ "Query" ] } }, - "/cosmos/staking/v1beta1/pool": { + "/exocore/assets/v1/QueStakerSpecifiedAssetAmount": { "get": { - "summary": "Pool queries the pool info.", - "operationId": "Pool", + "summary": "OperatorSpecifiedAssetAmount queries the operator specified asset amount.", + "operationId": "QueOperatorSpecifiedAssetAmount", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "pool": { - "description": "pool defines the pool info.", - "type": "object", - "properties": { - "not_bonded_tokens": { - "type": "string" - }, - "bonded_tokens": { - "type": "string" - } - } + "total_amount": { + "type": "string", + "description": "total_amount is the total amount of the asset deposited, which excludes the\npending_undelegation_amount. It represent the total delegated amount of asset pool,\nit will be used to calculate the asset amount of a specified staker from its\ndelegated share." + }, + "pending_undelegation_amount": { + "type": "string", + "description": "pending_undelegation_amount is the amount that is waiting for unbonding." + }, + "total_share": { + "type": "string", + "description": "total_share is the total share of an asset, in the formula to update the staker's share\nS_j = S * T_j / T, `S` represent it.\nSo when the shares of staker and operator change, it also needs to add `S_j` to update." + }, + "operator_share": { + "type": "string", + "description": "operator_share is similar to the share of the staker, the calculation and update should\nbe same, the difference is that it represents the share of the operator itself.\nthe field is used to mark operator's own asset share." } }, - "description": "QueryPoolResponse is response type for the Query/Pool RPC method." + "description": "OperatorAssetInfo defines the information for a single asset,\nfor an operator." } }, "default": { @@ -17253,190 +17835,159 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, + "parameters": [ + { + "name": "operator_addr", + "description": "operator_addr is the operator address for which the query is made.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "asset_id", + "description": "asset_id is the asset for which the query is made.", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ "Query" ] } }, - "/cosmos/staking/v1beta1/validators": { + "/exocore/assets/v1/QueStakingAssetInfo": { "get": { - "summary": "Validators queries all validators that match the given status.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "Validators", + "summary": "StakingAssetInfo queries the staking asset info.", + "operationId": "QueStakingAssetInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" - } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - }, - "description": "validators contains all the queried validators." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + "asset_basic_info": { + "description": "asset_basic_info is the basic information of the asset.", "type": "object", "properties": { - "next_key": { + "name": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "title": "name of the asset, like \"Tether USD\"" }, - "total": { + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "address": { + "type": "string", + "title": "address of the asset on the client chain" + }, + "decimals": { + "type": "integer", + "format": "int64", + "description": "decimals used in the asset, typically 6 or 18." + }, + "layer_zero_chain_id": { "type": "string", "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "description": "layer_zero_chain_id is the chain id of the asset, according to L0." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the asset, like \"Tether USD on Ethereum blockchain\"." + } + } + }, + "staking_total_amount": { + "type": "string", + "description": "staking_total_amount is the total amount of the asset staked." + } + }, + "description": "StakingAssetInfo defines the information for an asset to be used in staking." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } } } } + } + } + } + }, + "parameters": [ + { + "name": "asset_id", + "description": "asset_id is the asset for which the query is made.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/slash/v1/params": { + "get": { + "summary": "Parameters queries the parameters of the module.", + "operationId": "ExoSlashParams", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object" + } }, - "title": "QueryValidatorsResponse is response type for the Query/Validators RPC method" + "description": "QueryParamsResponse is response type for the Query/Params RPC method." } }, "default": { @@ -17460,216 +18011,50 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "status", - "description": "status enables to query for validators matching a given status.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ "Query" ] } }, - "/cosmos/staking/v1beta1/validators/{validator_addr}": { + "/exocore/oracle/v1/index_recent_msg": { "get": { - "summary": "Validator queries validator info for given validator address.", - "operationId": "Validator", + "summary": "Queries a IndexRecentMsg by index.", + "operationId": "IndexRecentMsg", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "validator": { + "index_recent_msg": { + "title": "index_recent_msg index of cached recent messages", "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { + "index": { "type": "array", "items": { "type": "string", "format": "uint64" }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "title": "index list" } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." + } } }, - "title": "QueryValidatorResponse is response type for the Query/Validator RPC method" + "title": "QueryIndexRecentMsgResponse" } }, "default": { @@ -17693,104 +18078,127 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Query" ] } }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations": { + "/exocore/oracle/v1/index_recent_params": { "get": { - "summary": "ValidatorDelegations queries delegate info for given validator.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "ValidatorDelegations", + "summary": "Queries a IndexRecentParams by index.", + "operationId": "IndexRecentParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "delegation_responses": { + "index_recent_params": { + "title": "index_recent_params index of cached recent params", + "type": "object", + "properties": { + "index": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "index list" + } + } + } + }, + "title": "QueryGetIndexRecentParamsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { "type": "array", "items": { "type": "object", "properties": { - "delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "shares": { - "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." + "type_url": { + "type": "string" }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "value": { + "type": "string", + "format": "byte" } - }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." + } } - }, - "pagination": { - "description": "pagination defines the pagination in the response.", + } + } + } + } + }, + "tags": [ + "Query" + ] + } + }, + "/exocore/oracle/v1/latest_price/{token_id}": { + "get": { + "summary": "Queries the latest price of a specific token", + "operationId": "LatestPrice", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "price": { + "title": "prices returned prices", "type": "object", "properties": { - "next_key": { + "price": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "title": "price" }, - "total": { + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price is corresponded" + }, + "round_id": { "type": "string", "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "roundid of the price if the source is deteministic" } } } }, - "title": "QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method" + "title": "QueryGetLatestPriceResponse" } }, "default": { @@ -17814,16 +18222,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -17832,49 +18237,12 @@ }, "parameters": [ { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", + "name": "token_id", + "description": "token_id represents which token's price will be retrieved", "in": "path", "required": true, - "type": "string" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, "type": "string", "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ @@ -17882,54 +18250,266 @@ ] } }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}": { + "/exocore/oracle/v1/params": { "get": { - "summary": "Delegation queries delegate info for given validator delegator pair.", - "operationId": "Delegation", + "summary": "Parameters queries the parameters of the module.", + "operationId": "OracleParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "delegation_response": { + "params": { + "description": "params holds all the parameters of this module.", "type": "object", "properties": { - "delegation": { + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } + } + } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", "type": "object", "properties": { - "delegator_address": { + "reported_rounds_window": { "type": "string", - "description": "delegator_address is the encoded address of the delegator." + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" }, - "validator_address": { + "min_reported_per_window": { "type": "string", - "description": "validator_address is the encoded address of the validator." + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" }, - "shares": { + "oracle_miss_jail_duration": { "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." - }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" }, - "amount": { - "type": "string" + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + } } - }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." + } } }, - "description": "QueryDelegationResponse is response type for the Query/Delegation RPC method." + "description": "QueryParamsResponse is response type for the Query/Params RPC method." } }, "default": { @@ -17953,107 +18533,80 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ "Query" ] } }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/delegations/{delegator_addr}/unbonding_delegation": { + "/exocore/oracle/v1/prices/{token_id}": { "get": { - "summary": "UnbondingDelegation queries unbonding info for given validator delegator\npair.", - "operationId": "UnbondingDelegation", + "summary": "Queries a list of Prices items.", + "operationId": "Prices", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "unbond": { + "prices": { + "title": "prices returned prices", "type": "object", "properties": { - "delegator_address": { + "token_id": { "type": "string", - "description": "delegator_address is the encoded address of the delegator." + "format": "uint64", + "title": "for which token these prices are" }, - "validator_address": { + "next_round_id": { "type": "string", - "description": "validator_address is the encoded address of the validator." + "format": "uint64", + "title": "next round id of the price to be updated" }, - "entries": { + "price_list": { "type": "array", "items": { "type": "object", "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { + "price": { "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." + "title": "price" }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" }, - "unbonding_id": { + "timestamp": { "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" + "title": "timestamp when the price is corresponded" }, - "unbonding_on_hold_ref_count": { + "round_id": { "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" + "format": "uint64", + "title": "roundid of the price if the source is deteministic" } }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." + "title": "price with its specified timestamp and roundid(if from deteministic source)" }, - "description": "entries are the unbonding delegation entries." + "title": "price list of all history round prices for the token" } - }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." + } } }, - "description": "QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method." + "title": "QueryGetPricesResponse" } }, "default": { @@ -18077,16 +18630,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18095,18 +18645,12 @@ }, "parameters": [ { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "delegator_addr", - "description": "delegator_addr defines the delegator address to query for.", + "name": "token_id", + "description": "token_id represents which token's price will be retrieved", "in": "path", "required": true, - "type": "string" + "type": "string", + "format": "uint64" } ], "tags": [ @@ -18114,74 +18658,98 @@ ] } }, - "/cosmos/staking/v1beta1/validators/{validator_addr}/unbonding_delegations": { + "/exocore/oracle/v1/recent_msg": { "get": { - "summary": "ValidatorUnbondingDelegations queries unbonding delegations of a validator.", - "description": "When called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", - "operationId": "ValidatorUnbondingDelegations", + "summary": "RecentMsgAll all RecentMsg items.", + "operationId": "RecentMsgAll", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "unbonding_responses": { + "recent_msg": { "type": "array", "items": { "type": "object", "properties": { - "delegator_address": { + "block": { "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." + "format": "uint64", + "title": "block height these messages from" }, - "entries": { + "msgs": { "type": "array", "items": { "type": "object", "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." - }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." - }, - "unbonding_id": { + "feeder_id": { "type": "string", "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" + "title": "feeder_id tells of wich feeder this price if corresponding to" + }, + "p_sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_id": { + "type": "string", + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" + }, + "prices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price corresponding to" + }, + "det_id": { + "type": "string", + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" + } + }, + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." + }, + "desc": { + "type": "string", + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "title": "p_source price with its source info" }, - "unbonding_on_hold_ref_count": { + "validator": { "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" + "title": "validator tells which validator create this price" } }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." + "title": "MsgItem represents the message info of createPrice" }, - "description": "entries are the unbonding delegation entries." + "title": "cached messages" } }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - } + "title": "RecentMsg represent the messages to be cached for recent blocks" + }, + "title": "recent_msg represets the cached recent message" }, "pagination": { - "description": "pagination defines the pagination in the response.", + "title": "info of pagination", "type": "object", "properties": { "next_key": { @@ -18194,10 +18762,11 @@ "format": "uint64", "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" } }, - "description": "QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method." + "title": "QueryAllRecentMsgResponse" } }, "default": { @@ -18221,16 +18790,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18238,13 +18804,6 @@ } }, "parameters": [ - { - "name": "validator_addr", - "description": "validator_addr defines the validator address to query for.", - "in": "path", - "required": true, - "type": "string" - }, { "name": "pagination.key", "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", @@ -18289,16 +18848,94 @@ ] } }, - "/cosmos/tx/v1beta1/decode": { - "post": { - "summary": "TxDecode decodes the transaction.", - "description": "Since: cosmos-sdk 0.47", - "operationId": "TxDecode", + "/exocore/oracle/v1/recent_msg/{block}": { + "get": { + "summary": "Queries a list of RecentMsg items.", + "operationId": "RecentMsg", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/cosmos.tx.v1beta1.TxDecodeResponse" + "type": "object", + "properties": { + "recent_msg": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height these messages from" + }, + "msgs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeder_id": { + "type": "string", + "format": "uint64", + "title": "feeder_id tells of wich feeder this price if corresponding to" + }, + "p_sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_id": { + "type": "string", + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" + }, + "prices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price corresponding to" + }, + "det_id": { + "type": "string", + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" + } + }, + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." + }, + "desc": { + "type": "string", + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "title": "p_source price with its source info" + }, + "validator": { + "type": "string", + "title": "validator tells which validator create this price" + } + }, + "title": "MsgItem represents the message info of createPrice" + }, + "title": "cached messages" + } + }, + "title": "RecentMsg represent the messages to be cached for recent blocks" + } + }, + "title": "QueryGetRecentMsgResponse" } }, "default": { @@ -18322,16 +18959,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18340,43 +18974,312 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "block", + "description": "block represents of which block the cached message query for", + "in": "path", "required": true, - "schema": { - "type": "object", - "properties": { - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the raw transaction." - } - }, - "description": "TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47" - } + "type": "string", + "format": "uint64" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/decode/amino": { - "post": { - "summary": "TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON.", - "description": "Since: cosmos-sdk 0.47", - "operationId": "TxDecodeAmino", + "/exocore/oracle/v1/recent_params": { + "get": { + "summary": "RecentParamsAll query all RecentParams.", + "operationId": "RecentParamsAll", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "amino_json": { - "type": "string" + "recent_params": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height of which the params from" + }, + "params": { + "title": "params the module params", + "type": "object", + "properties": { + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } + } + } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" + } + } + } + }, + "description": "Params defines the parameters for the module." + } + }, + "title": "RecentParams represents the params cached for recent blocks" + }, + "title": "recent_params cached recent params" + }, + "pagination": { + "title": "info of pagination", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" } }, - "description": "TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" + "title": "QueryAllRecentParamsResponse" } }, "default": { @@ -18400,16 +19303,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18418,44 +19318,321 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "amino_binary": { - "type": "string", - "format": "byte" - } - }, - "description": "TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" - } + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/encode": { - "post": { - "summary": "TxEncode encodes the transaction.", - "description": "Since: cosmos-sdk 0.47", - "operationId": "TxEncode", + "/exocore/oracle/v1/recent_params/{block}": { + "get": { + "summary": "Queries a list of RecentParams items.", + "operationId": "RecentParams", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the encoded transaction bytes." + "recent_params": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height of which the params from" + }, + "params": { + "title": "params the module params", + "type": "object", + "properties": { + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } + } + } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" + } + } + } + }, + "description": "Params defines the parameters for the module." + } + }, + "title": "RecentParams represents the params cached for recent blocks" } }, - "description": "TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47" + "title": "QueryGetRecentParamsResponse" } }, "default": { @@ -18479,16 +19656,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18497,36 +19671,95 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "block", + "description": "block represents of which block the cached params from", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/cosmos.tx.v1beta1.TxEncodeRequest" - } + "type": "string", + "format": "uint64" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/encode/amino": { - "post": { - "summary": "TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes.", - "description": "Since: cosmos-sdk 0.47", - "operationId": "TxEncodeAmino", + "/exocore/oracle/v1/staker_info/{asset_id}/{staker_addr}": { + "get": { + "summary": "StakerInfo shows the details for one staker required by input parsms of the specified asset", + "operationId": "StakerInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "amino_binary": { - "type": "string", - "format": "byte" + "staker_info": { + "title": "all staker infos under the specified asset", + "type": "object", + "properties": { + "staker_addr": { + "type": "string", + "title": "staker's address" + }, + "staker_index": { + "type": "string", + "format": "int64", + "title": "the index of corresponding staker in staker list" + }, + "validator_pubkey_list": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of validators that this staker corresponding to on beacon chain" + }, + "balance_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "round_id": { + "type": "string", + "format": "uint64", + "title": "current round of price, this is updated based on tokenFeeder" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "on which block the balance updated, deposit/withdraw will update this and round_id might not change" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index used to distinguish multiple balanceInfo for one same roundid" + }, + "balance": { + "type": "string", + "format": "int64", + "title": "beaconchain epoch related to slash_refund\nuint epoch = 3;" + }, + "change": { + "title": "change tells the reason balance changed", + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened" + } + }, + "title": "BalanceInfo tells effective-balance for native-restaking asset" + }, + "title": "list of balances to represets the history of this staker" + } + } } }, - "description": "TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" + "title": "QueryStakerInfoResponse is response type for Query/StakerInfo RCP method" } }, "default": { @@ -18550,16 +19783,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18568,118 +19798,105 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "asset_id", + "description": "asset id for the staker info request for", + "in": "path", "required": true, - "schema": { - "type": "object", - "properties": { - "amino_json": { - "type": "string" - } - }, - "description": "TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" - } + "type": "string" + }, + { + "name": "staker_addr", + "description": "staker_addr is the staker address", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/simulate": { - "post": { - "summary": "Simulate simulates executing a transaction for estimating gas usage.", - "operationId": "Simulate", + "/exocore/oracle/v1/staker_infos/{asset_id}": { + "get": { + "summary": "StakerInfos shows the details for all stakers of the specified assets under native-restaking context", + "operationId": "StakerInfos", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "gas_info": { - "description": "gas_info is the information about gas used in the simulation.", - "type": "object", - "properties": { - "gas_wanted": { - "type": "string", - "format": "uint64", - "description": "GasWanted is the maximum units of work we allow this tx to perform." - }, - "gas_used": { - "type": "string", - "format": "uint64", - "description": "GasUsed is the amount of gas actually consumed." - } - } - }, - "result": { - "description": "result is the result of the simulation.", - "type": "object", - "properties": { - "data": { - "type": "string", - "format": "byte", - "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL." - }, - "log": { - "type": "string", - "description": "Log contains the log information from message or handler execution." - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } - } + "staker_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_addr": { + "type": "string", + "title": "staker's address" + }, + "staker_index": { + "type": "string", + "format": "int64", + "title": "the index of corresponding staker in staker list" + }, + "validator_pubkey_list": { + "type": "array", + "items": { + "type": "string" }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." + "title": "list of validators that this staker corresponding to on beacon chain" }, - "description": "Events contains a slice of Event objects that were emitted during message\nor handler execution." - }, - "msg_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "balance_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "round_id": { + "type": "string", + "format": "uint64", + "title": "current round of price, this is updated based on tokenFeeder" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "on which block the balance updated, deposit/withdraw will update this and round_id might not change" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index used to distinguish multiple balanceInfo for one same roundid" + }, + "balance": { + "type": "string", + "format": "int64", + "title": "beaconchain epoch related to slash_refund\nuint epoch = 3;" + }, + "change": { + "title": "change tells the reason balance changed", + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened" + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "title": "BalanceInfo tells effective-balance for native-restaking asset" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46" - } - } + "title": "list of balances to represets the history of this staker" + } + }, + "title": "StakerInfo represents all related information for a staker of native-restaking" + }, + "title": "all staker infos under the specified asset" } }, - "description": "SimulateResponse is the response type for the\nService.SimulateRPC method." + "title": "QueryStakerInfosResponse is response type for Query/StakerInfo RCP method" } }, "default": { @@ -18703,16 +19920,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18721,28 +19935,43 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "asset_id", + "description": "asset id for the staker info request for", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/cosmos.tx.v1beta1.SimulateRequest" - } + "type": "string" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/txs": { + "/exocore/oracle/v1/staker_list": { "get": { - "summary": "GetTxsEvent fetches txs by event.", - "operationId": "GetTxsEvent", + "summary": "StakerList shows all stakers related to the specified asset under native-restaking context", + "operationId": "StakerList", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/cosmos.tx.v1beta1.GetTxsEventResponse" + "type": "object", + "properties": { + "staker_list": { + "title": "staker list including all stakers of request asset", + "type": "object", + "properties": { + "staker_addrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "staker's address" + } + } + } + }, + "title": "QueryStakerListResponse is response type for Query/StakerList RPC method" } }, "default": { @@ -18766,16 +19995,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -18784,247 +20010,49 @@ }, "parameters": [ { - "name": "events", - "description": "events is the list of transaction event type.\nDeprecated post v0.47.x: use query instead, which should contain a valid\nevents query.", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "order_by", - "description": " - ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "ORDER_BY_UNSPECIFIED", - "ORDER_BY_ASC", - "ORDER_BY_DESC" - ], - "default": "ORDER_BY_UNSPECIFIED" - }, - { - "name": "page", - "description": "page is the page number to query, starts at 1. If not provided, will\ndefault to first page.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "query", - "description": "query defines the transaction event query that is proxied to Tendermint's\nTxSearch RPC method. The query must be valid.\n\nSince cosmos-sdk 0.50", + "name": "asset_id", + "description": "id of assets for the staker list request for.", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Service" + "Query" ] - }, - "post": { - "summary": "BroadcastTx broadcast transaction.", - "operationId": "BroadcastTx", + } + }, + "/exocore/oracle/v1/token_indexes": { + "get": { + "summary": "TokenIndexes shows the map tells token and its index for further usage", + "operationId": "TokenIndexes", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "tx_response": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64", - "title": "The block height" - }, - "txhash": { - "type": "string", - "description": "The transaction hash." - }, - "codespace": { - "type": "string", - "title": "Namespace for the Code" - }, - "code": { - "type": "integer", - "format": "int64", - "description": "Response code." - }, - "data": { - "type": "string", - "description": "Result bytes, if any." - }, - "raw_log": { - "type": "string", - "description": "The output of the application's logger (raw string). May be\nnon-deterministic." - }, - "logs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "msg_index": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - } - } - }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." - }, - "description": "Events contains a slice of Event objects that were emitted during some\nexecution." - } - }, - "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." - }, - "description": "The output of the application's logger (typed). May be non-deterministic." - }, - "info": { - "type": "string", - "description": "Additional information. May be non-deterministic." - }, - "gas_wanted": { - "type": "string", - "format": "int64", - "description": "Amount of gas requested for transaction." - }, - "gas_used": { - "type": "string", - "format": "int64", - "description": "Amount of gas consumed by transaction." - }, - "tx": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "timestamp": { - "type": "string", - "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } - } - }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." + "token_indexes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token": { + "type": "string", + "title": "token name" }, - "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" - } + "index": { + "type": "string", + "format": "uint64", + "title": "the index registered in params.Token" + } + }, + "title": "TokenIndex is the pair of tokenName and its index defined in params" }, - "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." + "title": "token_indexes includes all the token-index mapping" } }, - "description": "BroadcastTxResponse is the response type for the\nService.BroadcastTx method." + "title": "QueryTokenIndexesResponse is response type for Query/TokenIndexes RPC method" } }, "default": { @@ -19048,66 +20076,118 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, + "tags": [ + "Query" + ] + } + }, + "/exocore/oracle/v1/validator_update_block": { + "get": { + "summary": "Queries a ValidatorUpdateBlock by index.", + "operationId": "ValidatorUpdateBlock", + "responses": { + "200": { + "description": "A successful response.", "schema": { "type": "object", "properties": { - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the raw transaction." - }, - "mode": { - "type": "string", - "enum": [ - "BROADCAST_MODE_UNSPECIFIED", - "BROADCAST_MODE_BLOCK", - "BROADCAST_MODE_SYNC", - "BROADCAST_MODE_ASYNC" - ], - "default": "BROADCAST_MODE_UNSPECIFIED", - "description": "BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately." + "validator_update_block": { + "title": "ValidatorUpdateBlock tells the latest block on which the valdiator set was updated", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height on which the validator set changed" + } + } } }, - "description": "BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method." + "title": "QueryGetValidatorUpdateBlockResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } } } - ], + }, "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/txs/block/{height}": { + "/exocore/exomint/v1/Params": { "get": { - "summary": "GetBlockWithTxs fetches a block with decoded txs.", - "description": "Since: cosmos-sdk 0.45.2", - "operationId": "GetBlockWithTxs", + "summary": "Parameters queries the parameters of the module.", + "operationId": "ExomintParams", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/cosmos.tx.v1beta1.GetBlockWithTxsResponse" + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object", + "properties": { + "mint_denom": { + "type": "string", + "title": "mint_denom is the denomination of the minted coin" + }, + "epoch_reward": { + "type": "string", + "description": "epoch_reward is the reward minted by the module, per epoch. note that\nthis is in addition to any other fees that are collected, or rewards\nthat are minted." + }, + "epoch_identifier": { + "type": "string", + "description": "epoch_identifier is the epoch identifier used to determine when to mint\nthe reward." + } + } + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." } }, "default": { @@ -19131,84 +20211,50 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "height", - "description": "height is the height of the block to query.", - "in": "path", - "required": true, - "type": "string", - "format": "int64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" - } - ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/tx/v1beta1/txs/{hash}": { + "/exocore/v1/feedistribution/params": { "get": { - "summary": "GetTx fetches a tx by hash.", - "operationId": "GetTx", + "summary": "Parameters queries the parameters of the module.", + "operationId": "FeeDistributionParams", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/cosmos.tx.v1beta1.GetTxResponse" + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object", + "properties": { + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier for fee distribution" + }, + "community_tax": { + "type": "string", + "title": "community_tax is the tax defined for allocation" + } + } + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." } }, "default": { @@ -19232,104 +20278,54 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } } } }, - "parameters": [ - { - "name": "hash", - "description": "hash is the tx hash to query, encoded as a hex string.", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/abci_query": { + "/exocore/delegation/v1/GetDelegationInfo": { "get": { - "summary": "ABCIQuery defines a query handler that supports ABCI queries directly to the\napplication, bypassing Tendermint completely. The ABCI query must contain\na valid and supported path, including app, custom, p2p, and store.", - "description": "Since: cosmos-sdk 0.46", - "operationId": "ABCIQuery", + "summary": "DelegationInfo queries the delegation information for {stakerID, assetID}.", + "operationId": "QueryDelegationInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "code": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "info": { - "type": "string" - }, - "index": { - "type": "string", - "format": "int64" - }, - "key": { - "type": "string", - "format": "byte" - }, - "value": { - "type": "string", - "format": "byte" - }, - "proof_ops": { + "delegation_infos": { "type": "object", - "properties": { - "ops": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "key": { - "type": "string", - "format": "byte" - }, - "data": { - "type": "string", - "format": "byte" - } - }, - "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." + "additionalProperties": { + "type": "object", + "properties": { + "undelegatable_share": { + "type": "string", + "description": "undelegatable_share is the share that can be undelegated.\nIt's to reduce the state updating when slash occurs.\nS_j = S * T_j / T, `S` and `T` is the current asset share and amount of operator,\nand the T_j represents the change in staker's asset amount when some external\noperations occur, such as: delegation, undelegation and slashing.\nS_j represents the change in the staker's asset share,\nso the updated share should be added by it.\nA special case is the initial delegation, when T = 0 and S = 0, so T_j / T is undefined.\nFor the initial delegation, delegator j who delegates T_j tokens receive S_j = T_j shares." + }, + "wait_undelegation_amount": { + "type": "string", + "description": "wait_undelegation_amount is the amount that is waiting to be unbonded." } - } + }, + "description": "DelegationAmounts is the delegation amount response for a single delegation." }, - "description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint." - }, - "height": { - "type": "string", - "format": "int64" - }, - "codespace": { - "type": "string" + "description": "delegation_infos is the delegation information for each operator." } }, - "description": "ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint." + "description": "QueryDelegationInfoResponse is the response for delegations by staker id and\nasset id." } }, "default": { @@ -19353,16 +20349,13 @@ "type": "object", "properties": { "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "type": "string" }, "value": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } } } @@ -19371,1412 +20364,1346 @@ }, "parameters": [ { - "name": "data", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "path", + "name": "staker_id", + "description": "staker_id is the staker id.", "in": "query", "required": false, "type": "string" }, { - "name": "height", + "name": "asset_id", + "description": "asset_id is the asset id.", "in": "query", "required": false, - "type": "string", - "format": "int64" + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/delegation/v1/QueryAssociatedOperatorByStaker": { + "get": { + "summary": "QueryAssociatedOperatorByStaker queries the associated operator for the specified staker", + "operationId": "QueryAssociatedOperatorByStaker", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "operator": { + "type": "string", + "title": "operator is the returned operator owner of the specified staker" + } + }, + "title": "QueryAssociatedOperatorByStakerResponse is the response to QueryAssociatedOperatorByStakerReq" + } }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ { - "name": "prove", + "name": "staker_id", + "description": "stake_id is the staker id for which the query is made.", "in": "query", "required": false, - "type": "boolean" + "type": "string" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/blocks/latest": { + "/exocore/delegation/v1/QueryAssociatedStakersByOperator/{operator}": { "get": { - "summary": "GetLatestBlock returns the latest block.", - "operationId": "GetLatestBlock", + "summary": "QueryAssociatedStakersByOperator queries the associated stakers for the specified operator", + "operationId": "QueryAssociatedStakersByOperator", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } + "stakers": { + "type": "array", + "items": { + "type": "string" }, - "title": "BlockID" + "title": "stakers is the returned stakers associated to the specified operator" + } + }, + "title": "QueryAssociatedStakersByOperatorResponse is the response to QueryAssociatedStakersByOperatorReq" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" }, - "block": { - "title": "Deprecated: please use `sdk_block` instead", - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" }, - "title": "Data contains the set of transactions included in the block" - }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } - } - } + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "operator", + "description": "operator is the operator address for which the query is made.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/delegation/v1/QuerySingleDelegationInfo": { + "get": { + "summary": "SingleDelegationInfo queries the single delegation information for\n{chain, staker, asset, operator}.", + "operationId": "QuerySingleDelegationInfo", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "undelegatable_share": { + "type": "string", + "description": "undelegatable_share is the share that can be undelegated.\nIt's to reduce the state updating when slash occurs.\nS_j = S * T_j / T, `S` and `T` is the current asset share and amount of operator,\nand the T_j represents the change in staker's asset amount when some external\noperations occur, such as: delegation, undelegation and slashing.\nS_j represents the change in the staker's asset share,\nso the updated share should be added by it.\nA special case is the initial delegation, when T = 0 and S = 0, so T_j / T is undefined.\nFor the initial delegation, delegator j who delegates T_j tokens receive S_j = T_j shares." + }, + "wait_undelegation_amount": { + "type": "string", + "description": "wait_undelegation_amount is the amount that is waiting to be unbonded." + } + }, + "description": "DelegationAmounts is the delegation amount response for a single delegation." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" } - }, - "last_commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "staker_id", + "description": "staker_id is the staker id.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "operator_addr", + "description": "operator_addr is the operator address.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "asset_id", + "description": "asset_id is the asset id.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/delegation/v1/QueryUndelegationHoldCount/{record_key}": { + "get": { + "summary": "QueryUndelegationHoldCount queries the undelegation hold count.", + "operationId": "QueryUndelegationHoldCount", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "hold_count": { + "type": "string", + "format": "uint64", + "description": "hold_count is the number of undelegations that are on hold." + } + }, + "description": "UndelegationHoldCountResponse is the response for the undelegation hold count." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "value": { + "type": "string", + "format": "byte" + } } } + } + } + } + } + }, + "parameters": [ + { + "name": "record_key", + "description": "record_key is the record key of the undelegation record.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/delegation/v1/QueryUndelegations": { + "get": { + "summary": "QueryUndelegations queries all undelegations for\n{staker, asset}.", + "operationId": "QueryUndelegations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." + }, + "tx_hash": { + "type": "string", + "description": "tx_hash is the transaction hash on the client chain." + }, + "is_pending": { + "type": "boolean", + "description": "is_pending is the flag to indicate if the undelegation is pending." + }, + "block_number": { + "type": "string", + "format": "uint64", + "description": "block_number is the block number on Exocore." + }, + "complete_block_number": { + "type": "string", + "format": "uint64", + "description": "complete_block_number is the block number on Exocore at which the undelegation\nshould be completed." + }, + "lz_tx_nonce": { + "type": "string", + "format": "uint64", + "description": "lz_tx_nonce is the nonce of the transaction on the client chain." + }, + "amount": { + "type": "string", + "description": "amount is the amount of the asset to be undelegated." + }, + "actual_completed_amount": { + "type": "string", + "description": "actual_completed_amount is the actual amount of the asset that has been\nundelegated so far. it may be lower than the amount in the case of slashing." + } + }, + "description": "UndelegationRecord is the undelegation record, keyed by a RecordKey." + }, + "title": "UndelegationRecord is the returned undelegations" + } + }, + "description": "UndelegationRecordList is the response to query undelegations." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" }, - "sdk_block": { - "title": "Since: cosmos-sdk 0.47", - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." - } + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" }, - "description": "Header defines the structure of a Tendermint block header." + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "staker_id", + "description": "staker_id is the staker id.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "asset_id", + "description": "asset_id is the asset id.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/delegation/v1/QueryUndelegationsByHeight": { + "get": { + "summary": "QueryUndelegationsByHeight queries all undelegations waiting to be completed by\n{height}.", + "operationId": "QueryUndelegationsByHeight", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." + }, + "tx_hash": { + "type": "string", + "description": "tx_hash is the transaction hash on the client chain." + }, + "is_pending": { + "type": "boolean", + "description": "is_pending is the flag to indicate if the undelegation is pending." + }, + "block_number": { + "type": "string", + "format": "uint64", + "description": "block_number is the block number on Exocore." + }, + "complete_block_number": { + "type": "string", + "format": "uint64", + "description": "complete_block_number is the block number on Exocore at which the undelegation\nshould be completed." + }, + "lz_tx_nonce": { + "type": "string", + "format": "uint64", + "description": "lz_tx_nonce is the nonce of the transaction on the client chain." + }, + "amount": { + "type": "string", + "description": "amount is the amount of the asset to be undelegated." + }, + "actual_completed_amount": { + "type": "string", + "description": "actual_completed_amount is the actual amount of the asset that has been\nundelegated so far. it may be lower than the amount in the case of slashing." + } }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { + "description": "UndelegationRecord is the undelegation record, keyed by a RecordKey." + }, + "title": "UndelegationRecord is the returned undelegations" + } + }, + "description": "UndelegationRecordList is the response to query undelegations." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "block_height", + "description": "block_height is the block height to query.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/avs/v1/GetAVSTaskInfoReq": { + "get": { + "summary": "TaskInfo queries the task information.", + "operationId": "QueryAVSTaskInfo", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "task_contract_address": { + "type": "string", + "title": "contract address of avstask" + }, + "name": { + "type": "string", + "title": "name of task" + }, + "hash": { + "type": "string", + "format": "byte", + "title": "data which is supplied by the contract, usually ABI-encoded" + }, + "task_id": { + "type": "string", + "format": "uint64", + "title": "task_id of task" + }, + "task_response_period": { + "type": "string", + "format": "uint64", + "title": "Deadline for task response" + }, + "task_statistical_period": { + "type": "string", + "format": "uint64", + "title": "Statistical period: threshold calculation, signature verification,\nnosig quantity statistics, operator submits messages corresponding to signatures" + }, + "task_challenge_period": { + "type": "string", + "format": "uint64", + "title": "challenge period for task" + }, + "threshold_percentage": { + "type": "string", + "format": "uint64", + "title": "Signature threshold percentage" + }, + "starting_epoch": { + "type": "string", + "format": "uint64", + "title": "Effective current epoch, accounting for current_epoch + 1\nand current_epoch is the integer identifier of the epoch module" + }, + "actual_threshold": { + "type": "string", + "format": "uint64", + "title": "actual_threshold is the Actual threshold" + }, + "opt_in_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "opt_in_count when creating a task, the actual opt-in operator counts at this moment" + }, + "signed_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "signed_count is Actual number of signatures already signed" + }, + "no_signed_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "no_signed_count is the final number of unsigned operators" + }, + "err_signed_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "err_signed_count is the number of operators with final incorrect signatures" + }, + "task_total_power": { + "type": "string", + "description": "task_total_power is the USD value owned by the avs task itself." + }, + "operator_active_power": { + "title": "operator_active_power_list is a power list of operators opt-in to the current task", + "type": "object", + "properties": { + "operator_power_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_addr": { "type": "string", - "format": "byte" + "description": "operator_addr is the operator address." }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } - }, - "title": "Data contains the set of transactions included in the block" - }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } + "active_power": { + "type": "string", + "description": "active_power is the USD value owned by the operator itself." } - } + }, + "description": "OperatorActivePowerInfo is the operator power info." + }, + "description": "operator_power_list is a power list of operators." + } + } + } + }, + "description": "TaskContractInfo is the task info." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "task_addr", + "description": "task_addr is the task contract address,its type should be a sdk.AccAddress.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "task_id", + "description": "task_id is the task identifier.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/avs/v1/QueryAVSAddrByChainID": { + "get": { + "summary": "QueryAVSAddrByChainID queries the avs address by chain id", + "operationId": "QueryAVSAddrByChainID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "avs_address": { + "type": "string", + "title": "avs_address is the hex address of avs" + } + }, + "title": "QueryAVSAddrByChainIDResponse is the response of avs address by chain id" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "chain_id", + "description": "chain_id is the chain id of the chain.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/avs/v1/QueryAVSInfo": { + "get": { + "summary": "Parameters queries the parameters of the module.", + "operationId": "QueryAVSInfo", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "info": { + "title": "basic information of avs", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of avs as an arbitrary string" }, - "last_commit": { + "avs_address": { + "type": "string", + "title": "avs_address is the address of avs as a hex string" + }, + "min_stake_amount": { + "type": "string", + "format": "uint64", + "title": "min_stake_amount is the minimum stake amount required for a task to start" + }, + "task_addr": { + "type": "string", + "title": "task_addr is the address of task as a hex string" + }, + "slash_addr": { + "type": "string", + "title": "slash_addr is the hex address of the slashing contract for the AVS" + }, + "reward_addr": { + "type": "string", + "title": "reward_addr is the hex address of the reward contract for the AVS" + }, + "avs_owner_address": { + "type": "array", + "items": { + "type": "string" + }, + "title": "avs_owner_address are the bech32 addresses of the owners of the avs" + }, + "asset_ids": { + "type": "array", + "items": { + "type": "string" + }, + "title": "asset_ids is a list of asset_ids that the AVS accepts" + }, + "avs_unbonding_period": { + "type": "string", + "format": "uint64", + "title": "avs_unbonding_period is the number of epochs that an operator must wait to unbond" + }, + "min_self_delegation": { + "type": "string", + "format": "uint64", + "title": "min_self_delegation is the minimum self delegation required for an operator to join the AVS" + }, + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier is the identifier from the epochs module" + }, + "min_opt_in_operators": { + "type": "string", + "format": "uint64", + "title": "min_opt_in_operators is the minimum number of operators required for a task" + }, + "min_total_stake_amount": { + "type": "string", + "format": "uint64", + "title": "min_total_stake_amount is the minimum total stake amount required for a task" + }, + "starting_epoch": { + "type": "string", + "format": "uint64", + "title": "starting_epoch is the epoch at which the AVS starts" + }, + "chain_id": { + "type": "string", + "title": "chain_id is an optional parameter to specify the chain_id of the AVS, if any" + }, + "avs_reward": { + "type": "string", + "title": "avs_reward defines the proportion of reward" + }, + "avs_slash": { + "type": "string", + "title": "avs_slash defines the proportion of slash" + }, + "asset_reward_amount_epoch_basis": { "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "description": "asset_reward_commission_epoch_basis is the avs reward distribution based on asset per eopch end." + } + } + } + }, + "title": "QueryAVSInfoResponse is the response of avs related information" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "avs_address", + "description": "avs_address is the address of avs.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/avs/v1/QueryChallengeInfo": { + "get": { + "summary": "Parameters queries the parameters of the module.", + "operationId": "QueryChallengeInfo", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "challenge_addr": { + "type": "string", + "description": "challenge_addr is the challenge address,its type should be a common.HexAddress." + } + }, + "title": "QueryChallengeInfoResponse is the response of avs related information" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "task_addr", + "description": "task_addr is the task contract address,its type should be a sdk.AccAddress.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "task_id", + "description": "task_id is the task identifier.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "operator_addr", + "description": "operator_addr is the operator address,its type should be a sdk.AccAddress.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/avs/v1/QuerySubmitTaskResult": { + "get": { + "summary": "Parameters queries the parameters of the module.", + "operationId": "QuerySubmitTaskResult", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "info": { + "description": "info is the taskResult.", + "type": "object", + "properties": { + "operator_address": { + "type": "string", + "title": "operator_address operator address" + }, + "task_response_hash": { + "type": "string", + "description": "task_response_hash is the task_response msg hash." + }, + "task_response": { + "type": "string", + "format": "byte", + "description": "task_response is the task response data." + }, + "bls_signature": { + "type": "string", + "format": "byte", + "description": "bls_signature is the operator bls sig info." + }, + "task_contract_address": { + "type": "string", + "title": "task_contract_address is contract address of task" + }, + "task_id": { + "type": "string", + "format": "uint64", + "title": "task_id is the task id" + }, + "phase": { + "title": "phase this field is used to solve the problem of task results being copied by other operators.\nIt is a two-phase submission with two values, 1 and 2", + "type": "string", + "enum": [ + "PHASE_UNSPECIFIED", + "PHASE_PREPARE", + "PHASE_DO_COMMIT" + ], + "default": "PHASE_UNSPECIFIED", + "description": "- PHASE_UNSPECIFIED: Default value when phase is not specified\n - PHASE_PREPARE: First phase where operators prepare and submit their initial responses\n - PHASE_DO_COMMIT: Second phase where operators commit their prepared responses" + } + } + } + }, + "title": "QuerySubmitTaskResultResponse is the response of avs related information" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "task_addr", + "description": "task_addr is the task contract address,its type should be a sdk.AccAddress.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "task_id", + "description": "task_id is the task identifier.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "operator_addr", + "description": "operator_addr is the operator address,its type should be a sdk.AccAddress.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/all_operator_cons_addrs/{chain}": { + "get": { + "summary": "QueryAllOperatorConsAddrsByChainID queries all operators and their consensus addresses\nfor a specific chain ID", + "operationId": "QueryAllOperatorConsAddrsByChainID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "operator_cons_addrs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_acc_addr": { + "type": "string", + "description": "operator_acc_addr is the operator account address." + }, + "cons_addr": { + "type": "string", + "description": "cons_addr is the consensus address corresponding to the consensus public key\ncurrently in use by the operator." + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "OperatorConsAddrPair holds the operator address and the corresponding consensus address." + }, + "description": "operator_cons_addrs is a list of operator account addresses and the consensus addresses." + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "description": "QueryAllOperatorConsAddrsByChainIDResponse is the response that includes a list of all operators\nand their consensus addresses for a specified chain ID." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "chain", + "description": "chain for which the cons addrs are being queried. here chain_id is not used since the\nLinter complains about capitalization, which can be set with a gogoproto.custom_name but\nthat is not compatible with google.api.http.get in the Query service below.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/all_operator_cons_keys/{chain}": { + "get": { + "summary": "QueryAllOperatorConsKeysByChainID queries all operators and their consensus public keys\nfor a specific chain ID", + "operationId": "QueryAllOperatorConsKeysByChainID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "operator_cons_keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_acc_addr": { + "type": "string", + "description": "operator_acc_addr is the operator account address." + }, + "public_key": { + "description": "public_key is the consensus public key of the operator.", + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." + "secp256k1": { + "type": "string", + "format": "byte" } - } + }, + "title": "PublicKey defines the keys available for use with Validators" }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "OperatorConsKeyPair holds the operator address and the consensus public key currently in\nuse by the operator." }, - "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + "description": "operator_cons_keys is a list of operator addresses and their consensus public keys." + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method." + "description": "QueryAllOperatorConsKeysByChainIDResponse is the response that includes a list of all operators\nand their consensus keys for a specified chain ID." } }, "default": { @@ -20816,1386 +21743,987 @@ } } }, + "parameters": [ + { + "name": "chain", + "description": "chain for which the cons keys are being queried. here chain_id is not used since the\nLinter complains about capitalization, which can be set with a gogoproto.custom_name but\nthat is not compatible with google.api.http.get in the Query service below.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/blocks/{height}": { + "/exocore/operator/v1/all_operators": { "get": { - "summary": "GetBlockByHeight queries block for given height.", - "operationId": "GetBlockByHeight", + "summary": "QueryAllOperators queries all operators.", + "operationId": "QueryAllOperators", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "block_id": { + "operator_acc_addrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "operators is a list of all operators." + }, + "pagination": { + "description": "pagination related response.", "type": "object", "properties": { - "hash": { + "next_key": { "type": "string", - "format": "byte" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } - }, - "title": "BlockID" + } + } + }, + "description": "QueryAllOperatorsResponse is the response containing all operator account addresses." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" }, - "block": { - "title": "Deprecated: please use `sdk_block` instead", - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "title": "Data contains the set of transactions included in the block" + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/all_snapshot/{avs}": { + "get": { + "summary": "QueryAllSnapshot queries all voting power snapshot for the specified AVS", + "operationId": "QueryAllSnapshot", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "snapshots": { + "type": "array", + "items": { + "type": "object", + "properties": { + "snapshot_key_height": { + "type": "string", + "format": "int64", + "description": "snapshot_key_height when it is used in QuerySpecifiedSnapshot, it's the latest\nheight with a snapshot key found based on the input height; this height is typically\nthe start height of the epoch in which the input height is located.\nwhen it is used in QueryAllSnapshot, it's the height in the current snapshot key." + }, + "snapshot": { + "description": "snapshot when it is used in QuerySpecifiedSnapshot, it is the final retrieved information\ncontaining the voting power set.\nwhen it is used in QueryAllSnapshot, It is the snapshot stored under `snapshot_key_height`,\nand its voting power set may be nil.", + "type": "object", + "properties": { + "total_voting_power": { + "type": "string", + "title": "total_voting_power is the total voting power of specified AVS" + }, + "operator_voting_powers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_addr": { + "type": "string", + "title": "operator_addr is the operator address,its type should be a sdk.AccAddress" }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + "voting_power": { + "type": "string", + "title": "voting_power is the active voting power for the above operator address" + } }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } + "title": "OperatorVotingPower represents the voting power for the specified operator address" + }, + "title": "operator_voting_powers records the active voting power of all operators\nfor the specified AVS" + }, + "last_changed_height": { + "type": "string", + "format": "int64", + "description": "last_changed_height is used to indicate the height of most recent change when\nthe operator_voting_powers is nil, which can help to fall back to the correct epoch height." + }, + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier record the epoch info" + }, + "epoch_number": { + "type": "string", + "format": "int64", + "title": "epoch_number indicates which epoch this snapshot serve for" } } } }, - "last_commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } + "title": "VotingPowerSnapshotKeyHeight is used in the response of QuerySpecifiedSnapshot\nand QueryAllSnapshot" + }, + "description": "snapshots is a list of all snapshots for the specified AVS." + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "title": "QueryAllSnapshotResponse is the response to obtain all voting power snapshot\nfor the specified AVS" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "avs", + "description": "avs address", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/avs_usd_value": { + "get": { + "summary": "QueryAVSUSDValue queries the USD value for the AVS", + "operationId": "QueryAVSUSDValue", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "amount is the USD value of the asset, as an sdk.LegacyDec." + } + }, + "description": "DecValueField is a field that holds a value of sdk.LegacyDec type." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "avs_address", + "description": "avs_address is the AVS address opted-in by the operator.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/operator_cons_addr/{operator_acc_addr}/{chain}": { + "get": { + "summary": "QueryOperatorConsAddressForChainID queries the consensus address for the operator.", + "operationId": "QueryOperatorConsAddressForChainID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "cons_addr": { + "type": "string", + "description": "cons_addr is the consensus address corresponding to the consensus public key\ncurrently in use by the operator." + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "QueryOperatorConsAddressResponse is the response for QueryOperatorConsAddressRequest." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "operator_acc_addr", + "description": "operator_acc_addr is the operator account address.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "chain", + "description": "chain is the id of the chain served by the operator. here chain_id is not used since the\nLinter complains about capitalization, which can be set with a gogoproto.custom_name but\nthat is not compatible with google.api.http.get in the Query service below.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/operator_cons_key/{operator_acc_addr}/{chain}": { + "get": { + "summary": "QueryOperatorConsKeyForChainID queries the consensus public key for the operator", + "operationId": "QueryOperatorConsKeyForChainID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "public_key": { + "description": "public_key is the consensus public key of the operator.", + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "QueryOperatorConsKeyResponse is the response for QueryOperatorConsKeyRequest." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "operator_acc_addr", + "description": "operator_acc_addr is the operator account address.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "chain", + "description": "chain is the id of the chain served by the operator. here chain_id is not used since the\nLinter complains about capitalization, which can be set with a gogoproto.custom_name but\nthat is not compatible with google.api.http.get in the Query service below.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/operator_info/{operator_addr}": { + "get": { + "summary": "QueryOperatorInfo queries the operator information.", + "operationId": "QueryOperatorInfo", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "earnings_addr": { + "type": "string", + "description": "earnings_addr is the earnings address." + }, + "approve_addr": { + "type": "string", + "description": "approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "client_chain_earnings_addr": { + "description": "client_chain_earning_addr_list is the client chain earning address list.", + "type": "object", + "properties": { + "earning_info_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "lz_client_chain_id": { + "type": "string", + "format": "uint64", + "description": "lz_client_chain_id is the layer0 client chain id." }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." + "client_chain_earning_addr": { + "type": "string", + "description": "client_chain_earning_addr is the client chain earning address." } - } + }, + "description": "ClientChainEarningAddrInfo is the client chain earning address info." }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "description": "earning_info_list is the contents of ClientChainEarningAddrList." } } }, - "sdk_block": { - "title": "Since: cosmos-sdk 0.47", + "commission": { + "description": "commission defines the commission parameters. it includes the time at which the commission\nwas last updated.", "type": "object", "properties": { - "header": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", "type": "object", "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { + "rate": { "type": "string", - "format": "byte" + "description": "rate is the commission rate charged to delegators, as a fraction." }, - "evidence_hash": { + "max_rate": { "type": "string", - "format": "byte", - "title": "consensus info" + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." }, - "proposer_address": { + "max_change_rate": { "type": "string", - "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." } + } + }, + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." + } + } + } + }, + "description": "OperatorInfo is the operator info." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "description": "Header defines the structure of a Tendermint block header." + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "operator_addr", + "description": "operator_addr is the operator address,its type should be a sdk.AccAddress", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/operator_slash_info/{operator_and_avs.operator_addr}/{operator_and_avs.avs_address}": { + "get": { + "summary": "QueryOperatorSlashInfo queries the slash information for the specified operator and AVS", + "operationId": "QueryOperatorSlashInfo", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "all_slash_info": { + "type": "array", + "items": { + "type": "object", + "properties": { + "slash_id": { + "type": "string", + "description": "slash_id is stored as the key of the slash information,\nso it will be parsed and padding here." + }, + "info": { + "description": "info is the specified detailed information for the slashing event.", + "type": "object", + "properties": { + "slash_contract": { "type": "string", - "format": "byte" + "title": "slash_contract is the address of slash contract" }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } - }, - "title": "Data contains the set of transactions included in the block" - }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { + "submitted_height": { + "type": "string", + "format": "int64", + "title": "submitted_height is the exocore block height at which the slash event is submitted" + }, + "event_height": { + "type": "string", + "format": "int64", + "title": "event_height is the exocore block height at which the slash event occurs" + }, + "is_vetoed": { + "type": "boolean", + "title": "is_vetoed is a flag to indicate if this slash is vetoed" + }, + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the proportion of assets that need to be slashed" + }, + "slash_type": { + "type": "integer", + "format": "int64", + "description": "slash_type indicates the slash type of specified AVS." + }, + "execution_info": { + "title": "SlashExecutionInfo stores the slashed execution information", "type": "object", "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the new calculated proportion when execute the slash" + }, + "slash_value": { + "type": "string", + "title": "slash_value is the usd value of all slashed assets" + }, + "slash_undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" + "amount": { + "type": "string", + "description": "amount is the slashed amount from the undelegation." + } }, - "timestamp": { - "type": "string", - "format": "date-time" - } + "title": "SlashFromUndelegation records the slash detail from the undelegation" }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + "title": "SlashUndelegations records all slash info related to the undelegation" }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } + "slash_assets_pool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the assets pool." } }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } + "title": "SlashFromAssetsPool records the slash detail from the operator assets pool" }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + "title": "SlashFromAssetsPool records all slash info related to the assets pool" + }, + "undelegation_filter_height": { + "type": "string", + "format": "int64", + "title": "undelegation_filter_height records the height before which undelegations are not slashed" } } } - } + }, + "title": "OperatorSlashInfo is the slash info of operator" + } + }, + "title": "OperatorSlashInfoByID includes the slash information and the slashID" + }, + "title": "all_slash_info is a list of the slash information for the specified operator and AVS" + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "title": "QueryOperatorSlashInfoResponse is the response for GetOperatorSlashInfoRequest" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "last_commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "operator_and_avs.operator_addr", + "description": "operator_addr should be the string type of sdk.AccAddress", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "operator_and_avs.avs_address", + "description": "avs_address is the address of the AVS - either an 0x address or a chainID.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/operator_usd_value/{operator_and_avs.operator_addr}/{operator_and_avs.avs_address}": { + "get": { + "summary": "QueryOperatorUSDValue queries the opted-in USD value for the operator", + "operationId": "QueryOperatorUSDValue", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "usd_values": { + "title": "usd_info includes the self and total staking for the operator and AVS", + "type": "object", + "properties": { + "self_usd_value": { + "type": "string", + "description": "self_usd_value is the USD value owned by the operator itself." + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total opted-in USD value for the specified operator and AVS" + }, + "active_usd_value": { + "type": "string", + "description": "active_usd_value is the active opted-in USD value for the specified operator and AVS\nthis field will be zero if the operator's self staking isn't sufficient. Of course, it will\nbe equal to total_usd_value if the operator's self staking meets the AVS requirement." } - }, - "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + } } }, - "description": "GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method." + "description": "QueryOperatorUSDValueResponse is the response to obtain the USD value for operator." } }, "default": { @@ -22237,131 +22765,44 @@ }, "parameters": [ { - "name": "height", + "name": "operator_and_avs.operator_addr", + "description": "operator_addr should be the string type of sdk.AccAddress", "in": "path", "required": true, - "type": "string", - "format": "int64" + "type": "string" + }, + { + "name": "operator_and_avs.avs_address", + "description": "avs_address is the address of the AVS - either an 0x address or a chainID.", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/node_info": { + "/exocore/operator/v1/opt/avs_list/{operator}": { "get": { - "summary": "GetNodeInfo queries the current node info.", - "operationId": "GetNodeInfo", + "summary": "QueryAllAVSsByOperator queries avs list.", + "operationId": "QueryAllAVSsByOperator", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "default_node_info": { - "type": "object", - "properties": { - "protocol_version": { - "type": "object", - "properties": { - "p2p": { - "type": "string", - "format": "uint64" - }, - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - } - }, - "default_node_id": { - "type": "string" - }, - "listen_addr": { - "type": "string" - }, - "network": { - "type": "string" - }, - "version": { - "type": "string" - }, - "channels": { - "type": "string", - "format": "byte" - }, - "moniker": { - "type": "string" - }, - "other": { - "type": "object", - "properties": { - "tx_index": { - "type": "string" - }, - "rpc_address": { - "type": "string" - } - } - } - } - }, - "application_version": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "app_name": { - "type": "string" - }, - "version": { - "type": "string" - }, - "git_commit": { - "type": "string" - }, - "build_tags": { - "type": "string" - }, - "go_version": { - "type": "string" - }, - "build_deps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "title": "module path" - }, - "version": { - "type": "string", - "title": "module version" - }, - "sum": { - "type": "string", - "title": "checksum" - } - }, - "title": "Module is the type for VersionInfo" - } - }, - "cosmos_sdk_version": { - "type": "string", - "title": "Since: cosmos-sdk 0.43" - } + "avs_list": { + "type": "array", + "items": { + "type": "string" }, - "description": "VersionInfo is the type for the GetNodeInfoResponse message." + "description": "avs_list is a list of avs addresses ." } }, - "description": "GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method." + "description": "QueryAllAVSsByOperatorResponse is the response that includes a list of all operators\nand their consensus keys for a specified chain ID." } }, "default": { @@ -22401,26 +22842,39 @@ } } }, + "parameters": [ + { + "name": "operator", + "description": "operator address.", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/syncing": { + "/exocore/operator/v1/opt/operator_list/{avs}": { "get": { - "summary": "GetSyncing queries node syncing.", - "operationId": "GetSyncing", + "summary": "QueryAllOperatorsWithOptInAVS queries operator list by avs.", + "operationId": "QueryAllOperatorsWithOptInAVS", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "syncing": { - "type": "boolean" + "operator_list": { + "type": "array", + "items": { + "type": "string" + }, + "description": "operator_list is a list of operator addresses." } }, - "description": "GetSyncingResponse is the response type for the Query/GetSyncing RPC method." + "description": "QueryAllOperatorsWithOptInAVSResponse is the response that includes a list of all avs\n for a specified operator address." } }, "default": { @@ -22460,78 +22914,169 @@ } } }, + "parameters": [ + { + "name": "avs", + "description": "avs address", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/validatorsets/latest": { + "/exocore/operator/v1/opt_info/{operator_and_avs.operator_addr}/{operator_and_avs.avs_address}": { "get": { - "summary": "GetLatestValidatorSet queries latest validator-set.", - "operationId": "GetLatestValidatorSet", + "summary": "QueryOptInfo queries specified opted information.", + "operationId": "QueryOptInfo", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "block_height": { + "slash_contract": { "type": "string", - "format": "int64" + "title": "slash_contract is the slash contract address of AVS opted-in by the operator" }, - "validators": { + "opted_in_height": { + "type": "string", + "format": "uint64", + "title": "opted_in_height is the exocore block height at which the operator opted in" + }, + "opted_out_height": { + "type": "string", + "format": "uint64", + "title": "opted_out_height is the exocore block height at which the operator opted out" + }, + "jailed": { + "type": "boolean", + "description": "jailed defined whether the operator has been jailed from bonded status or not." + } + }, + "title": "OptedInfo is the opted information about operator" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { "type": "array", "items": { "type": "object", "properties": { - "address": { - "type": "string" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "pub_key": { + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "operator_and_avs.operator_addr", + "description": "operator_addr should be the string type of sdk.AccAddress", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "operator_and_avs.avs_address", + "description": "avs_address is the address of the AVS - either an 0x address or a chainID.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/snapshot/{avs}/{height}": { + "get": { + "summary": "QuerySpecifiedSnapshot queries the voting power snapshot of specified AVS and height", + "operationId": "QuerySpecifiedSnapshot", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "snapshot_key_height": { + "type": "string", + "format": "int64", + "description": "snapshot_key_height when it is used in QuerySpecifiedSnapshot, it's the latest\nheight with a snapshot key found based on the input height; this height is typically\nthe start height of the epoch in which the input height is located.\nwhen it is used in QueryAllSnapshot, it's the height in the current snapshot key." + }, + "snapshot": { + "description": "snapshot when it is used in QuerySpecifiedSnapshot, it is the final retrieved information\ncontaining the voting power set.\nwhen it is used in QueryAllSnapshot, It is the snapshot stored under `snapshot_key_height`,\nand its voting power set may be nil.", + "type": "object", + "properties": { + "total_voting_power": { + "type": "string", + "title": "total_voting_power is the total voting power of specified AVS" + }, + "operator_voting_powers": { + "type": "array", + "items": { "type": "object", "properties": { - "type_url": { + "operator_addr": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "title": "operator_addr is the operator address,its type should be a sdk.AccAddress" }, - "value": { + "voting_power": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "title": "voting_power is the active voting power for the above operator address" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "voting_power": { - "type": "string", - "format": "int64" + "title": "OperatorVotingPower represents the voting power for the specified operator address" }, - "proposer_priority": { - "type": "string", - "format": "int64" - } + "title": "operator_voting_powers records the active voting power of all operators\nfor the specified AVS" }, - "description": "Validator is the type for the validator-set." - } - }, - "pagination": { - "description": "pagination defines an pagination for the response.", - "type": "object", - "properties": { - "next_key": { + "last_changed_height": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "int64", + "description": "last_changed_height is used to indicate the height of most recent change when\nthe operator_voting_powers is nil, which can help to fall back to the correct epoch height." }, - "total": { + "epoch_identifier": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "epoch_identifier record the epoch info" + }, + "epoch_number": { + "type": "string", + "format": "int64", + "title": "epoch_number indicates which epoch this snapshot serve for" } } } }, - "description": "GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method." + "title": "VotingPowerSnapshotKeyHeight is used in the response of QuerySpecifiedSnapshot\nand QueryAllSnapshot" } }, "default": { @@ -22573,116 +23118,242 @@ }, "parameters": [ { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" + "name": "avs", + "description": "avs address", + "in": "path", + "required": true, + "type": "string" }, { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, + "name": "height", + "description": "height is used to specify the snapshot height you want to query.", + "in": "path", + "required": true, "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" - }, - { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "format": "int64" } ], "tags": [ - "Service" + "Query" ] } }, - "/cosmos/base/tendermint/v1beta1/validatorsets/{height}": { + "/exocore/operator/v1/snapshot_helper/{avs}": { "get": { - "summary": "GetValidatorSetByHeight queries validator-set at a given height.", - "operationId": "GetValidatorSetByHeight", + "summary": "QuerySnapshotHelper queries the snapshot helper of the AVS", + "operationId": "QuerySnapshotHelper", "responses": { "200": { "description": "A successful response.", "schema": { "type": "object", "properties": { - "block_height": { + "last_changed_height": { "type": "string", - "format": "int64" + "format": "int64", + "description": "last_changed_height indicates the height of the most recent change.\nIt is used to set the `last_changed_height` field in `VotingPowerSnapshot`." }, - "validators": { + "has_opt_out": { + "type": "boolean", + "description": "has_opt_out is used to indicate whether there has been any opt-out operation from\nthe most recently saved snapshot to the current height. This is because,\nwhen an opt-out operation occurs, the related AVS validator information changes,\nand the snapshot needs to be updated.\nCurrently, a boolean variable is used instead of an operator list\nbecause the snapshot is set by default to store all operator information related to AVS.\nTherefore, as long as any operator has opted out, the snapshot needs to be updated.\nIf we later introduce a limit on the maximum number of validators in AVS,\nsimilar to the MaxValidatorNumber in Dogfood, this may need to be changed to an operator list\nto track all operators that have opted out, thereby assisting with the correct snapshot update." + } + }, + "title": "SnapshotHelper is used to record the helper information for voting power snapshot update" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { "type": "array", "items": { "type": "object", "properties": { - "address": { - "type": "string" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "pub_key": { + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } + }, + "parameters": [ + { + "name": "avs", + "description": "avs address", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, + "/exocore/operator/v1/validator/{validator_acc_addr}/{chain}": { + "get": { + "summary": "Validator queries validator info for given validator address.", + "operationId": "Validator", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "validator": { + "description": "validator defines the validator info.", + "type": "object", + "properties": { + "operator_earnings_addr": { + "type": "string", + "description": "earnoperator_earnings_addrings_addr is the earnings address." + }, + "operator_approve_addr": { + "type": "string", + "description": "operator_approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "cons_address": { + "type": "string", + "description": "ConsAddress defines a wrapper around bytes meant to present a consensus node.\nWhen marshaled to a string or JSON, it uses Bech32." + }, + "consensus_pubkey": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus_pubkey is the consensus public key of the validator, as a Protobuf Any" + }, + "jailed": { + "type": "boolean", + "title": "jailed defined whether the validator has been jailed from bonded status or not" + }, + "status": { + "title": "status is the validator status (bonded/unbonding/unbonded)", + "type": "string", + "enum": [ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED" + ], + "default": "BOND_STATUS_UNSPECIFIED", + "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." + }, + "voting_power": { + "type": "string", + "title": "voting_power define the validator voting power" + }, + "delegator_shares": { + "type": "string", + "title": "delegator_shares defines total shares issued to a validator's delegators" + }, + "commission": { + "description": "commission defines the commission parameters.", + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "type": "object", + "properties": { + "rate": { + "type": "string", + "description": "rate is the commission rate charged to delegators, as a fraction." + }, + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + }, + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + } + } + }, + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." + } + } + }, + "delegator_tokens": { + "type": "array", + "items": { "type": "object", "properties": { - "type_url": { + "asset_id": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "title": "asset_id is the asset for which the query is made" }, - "value": { + "symbol": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "title": "symbol of the asset, like \"USDT\"" + }, + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "self_amount": { + "type": "string", + "title": "self_amount is the self amount of the asset which delegation" + }, + "total_amount": { + "type": "string", + "title": "total_amount is the total amount of the asset which delegation" + }, + "self_usd_value": { + "type": "string", + "title": "self_usd_value is the self delegation USD value for the validator" + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total delegation USD value for the validator" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "voting_power": { - "type": "string", - "format": "int64" + "title": "DelegatorInfo records the total opted-in USD value for the specified operator" }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - }, - "description": "Validator is the type for the validator-set." - } - }, - "pagination": { - "description": "pagination defines an pagination for the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "delegator_tokens is the list of asset infos" } - } + }, + "title": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate" } }, - "description": "GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method." + "title": "QueryValidatorResponse is response type for the Query/Validator RPC method" } }, "default": { @@ -22724,1522 +23395,1161 @@ }, "parameters": [ { - "name": "height", + "name": "validator_acc_addr", + "description": "validator_acc_addr defines the validator address to query for.", "in": "path", "required": true, - "type": "string", - "format": "int64" - }, - { - "name": "pagination.key", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", - "in": "query", - "required": false, - "type": "string", - "format": "byte" - }, - { - "name": "pagination.offset", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.limit", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", - "in": "query", - "required": false, - "type": "string", - "format": "uint64" - }, - { - "name": "pagination.count_total", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", - "in": "query", - "required": false, - "type": "boolean" + "type": "string" }, { - "name": "pagination.reverse", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", - "in": "query", - "required": false, - "type": "boolean" + "name": "chain", + "description": "chain is the id of the chain served by the operator. here chain_id is not used since the\nLinter complains about capitalization, which can be set with a gogoproto.custom_name but\nthat is not compatible with google.api.http.get in the Query service below.", + "in": "path", + "required": true, + "type": "string" } ], "tags": [ - "Service" + "Query" ] } - } - }, - "definitions": { - "cosmos.base.query.v1beta1.PageRequest": { - "type": "object", - "properties": { - "key": { - "type": "string", - "format": "byte", - "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." - }, - "offset": { - "type": "string", - "format": "uint64", - "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." - }, - "limit": { - "type": "string", - "format": "uint64", - "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." - }, - "count_total": { - "type": "boolean", - "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." - }, - "reverse": { - "type": "boolean", - "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43" - } - }, - "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", - "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" - }, - "cosmos.base.query.v1beta1.PageResponse": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" - }, - "cosmos.base.v1beta1.Coin": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "evmos.claims.v1.Action": { - "type": "string", - "enum": [ - "ACTION_UNSPECIFIED", - "ACTION_VOTE", - "ACTION_DELEGATE", - "ACTION_EVM", - "ACTION_IBC_TRANSFER" - ], - "default": "ACTION_UNSPECIFIED", - "description": "Action defines the list of available actions to claim the airdrop tokens.\n\n - ACTION_UNSPECIFIED: ACTION_UNSPECIFIED defines an invalid action.\n - ACTION_VOTE: ACTION_VOTE defines a proposal vote.\n - ACTION_DELEGATE: ACTION_DELEGATE defines an staking delegation.\n - ACTION_EVM: ACTION_EVM defines an EVM transaction.\n - ACTION_IBC_TRANSFER: ACTION_IBC_TRANSFER defines a fungible token transfer transaction via IBC." - }, - "evmos.claims.v1.Claim": { - "type": "object", - "properties": { - "action": { - "title": "action enum", - "type": "string", - "enum": [ - "ACTION_UNSPECIFIED", - "ACTION_VOTE", - "ACTION_DELEGATE", - "ACTION_EVM", - "ACTION_IBC_TRANSFER" - ], - "default": "ACTION_UNSPECIFIED", - "description": "Action defines the list of available actions to claim the airdrop tokens.\n\n - ACTION_UNSPECIFIED: ACTION_UNSPECIFIED defines an invalid action.\n - ACTION_VOTE: ACTION_VOTE defines a proposal vote.\n - ACTION_DELEGATE: ACTION_DELEGATE defines an staking delegation.\n - ACTION_EVM: ACTION_EVM defines an EVM transaction.\n - ACTION_IBC_TRANSFER: ACTION_IBC_TRANSFER defines a fungible token transfer transaction via IBC." - }, - "completed": { - "type": "boolean", - "title": "completed is true if the action has been completed" - }, - "claimable_amount": { - "type": "string", - "title": "claimable_amount of tokens for the action. Zero if completed" - } - }, - "description": "Claim defines the action, completed flag and the remaining claimable amount\nfor a given user. This is only used during client queries." - }, - "evmos.claims.v1.ClaimsRecordAddress": { - "type": "object", - "properties": { - "address": { - "type": "string", - "title": "address of claiming user in either bech32 or hex format" - }, - "initial_claimable_amount": { - "type": "string", - "title": "initial_claimable_amount for the user" - }, - "actions_completed": { - "type": "array", - "items": { - "type": "boolean" - }, - "title": "actions_completed is a slice that describes which actions were completed" - } - }, - "description": "ClaimsRecordAddress is the claims metadata per address that is used at\nGenesis." - }, - "evmos.claims.v1.Params": { - "type": "object", - "properties": { - "enable_claims": { - "type": "boolean", - "title": "enable_claims is the parameter to enable the claiming process" - }, - "airdrop_start_time": { - "type": "string", - "format": "date-time", - "title": "airdrop_start_time defines the timestamp of the airdrop start" - }, - "duration_until_decay": { - "type": "string", - "title": "duration_until_decay of claimable tokens begin" - }, - "duration_of_decay": { - "type": "string", - "title": "duration_of_decay for token claim decay period" - }, - "claims_denom": { - "type": "string", - "title": "claims_denom is the denomination of the claimable coin" - }, - "authorized_channels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "authorized_channels is the list of authorized channel identifiers that can perform address\nattestations via IBC." - }, - "evm_channels": { - "type": "array", - "items": { - "type": "string" - }, - "title": "evm_channels is the list of channel identifiers from EVM compatible chains" - } - }, - "description": "Params defines the claims module's parameters." - }, - "evmos.claims.v1.QueryClaimsRecordResponse": { - "type": "object", - "properties": { - "initial_claimable_amount": { - "type": "string", - "title": "initial_claimable_amount of the user" - }, - "claims": { - "type": "array", - "items": { - "type": "object", - "properties": { - "action": { - "title": "action enum", - "type": "string", - "enum": [ - "ACTION_UNSPECIFIED", - "ACTION_VOTE", - "ACTION_DELEGATE", - "ACTION_EVM", - "ACTION_IBC_TRANSFER" - ], - "default": "ACTION_UNSPECIFIED", - "description": "Action defines the list of available actions to claim the airdrop tokens.\n\n - ACTION_UNSPECIFIED: ACTION_UNSPECIFIED defines an invalid action.\n - ACTION_VOTE: ACTION_VOTE defines a proposal vote.\n - ACTION_DELEGATE: ACTION_DELEGATE defines an staking delegation.\n - ACTION_EVM: ACTION_EVM defines an EVM transaction.\n - ACTION_IBC_TRANSFER: ACTION_IBC_TRANSFER defines a fungible token transfer transaction via IBC." - }, - "completed": { - "type": "boolean", - "title": "completed is true if the action has been completed" - }, - "claimable_amount": { - "type": "string", - "title": "claimable_amount of tokens for the action. Zero if completed" - } - }, - "description": "Claim defines the action, completed flag and the remaining claimable amount\nfor a given user. This is only used during client queries." - }, - "title": "claims of the user" - } - }, - "description": "QueryClaimsRecordResponse is the response type for the Query/ClaimsRecord RPC\nmethod." - }, - "evmos.claims.v1.QueryClaimsRecordsResponse": { - "type": "object", - "properties": { - "claims": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "title": "address of claiming user in either bech32 or hex format" - }, - "initial_claimable_amount": { - "type": "string", - "title": "initial_claimable_amount for the user" - }, - "actions_completed": { - "type": "array", - "items": { - "type": "boolean" - }, - "title": "actions_completed is a slice that describes which actions were completed" - } - }, - "description": "ClaimsRecordAddress is the claims metadata per address that is used at\nGenesis." - }, - "title": "claims defines all claims records" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryClaimsRecordsResponse is the response type for the Query/ClaimsRecords\nRPC method." - }, - "evmos.claims.v1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "enable_claims": { - "type": "boolean", - "title": "enable_claims is the parameter to enable the claiming process" - }, - "airdrop_start_time": { - "type": "string", - "format": "date-time", - "title": "airdrop_start_time defines the timestamp of the airdrop start" - }, - "duration_until_decay": { - "type": "string", - "title": "duration_until_decay of claimable tokens begin" - }, - "duration_of_decay": { - "type": "string", - "title": "duration_of_decay for token claim decay period" - }, - "claims_denom": { - "type": "string", - "title": "claims_denom is the denomination of the claimable coin" - }, - "authorized_channels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "authorized_channels is the list of authorized channel identifiers that can perform address\nattestations via IBC." - }, - "evm_channels": { - "type": "array", - "items": { - "type": "string" - }, - "title": "evm_channels is the list of channel identifiers from EVM compatible chains" - } - } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - }, - "evmos.claims.v1.QueryTotalUnclaimedResponse": { - "type": "object", - "properties": { - "coins": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "coins defines the unclaimed coins" - } - }, - "description": "QueryTotalUnclaimedResponse is the response type for the Query/TotalUnclaimed\nRPC method." - }, - "google.protobuf.Any": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "grpc.gateway.runtime.Error": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - } - } - } }, - "evmos.epochs.v1.EpochInfo": { - "type": "object", - "properties": { - "identifier": { - "type": "string", - "title": "identifier of the epoch" - }, - "start_time": { - "type": "string", - "format": "date-time", - "title": "start_time of the epoch" - }, - "duration": { - "type": "string", - "title": "duration of the epoch" - }, - "current_epoch": { - "type": "string", - "format": "int64", - "title": "current_epoch is the integer identifier of the epoch" - }, - "current_epoch_start_time": { - "type": "string", - "format": "date-time", - "title": "current_epoch_start_time defines the timestamp of the start of the epoch" - }, - "epoch_counting_started": { - "type": "boolean", - "title": "epoch_counting_started reflects if the counting for the epoch has started" - }, - "current_epoch_start_height": { - "type": "string", - "format": "int64", - "title": "current_epoch_start_height of the epoch" - } - }, - "description": "EpochInfo defines the message interface containing the relevant informations about\nan epoch." - }, - "evmos.epochs.v1.QueryCurrentEpochResponse": { - "type": "object", - "properties": { - "current_epoch": { - "type": "string", - "format": "int64", - "title": "current_epoch is the number of the current epoch" - } - }, - "description": "QueryCurrentEpochResponse is the response type for the Query/EpochInfos RPC\nmethod." - }, - "evmos.epochs.v1.QueryEpochsInfoResponse": { - "type": "object", - "properties": { - "epochs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "identifier": { - "type": "string", - "title": "identifier of the epoch" - }, - "start_time": { - "type": "string", - "format": "date-time", - "title": "start_time of the epoch" - }, - "duration": { - "type": "string", - "title": "duration of the epoch" - }, - "current_epoch": { - "type": "string", - "format": "int64", - "title": "current_epoch is the integer identifier of the epoch" - }, - "current_epoch_start_time": { - "type": "string", - "format": "date-time", - "title": "current_epoch_start_time defines the timestamp of the start of the epoch" - }, - "epoch_counting_started": { - "type": "boolean", - "title": "epoch_counting_started reflects if the counting for the epoch has started" + "/exocore/operator/v1/validators/{chain}": { + "get": { + "summary": "Validators queries all validators that match the given status.\nWhen called from another module, this query might consume a high amount of\ngas if the pagination field is incorrectly set.", + "operationId": "Validators", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_earnings_addr": { + "type": "string", + "description": "earnoperator_earnings_addrings_addr is the earnings address." + }, + "operator_approve_addr": { + "type": "string", + "description": "operator_approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "cons_address": { + "type": "string", + "description": "ConsAddress defines a wrapper around bytes meant to present a consensus node.\nWhen marshaled to a string or JSON, it uses Bech32." + }, + "consensus_pubkey": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus_pubkey is the consensus public key of the validator, as a Protobuf Any" + }, + "jailed": { + "type": "boolean", + "title": "jailed defined whether the validator has been jailed from bonded status or not" + }, + "status": { + "title": "status is the validator status (bonded/unbonding/unbonded)", + "type": "string", + "enum": [ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED" + ], + "default": "BOND_STATUS_UNSPECIFIED", + "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." + }, + "voting_power": { + "type": "string", + "title": "voting_power define the validator voting power" + }, + "delegator_shares": { + "type": "string", + "title": "delegator_shares defines total shares issued to a validator's delegators" + }, + "commission": { + "description": "commission defines the commission parameters.", + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "type": "object", + "properties": { + "rate": { + "type": "string", + "description": "rate is the commission rate charged to delegators, as a fraction." + }, + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + }, + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + } + } + }, + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." + } + } + }, + "delegator_tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "title": "asset_id is the asset for which the query is made" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "self_amount": { + "type": "string", + "title": "self_amount is the self amount of the asset which delegation" + }, + "total_amount": { + "type": "string", + "title": "total_amount is the total amount of the asset which delegation" + }, + "self_usd_value": { + "type": "string", + "title": "self_usd_value is the self delegation USD value for the validator" + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total delegation USD value for the validator" + } + }, + "title": "DelegatorInfo records the total opted-in USD value for the specified operator" + }, + "title": "delegator_tokens is the list of asset infos" + } + }, + "title": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate" + }, + "description": "validators contains all the queried validators." + }, + "pagination": { + "description": "pagination defines the pagination in the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } }, - "current_epoch_start_height": { - "type": "string", - "format": "int64", - "title": "current_epoch_start_height of the epoch" - } - }, - "description": "EpochInfo defines the message interface containing the relevant informations about\nan epoch." + "title": "QueryValidatorsResponse is response type for the Query/Validators RPC method" + } }, - "title": "epochs is a slice of all EpochInfos" - }, - "pagination": { - "description": "pagination defines an optional pagination for the request.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } } } - } - }, - "description": "QueryEpochsInfoResponse is the response type for the Query/EpochInfos RPC\nmethod." - }, - "evmos.erc20.v1.Owner": { - "type": "string", - "enum": [ - "OWNER_UNSPECIFIED", - "OWNER_MODULE", - "OWNER_EXTERNAL" - ], - "default": "OWNER_UNSPECIFIED", - "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." - }, - "evmos.erc20.v1.Params": { - "type": "object", - "properties": { - "enable_erc20": { - "type": "boolean", - "description": "enable_erc20 is the parameter to enable the conversion of Cosmos coins <--> ERC20 tokens." }, - "enable_evm_hook": { - "type": "boolean", - "description": "enable_evm_hook is the parameter to enable the EVM hook that converts an ERC20 token to a Cosmos\nCoin by transferring the Tokens through a MsgEthereumTx to the ModuleAddress Ethereum address." - } - }, - "title": "Params defines the erc20 module params" - }, - "evmos.erc20.v1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "title": "params are the erc20 module parameters", - "type": "object", - "properties": { - "enable_erc20": { - "type": "boolean", - "description": "enable_erc20 is the parameter to enable the conversion of Cosmos coins <--> ERC20 tokens." - }, - "enable_evm_hook": { - "type": "boolean", - "description": "enable_evm_hook is the parameter to enable the EVM hook that converts an ERC20 token to a Cosmos\nCoin by transferring the Tokens through a MsgEthereumTx to the ModuleAddress Ethereum address." - } + "parameters": [ + { + "name": "chain", + "description": "chain is the id of the chain served by the operator. here chain_id is not used since the\nLinter complains about capitalization, which can be set with a gogoproto.custom_name but\nthat is not compatible with google.api.http.get in the Query service below.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.key", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set.", + "in": "query", + "required": false, + "type": "string", + "format": "byte" + }, + { + "name": "pagination.offset", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.limit", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.count_total", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.reverse", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43", + "in": "query", + "required": false, + "type": "boolean" } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC\nmethod." + ], + "tags": [ + "Query" + ] + } }, - "evmos.erc20.v1.QueryTokenPairResponse": { - "type": "object", - "properties": { - "token_pair": { - "type": "object", - "properties": { - "erc20_address": { - "type": "string", - "title": "erc20_address is the hex address of ERC20 contract token" - }, - "denom": { - "type": "string", - "title": "denom defines the cosmos base denomination to be mapped to" - }, - "enabled": { - "type": "boolean", - "title": "enabled defines the token mapping enable status" - }, - "contract_owner": { - "title": "contract_owner is the an ENUM specifying the type of ERC20 owner (0 invalid, 1 ModuleAccount, 2 external address)", - "type": "string", - "enum": [ - "OWNER_UNSPECIFIED", - "OWNER_MODULE", - "OWNER_EXTERNAL" - ], - "default": "OWNER_UNSPECIFIED", - "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." + "/cosmos/upgrade/v1beta1/applied_plan/{name}": { + "get": { + "summary": "AppliedPlan queries a previously applied upgrade plan by its name.", + "operationId": "AppliedPlan", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64", + "description": "height is the block height at which the plan was applied." + } + }, + "description": "QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod." } }, - "description": "TokenPair defines an instance that records a pairing consisting of a native\n Cosmos Coin and an ERC20 token address.", - "title": "token_pairs returns the info about a registered token pair for the erc20 module" - } - }, - "description": "QueryTokenPairResponse is the response type for the Query/TokenPair RPC\nmethod." - }, - "evmos.erc20.v1.QueryTokenPairsResponse": { - "type": "object", - "properties": { - "token_pairs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "erc20_address": { - "type": "string", - "title": "erc20_address is the hex address of ERC20 contract token" - }, - "denom": { - "type": "string", - "title": "denom defines the cosmos base denomination to be mapped to" - }, - "enabled": { - "type": "boolean", - "title": "enabled defines the token mapping enable status" - }, - "contract_owner": { - "title": "contract_owner is the an ENUM specifying the type of ERC20 owner (0 invalid, 1 ModuleAccount, 2 external address)", - "type": "string", - "enum": [ - "OWNER_UNSPECIFIED", - "OWNER_MODULE", - "OWNER_EXTERNAL" - ], - "default": "OWNER_UNSPECIFIED", - "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } } - }, - "description": "TokenPair defines an instance that records a pairing consisting of a native\n Cosmos Coin and an ERC20 token address." - }, - "title": "token_pairs is a slice of registered token pairs for the erc20 module" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } - } - }, - "description": "QueryTokenPairsResponse is the response type for the Query/TokenPairs RPC\nmethod." - }, - "evmos.erc20.v1.TokenPair": { - "type": "object", - "properties": { - "erc20_address": { - "type": "string", - "title": "erc20_address is the hex address of ERC20 contract token" - }, - "denom": { - "type": "string", - "title": "denom defines the cosmos base denomination to be mapped to" - }, - "enabled": { - "type": "boolean", - "title": "enabled defines the token mapping enable status" - }, - "contract_owner": { - "title": "contract_owner is the an ENUM specifying the type of ERC20 owner (0 invalid, 1 ModuleAccount, 2 external address)", - "type": "string", - "enum": [ - "OWNER_UNSPECIFIED", - "OWNER_MODULE", - "OWNER_EXTERNAL" - ], - "default": "OWNER_UNSPECIFIED", - "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." - } - }, - "description": "TokenPair defines an instance that records a pairing consisting of a native\n Cosmos Coin and an ERC20 token address." - }, - "cosmos.base.v1beta1.DecCoin": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "evmos.incentives.v1.GasMeter": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract is the hex address of the incentivized smart contract" - }, - "participant": { - "type": "string", - "title": "participant address that interacts with the incentive" }, - "cumulative_gas": { - "type": "string", - "format": "uint64", - "title": "cumulative_gas spent during the epoch" - } - }, - "title": "GasMeter tracks the cumulative gas spent per participant in one epoch" + "parameters": [ + { + "name": "name", + "description": "name is the name of the applied plan to query for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } }, - "evmos.incentives.v1.Incentive": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract address of the smart contract to be incentivized" - }, - "allocations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "/cosmos/upgrade/v1beta1/authority": { + "get": { + "summary": "Returns the account with authority to conduct upgrades", + "description": "Since: cosmos-sdk 0.46", + "operationId": "Authority", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "address": { + "type": "string" + } }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "Since: cosmos-sdk 0.46", + "title": "QueryAuthorityResponse is the response type for Query/Authority" + } }, - "title": "allocations is a slice of denoms and percentages of rewards to be allocated" - }, - "epochs": { - "type": "integer", - "format": "int64", - "title": "epochs defines the number of remaining epochs for the incentive" - }, - "start_time": { - "type": "string", - "format": "date-time", - "title": "start_time of the incentive distribution" - }, - "total_gas": { - "type": "string", - "format": "uint64", - "title": "total_gas is the cumulative gas spent by all gas meters of the incentive during the epoch" - } - }, - "title": "Incentive defines an instance that organizes distribution conditions for a\ngiven smart contract" - }, - "evmos.incentives.v1.Params": { - "type": "object", - "properties": { - "enable_incentives": { - "type": "boolean", - "title": "enable_incentives is the parameter to enable incentives" - }, - "allocation_limit": { - "type": "string", - "title": "allocation_limit is the maximum percentage an incentive can allocate per denomination" - }, - "incentives_epoch_identifier": { - "type": "string", - "title": "incentives_epoch_identifier for the epochs module hooks" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + } + } }, - "reward_scaler": { - "type": "string", - "title": "reward_scaler is the scaling factor for capping rewards" - } - }, - "title": "Params defines the incentives module params" + "tags": [ + "Query" + ] + } }, - "evmos.incentives.v1.QueryAllocationMeterResponse": { - "type": "object", - "properties": { - "allocation_meter": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" + "/cosmos/upgrade/v1beta1/current_plan": { + "get": { + "summary": "CurrentPlan queries the current upgrade plan.", + "operationId": "CurrentPlan", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "plan": { + "description": "plan is the current upgrade plan.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown." + }, + "height": { + "type": "string", + "format": "int64", + "description": "The height at which the upgrade must be performed." + }, + "info": { + "type": "string", + "title": "Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to" + }, + "upgraded_client_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + }, + "description": "QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod." } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto.", - "title": "allocation_meter defines the allocation of the queried denom" - } - }, - "description": "QueryAllocationMeterResponse is the response type for the\nQuery/AllocationMeter RPC method." - }, - "evmos.incentives.v1.QueryAllocationMetersResponse": { - "type": "object", - "properties": { - "allocation_meters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "title": "allocation_meters is a slice of all allocations" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } - } - }, - "description": "QueryAllocationMetersResponse is the response type for the\nQuery/AllocationMeters RPC method." - }, - "evmos.incentives.v1.QueryGasMeterResponse": { - "type": "object", - "properties": { - "gas_meter": { - "type": "string", - "format": "uint64", - "title": "gas_meter is a gas meter for one participant on an incentivized smart contract" - } - }, - "description": "QueryGasMeterResponse is the response type for the Query/Incentive RPC\nmethod." + }, + "tags": [ + "Query" + ] + } }, - "evmos.incentives.v1.QueryGasMetersResponse": { - "type": "object", - "properties": { - "gas_meters": { - "type": "array", - "items": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract is the hex address of the incentivized smart contract" - }, - "participant": { - "type": "string", - "title": "participant address that interacts with the incentive" + "/cosmos/upgrade/v1beta1/module_versions": { + "get": { + "summary": "ModuleVersions queries the list of module versions from state.", + "description": "Since: cosmos-sdk 0.43", + "operationId": "ModuleVersions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "module_versions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of the app module" + }, + "version": { + "type": "string", + "format": "uint64", + "title": "consensus version of the app module" + } + }, + "description": "ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43" + }, + "description": "module_versions is a list of module names with their consensus versions." + } }, - "cumulative_gas": { - "type": "string", - "format": "uint64", - "title": "cumulative_gas spent during the epoch" - } - }, - "title": "GasMeter tracks the cumulative gas spent per participant in one epoch" + "description": "QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43" + } }, - "title": "gas_meters is a slice of the gas meters for an incentivized smart contract" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } } } - } - }, - "description": "QueryGasMetersResponse is the response type for the Query/Incentives RPC\nmethod." + }, + "parameters": [ + { + "name": "module_name", + "description": "module_name is a field to query a specific module\nconsensus version from state. Leaving this empty will\nfetch the full list of module versions from state.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } }, - "evmos.incentives.v1.QueryIncentiveResponse": { - "type": "object", - "properties": { - "incentive": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract address of the smart contract to be incentivized" - }, - "allocations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" + "/ibc/apps/interchain_accounts/host/v1/params": { + "get": { + "summary": "Params queries all parameters of the ICA host submodule.", + "operationId": "InterchainAccountsHostParams", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "params": { + "description": "params defines the parameters of the module.", + "type": "object", + "properties": { + "host_enabled": { + "type": "boolean", + "description": "host_enabled enables or disables the host submodule." + }, + "allow_messages": { + "type": "array", + "items": { + "type": "string" + }, + "description": "allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain." + } } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + } }, - "title": "allocations is a slice of denoms and percentages of rewards to be allocated" - }, - "epochs": { - "type": "integer", - "format": "int64", - "title": "epochs defines the number of remaining epochs for the incentive" - }, - "start_time": { - "type": "string", - "format": "date-time", - "title": "start_time of the incentive distribution" - }, - "total_gas": { - "type": "string", - "format": "uint64", - "title": "total_gas is the cumulative gas spent by all gas meters of the incentive during the epoch" + "description": "QueryParamsResponse is the response type for the Query/Params RPC method." } }, - "title": "Incentive defines an instance that organizes distribution conditions for a\ngiven smart contract" - } - }, - "description": "QueryIncentiveResponse is the response type for the Query/Incentive RPC\nmethod." + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "tags": [ + "Query" + ] + } }, - "evmos.incentives.v1.QueryIncentivesResponse": { - "type": "object", - "properties": { - "incentives": { - "type": "array", - "items": { - "type": "object", - "properties": { - "contract": { - "type": "string", - "title": "contract address of the smart contract to be incentivized" - }, - "allocations": { - "type": "array", - "items": { + "/cosmos/consensus/v1/params": { + "get": { + "summary": "Params queries the parameters of x/consensus_param module.", + "operationId": "ConsensusParams", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "params": { + "description": "params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.", "type": "object", "properties": { - "denom": { - "type": "string" + "block": { + "type": "object", + "properties": { + "max_bytes": { + "type": "string", + "format": "int64", + "title": "Max block size, in bytes.\nNote: must be greater than 0" + }, + "max_gas": { + "type": "string", + "format": "int64", + "title": "Max gas per block.\nNote: must be greater or equal to -1" + } + }, + "description": "BlockParams contains limits on the block size." }, - "amount": { - "type": "string" + "evidence": { + "type": "object", + "properties": { + "max_age_num_blocks": { + "type": "string", + "format": "int64", + "description": "Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}." + }, + "max_age_duration": { + "type": "string", + "description": "Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)." + }, + "max_bytes": { + "type": "string", + "format": "int64", + "title": "This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB" + } + }, + "description": "EvidenceParams determine how we handle evidence of malfeasance." + }, + "validator": { + "type": "object", + "properties": { + "pub_key_types": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names." + }, + "version": { + "type": "object", + "properties": { + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "VersionParams contains the ABCI application version." } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "title": "allocations is a slice of denoms and percentages of rewards to be allocated" - }, - "epochs": { - "type": "integer", - "format": "int64", - "title": "epochs defines the number of remaining epochs for the incentive" - }, - "start_time": { - "type": "string", - "format": "date-time", - "title": "start_time of the incentive distribution" + } + } }, - "total_gas": { - "type": "string", - "format": "uint64", - "title": "total_gas is the cumulative gas spent by all gas meters of the incentive during the epoch" - } - }, - "title": "Incentive defines an instance that organizes distribution conditions for a\ngiven smart contract" + "description": "QueryParamsResponse defines the response type for querying x/consensus parameters." + } }, - "title": "incentives is a slice of all incentives" + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "tags": [ + "Query" + ] + } + }, + "/exocore/reward/v1/params": { + "get": { + "summary": "Parameters queries the parameters of the module.", + "operationId": "RewardParams", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object" + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } } } + }, + "tags": [ + "Query" + ] + } + } + }, + "definitions": { + "cosmos.base.query.v1beta1.PageRequest": { + "type": "object", + "properties": { + "key": { + "type": "string", + "format": "byte", + "description": "key is a value returned in PageResponse.next_key to begin\nquerying the next page most efficiently. Only one of offset or key\nshould be set." + }, + "offset": { + "type": "string", + "format": "uint64", + "description": "offset is a numeric offset that can be used when key is unavailable.\nIt is less efficient than using key. Only one of offset or key should\nbe set." + }, + "limit": { + "type": "string", + "format": "uint64", + "description": "limit is the total number of results to be returned in the result page.\nIf left empty it will default to a value to be set by each app." + }, + "count_total": { + "type": "boolean", + "description": "count_total is set to true to indicate that the result set should include\na count of the total number of items available for pagination in UIs.\ncount_total is only respected when offset is used. It is ignored when key\nis set." + }, + "reverse": { + "type": "boolean", + "description": "reverse is set to true if results are to be returned in the descending order.\n\nSince: cosmos-sdk 0.43" } }, - "description": "QueryIncentivesResponse is the response type for the Query/Incentives RPC\nmethod." + "description": "message SomeRequest {\n Foo some_parameter = 1;\n PageRequest pagination = 2;\n }", + "title": "PageRequest is to be embedded in gRPC request messages for efficient\npagination. Ex:" }, - "evmos.incentives.v1.QueryParamsResponse": { + "cosmos.base.query.v1beta1.PageResponse": { "type": "object", "properties": { - "params": { - "title": "params are the incentives module parameters", - "type": "object", - "properties": { - "enable_incentives": { - "type": "boolean", - "title": "enable_incentives is the parameter to enable incentives" - }, - "allocation_limit": { - "type": "string", - "title": "allocation_limit is the maximum percentage an incentive can allocate per denomination" - }, - "incentives_epoch_identifier": { - "type": "string", - "title": "incentives_epoch_identifier for the epochs module hooks" - }, - "reward_scaler": { - "type": "string", - "title": "reward_scaler is the scaling factor for capping rewards" - } - } + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC\nmethod." + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" }, - "evmos.inflation.v1.ExponentialCalculation": { + "exocore.epochs.v1.EpochInfo": { "type": "object", "properties": { - "a": { + "identifier": { "type": "string", - "title": "a defines the initial value" + "description": "identifier is the unique identifier of the epoch, typically, the measure\nof time used to define the epoch." }, - "r": { + "start_time": { "type": "string", - "title": "r defines the reduction factor" + "format": "date-time", + "description": "start_time of the epoch. it may be in the future, in which case, the epoch\nis not yet active." }, - "c": { + "duration": { "type": "string", - "title": "c defines the parameter for long term inflation" + "description": "duration is the time in between epoch i and epoch i+1. for an epoch to\nbe meaningful, the duration should be more than the block time of the chain." }, - "bonding_target": { + "current_epoch": { "type": "string", - "title": "bonding_target" + "format": "int64", + "description": "current_epoch is the number of the currently ongoing epoch, identified by the\nidentifier. the first epoch starts during the first block whose block time\nis greater than or equal to the start_time of the epoch." }, - "max_variance": { - "type": "string", - "title": "max_variance" - } - }, - "title": "ExponentialCalculation holds factors to calculate exponential inflation on\neach period. Calculation reference:\nperiodProvision = exponentialDecay * bondingIncentive\nf(x) = (a * (1 - r) ^ x + c) * (1 + max_variance - bondedRatio *\n(max_variance / bonding_target))" - }, - "evmos.inflation.v1.InflationDistribution": { - "type": "object", - "properties": { - "staking_rewards": { + "current_epoch_start_time": { "type": "string", - "title": "staking_rewards defines the proportion of the minted minted_denom that is\nto be allocated as staking rewards" + "format": "date-time", + "description": "current_epoch_start_time is the start time of the current time interval, which\nis (current_epoch_start_time, current_epoch_start_time + duration]. when we say\nthat the timer has \"ticked\", it means that the interval's components are increased\nby the duration. note, however, that only one tick can occur in any given block.\n\nthe above constraint results in a deviation from the \"ideal\" tick time / the wall\nclock time. this is particularly obvious when a chain goes down.\nsay, at t = 13, the interval is (10, 10 + 5 = 15].\nat t = 14, it is unchanged even in a new block, since 10 < t <= 15\nat t = 15, it is unchanged even in a new block, since 10 < t <= 15\nat t = 16, it increases to (15, 20]. but then assume that the chain goes down\nand comes back up at t = 35, producing 1 block each second after that as well.\nat t = 35, the interval increases by 1 tick to (15, 20] (at the block end).\nat t = 36, it increases to (20, 25].\nat t = 37, it increases to (25, 30].\nat t = 38, it increases to (30, 35].\nat t = 39, it increases to (35, 40].\nat t = 40, it is unchanged even in a new block, since 35 < t <= 40.\nat t = 41, it increases to (40, 45]." }, - "usage_incentives": { - "type": "string", - "title": "usage_incentives defines the proportion of the minted minted_denom that is\nto be allocated to the incentives module address" + "epoch_counting_started": { + "type": "boolean", + "description": "epoch_counting_started is true if the epoch counting has started for this identifier.\nit is independent of the epoch number or the time; it just indicates that at least\none epoch for this identifier has started counting." }, - "community_pool": { + "current_epoch_start_height": { "type": "string", - "title": "community_pool defines the proportion of the minted minted_denom that is to\nbe allocated to the community pool" + "format": "int64", + "description": "current_epoch_start_height is the block height at which the current epoch started,\nor the height at which the timer last \"ticked\"." } }, - "title": "InflationDistribution defines the distribution in which inflation is\nallocated through minting on each epoch (staking, incentives, community). It\nexcludes the team vesting distribution, as this is minted once at genesis.\nThe initial InflationDistribution can be calculated from the Evmos Token\nModel like this:\nmintDistribution1 = distribution1 / (1 - teamVestingDistribution)\n0.5333333 = 40% / (1 - 25%)" + "description": "EpochInfo defines an epoch and its metadata. An epoch is a period of time\nthat is used to define a time frame for a system." }, - "evmos.inflation.v1.Params": { + "exocore.epochs.v1.QueryCurrentEpochResponse": { "type": "object", "properties": { - "mint_denom": { + "current_epoch": { "type": "string", - "title": "mint_denom specifies the type of coin to mint" - }, - "exponential_calculation": { - "title": "exponential_calculation takes in the variables to calculate exponential inflation", - "type": "object", - "properties": { - "a": { - "type": "string", - "title": "a defines the initial value" - }, - "r": { - "type": "string", - "title": "r defines the reduction factor" - }, - "c": { - "type": "string", - "title": "c defines the parameter for long term inflation" - }, - "bonding_target": { - "type": "string", - "title": "bonding_target" - }, - "max_variance": { - "type": "string", - "title": "max_variance" - } - } - }, - "inflation_distribution": { - "title": "inflation_distribution of the minted denom", - "type": "object", - "properties": { - "staking_rewards": { - "type": "string", - "title": "staking_rewards defines the proportion of the minted minted_denom that is\nto be allocated as staking rewards" - }, - "usage_incentives": { - "type": "string", - "title": "usage_incentives defines the proportion of the minted minted_denom that is\nto be allocated to the incentives module address" - }, - "community_pool": { - "type": "string", - "title": "community_pool defines the proportion of the minted minted_denom that is to\nbe allocated to the community pool" - } - } - }, - "enable_inflation": { - "type": "boolean", - "title": "enable_inflation is the parameter that enables inflation and halts increasing the skipped_epochs" + "format": "int64", + "title": "current_epoch is the number of the current epoch" } }, - "description": "Params holds parameters for the inflation module." + "description": "QueryCurrentEpochResponse is the response type for the Query/EpochInfos RPC\nmethod." }, - "evmos.inflation.v1.QueryCirculatingSupplyResponse": { + "exocore.epochs.v1.QueryEpochsInfoResponse": { "type": "object", "properties": { - "circulating_supply": { - "title": "circulating_supply is the total amount of coins in circulation", - "type": "object", - "properties": { - "denom": { - "type": "string" + "epochs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "identifier": { + "type": "string", + "description": "identifier is the unique identifier of the epoch, typically, the measure\nof time used to define the epoch." + }, + "start_time": { + "type": "string", + "format": "date-time", + "description": "start_time of the epoch. it may be in the future, in which case, the epoch\nis not yet active." + }, + "duration": { + "type": "string", + "description": "duration is the time in between epoch i and epoch i+1. for an epoch to\nbe meaningful, the duration should be more than the block time of the chain." + }, + "current_epoch": { + "type": "string", + "format": "int64", + "description": "current_epoch is the number of the currently ongoing epoch, identified by the\nidentifier. the first epoch starts during the first block whose block time\nis greater than or equal to the start_time of the epoch." + }, + "current_epoch_start_time": { + "type": "string", + "format": "date-time", + "description": "current_epoch_start_time is the start time of the current time interval, which\nis (current_epoch_start_time, current_epoch_start_time + duration]. when we say\nthat the timer has \"ticked\", it means that the interval's components are increased\nby the duration. note, however, that only one tick can occur in any given block.\n\nthe above constraint results in a deviation from the \"ideal\" tick time / the wall\nclock time. this is particularly obvious when a chain goes down.\nsay, at t = 13, the interval is (10, 10 + 5 = 15].\nat t = 14, it is unchanged even in a new block, since 10 < t <= 15\nat t = 15, it is unchanged even in a new block, since 10 < t <= 15\nat t = 16, it increases to (15, 20]. but then assume that the chain goes down\nand comes back up at t = 35, producing 1 block each second after that as well.\nat t = 35, the interval increases by 1 tick to (15, 20] (at the block end).\nat t = 36, it increases to (20, 25].\nat t = 37, it increases to (25, 30].\nat t = 38, it increases to (30, 35].\nat t = 39, it increases to (35, 40].\nat t = 40, it is unchanged even in a new block, since 35 < t <= 40.\nat t = 41, it increases to (40, 45]." + }, + "epoch_counting_started": { + "type": "boolean", + "description": "epoch_counting_started is true if the epoch counting has started for this identifier.\nit is independent of the epoch number or the time; it just indicates that at least\none epoch for this identifier has started counting." + }, + "current_epoch_start_height": { + "type": "string", + "format": "int64", + "description": "current_epoch_start_height is the block height at which the current epoch started,\nor the height at which the timer last \"ticked\"." + } }, - "amount": { - "type": "string" - } + "description": "EpochInfo defines an epoch and its metadata. An epoch is a period of time\nthat is used to define a time frame for a system." }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } - }, - "description": "QueryCirculatingSupplyResponse is the response type for the\nQuery/CirculatingSupply RPC method." - }, - "evmos.inflation.v1.QueryEpochMintProvisionResponse": { - "type": "object", - "properties": { - "epoch_mint_provision": { - "description": "epoch_mint_provision is the current minting per epoch provision value.", - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - } - } - }, - "description": "QueryEpochMintProvisionResponse is the response type for the\nQuery/EpochMintProvision RPC method." - }, - "evmos.inflation.v1.QueryInflationRateResponse": { - "type": "object", - "properties": { - "inflation_rate": { + "description": "epochs is a slice of all EpochInfos returned by the query." + }, + "block_time": { "type": "string", - "title": "inflation_rate by which the total supply increases within one period" - } - }, - "description": "QueryInflationRateResponse is the response type for the Query/InflationRate\nRPC method." - }, - "evmos.inflation.v1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "description": "params defines the parameters of the module.", + "format": "date-time", + "description": "block_time is the block time of the query block ctx." + }, + "pagination": { + "description": "pagination defines the pagination for the response.", "type": "object", "properties": { - "mint_denom": { + "next_key": { "type": "string", - "title": "mint_denom specifies the type of coin to mint" - }, - "exponential_calculation": { - "title": "exponential_calculation takes in the variables to calculate exponential inflation", - "type": "object", - "properties": { - "a": { - "type": "string", - "title": "a defines the initial value" - }, - "r": { - "type": "string", - "title": "r defines the reduction factor" - }, - "c": { - "type": "string", - "title": "c defines the parameter for long term inflation" - }, - "bonding_target": { - "type": "string", - "title": "bonding_target" - }, - "max_variance": { - "type": "string", - "title": "max_variance" - } - } - }, - "inflation_distribution": { - "title": "inflation_distribution of the minted denom", - "type": "object", - "properties": { - "staking_rewards": { - "type": "string", - "title": "staking_rewards defines the proportion of the minted minted_denom that is\nto be allocated as staking rewards" - }, - "usage_incentives": { - "type": "string", - "title": "usage_incentives defines the proportion of the minted minted_denom that is\nto be allocated to the incentives module address" - }, - "community_pool": { - "type": "string", - "title": "community_pool defines the proportion of the minted minted_denom that is to\nbe allocated to the community pool" - } - } + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "enable_inflation": { - "type": "boolean", - "title": "enable_inflation is the parameter that enables inflation and halts increasing the skipped_epochs" + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "description": "QueryEpochsInfoResponse is the response type for the Query/EpochInfos RPC\nmethod." }, - "evmos.inflation.v1.QueryPeriodResponse": { + "google.protobuf.Any": { "type": "object", "properties": { - "period": { + "type_url": { "type": "string", - "format": "uint64", - "description": "period is the current minting per epoch provision value." - } - }, - "description": "QueryPeriodResponse is the response type for the Query/Period RPC method." - }, - "evmos.inflation.v1.QuerySkippedEpochsResponse": { - "type": "object", - "properties": { - "skipped_epochs": { + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { "type": "string", - "format": "uint64", - "description": "skipped_epochs is the number of epochs that the inflation module has been disabled." + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "QuerySkippedEpochsResponse is the response type for the Query/SkippedEpochs\nRPC method." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "evmos.vesting.v1.QueryBalancesResponse": { + "grpc.gateway.runtime.Error": { "type": "object", "properties": { - "locked": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "locked defines the current amount of locked tokens" + "error": { + "type": "string" }, - "unvested": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "unvested defines the current amount of unvested tokens" + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" }, - "vested": { + "details": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "amount": { - "type": "string" + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "vested defines the current amount of vested tokens" - } - }, - "description": "QueryBalancesResponse is the response type for the Query/Balances RPC\nmethod." - }, - "evmos.recovery.v1.Params": { - "type": "object", - "properties": { - "enable_recovery": { - "type": "boolean", - "title": "enable_recovery IBC middleware" - }, - "packet_timeout_duration": { - "type": "string", - "title": "packet_timeout_duration is the duration added to timeout timestamp for balances recovered via IBC packets" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } } - }, - "title": "Params holds parameters for the recovery module" + } }, - "evmos.recovery.v1.QueryParamsResponse": { - "type": "object", - "properties": { - "params": { - "description": "params defines the parameters of the module.", - "type": "object", - "properties": { - "enable_recovery": { - "type": "boolean", - "title": "enable_recovery IBC middleware" - }, - "packet_timeout_duration": { - "type": "string", - "title": "packet_timeout_duration is the duration added to timeout timestamp for balances recovered via IBC packets" - } - }, - "title": "Params holds parameters for the recovery module" - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "evmos.erc20.v1.Owner": { + "type": "string", + "enum": [ + "OWNER_UNSPECIFIED", + "OWNER_MODULE", + "OWNER_EXTERNAL" + ], + "default": "OWNER_UNSPECIFIED", + "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." }, - "evmos.revenue.v1.Params": { + "evmos.erc20.v1.Params": { "type": "object", "properties": { - "enable_revenue": { + "enable_erc20": { "type": "boolean", - "title": "enable_revenue defines a parameter to enable the revenue module" - }, - "developer_shares": { - "type": "string", - "title": "developer_shares defines the proportion of the transaction fees to be\ndistributed to the registered contract owner" - }, - "addr_derivation_cost_create": { - "type": "string", - "format": "uint64", - "title": "addr_derivation_cost_create defines the cost of address derivation for\nverifying the contract deployer at fee registration" - } - }, - "title": "Params defines the revenue module params" - }, - "evmos.revenue.v1.QueryDeployerRevenuesResponse": { - "type": "object", - "properties": { - "contract_addresses": { - "type": "array", - "items": { - "type": "string" - }, - "title": "contract_addresses is the slice of registered contract addresses for a deployer" + "description": "enable_erc20 is the parameter to enable the conversion of Cosmos coins <--> ERC20 tokens." }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "enable_evm_hook": { + "type": "boolean", + "description": "enable_evm_hook is the parameter to enable the EVM hook that converts an ERC20 token to a Cosmos\nCoin by transferring the Tokens through a MsgEthereumTx to the ModuleAddress Ethereum address." } }, - "description": "QueryDeployerRevenuesResponse is the response type for the\nQuery/DeployerRevenues RPC method." + "title": "Params defines the erc20 module params" }, - "evmos.revenue.v1.QueryParamsResponse": { + "evmos.erc20.v1.QueryParamsResponse": { "type": "object", "properties": { "params": { - "title": "params is the returned revenue parameter", + "title": "params are the erc20 module parameters", "type": "object", "properties": { - "enable_revenue": { + "enable_erc20": { "type": "boolean", - "title": "enable_revenue defines a parameter to enable the revenue module" - }, - "developer_shares": { - "type": "string", - "title": "developer_shares defines the proportion of the transaction fees to be\ndistributed to the registered contract owner" + "description": "enable_erc20 is the parameter to enable the conversion of Cosmos coins <--> ERC20 tokens." }, - "addr_derivation_cost_create": { - "type": "string", - "format": "uint64", - "title": "addr_derivation_cost_create defines the cost of address derivation for\nverifying the contract deployer at fee registration" + "enable_evm_hook": { + "type": "boolean", + "description": "enable_evm_hook is the parameter to enable the EVM hook that converts an ERC20 token to a Cosmos\nCoin by transferring the Tokens through a MsgEthereumTx to the ModuleAddress Ethereum address." } } } }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." + "description": "QueryParamsResponse is the response type for the Query/Params RPC\nmethod." }, - "evmos.revenue.v1.QueryRevenueResponse": { + "evmos.erc20.v1.QueryTokenPairResponse": { "type": "object", "properties": { - "revenue": { + "token_pair": { "type": "object", "properties": { - "contract_address": { + "erc20_address": { "type": "string", - "title": "contract_address is the hex address of a registered contract" + "title": "erc20_address is the hex address of ERC20 contract token" }, - "deployer_address": { + "denom": { "type": "string", - "title": "deployer_address is the bech32 address of message sender. It must be the same as the origin EOA\nsending the transaction which deploys the contract" + "title": "denom defines the cosmos base denomination to be mapped to" + }, + "enabled": { + "type": "boolean", + "title": "enabled defines the token mapping enable status" }, - "withdrawer_address": { + "contract_owner": { + "title": "contract_owner is the an ENUM specifying the type of ERC20 owner (0 invalid, 1 ModuleAccount, 2 external address)", "type": "string", - "title": "withdrawer_address is the bech32 address of account receiving the transaction fees it defaults to\ndeployer_address" + "enum": [ + "OWNER_UNSPECIFIED", + "OWNER_MODULE", + "OWNER_EXTERNAL" + ], + "default": "OWNER_UNSPECIFIED", + "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." } }, - "title": "Revenue defines an instance that organizes fee distribution conditions for\nthe owner of a given smart contract" + "description": "TokenPair defines an instance that records a pairing consisting of a native\n Cosmos Coin and an ERC20 token address.", + "title": "token_pairs returns the info about a registered token pair for the erc20 module" } }, - "description": "QueryRevenueResponse is the response type for the Query/Revenue RPC method." + "description": "QueryTokenPairResponse is the response type for the Query/TokenPair RPC\nmethod." }, - "evmos.revenue.v1.QueryRevenuesResponse": { + "evmos.erc20.v1.QueryTokenPairsResponse": { "type": "object", "properties": { - "revenues": { + "token_pairs": { "type": "array", "items": { "type": "object", "properties": { - "contract_address": { + "erc20_address": { "type": "string", - "title": "contract_address is the hex address of a registered contract" + "title": "erc20_address is the hex address of ERC20 contract token" }, - "deployer_address": { + "denom": { "type": "string", - "title": "deployer_address is the bech32 address of message sender. It must be the same as the origin EOA\nsending the transaction which deploys the contract" + "title": "denom defines the cosmos base denomination to be mapped to" }, - "withdrawer_address": { + "enabled": { + "type": "boolean", + "title": "enabled defines the token mapping enable status" + }, + "contract_owner": { + "title": "contract_owner is the an ENUM specifying the type of ERC20 owner (0 invalid, 1 ModuleAccount, 2 external address)", "type": "string", - "title": "withdrawer_address is the bech32 address of account receiving the transaction fees it defaults to\ndeployer_address" + "enum": [ + "OWNER_UNSPECIFIED", + "OWNER_MODULE", + "OWNER_EXTERNAL" + ], + "default": "OWNER_UNSPECIFIED", + "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." } }, - "title": "Revenue defines an instance that organizes fee distribution conditions for\nthe owner of a given smart contract" - }, - "title": "revenues is a slice of all stored Reveneue" - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryRevenuesResponse is the response type for the Query/Revenues RPC method." - }, - "evmos.revenue.v1.QueryWithdrawerRevenuesResponse": { - "type": "object", - "properties": { - "contract_addresses": { - "type": "array", - "items": { - "type": "string" + "description": "TokenPair defines an instance that records a pairing consisting of a native\n Cosmos Coin and an ERC20 token address." }, - "title": "contract_addresses is the slice of registered contract addresses for a withdrawer" + "title": "token_pairs is a slice of registered token pairs for the erc20 module" }, "pagination": { "description": "pagination defines the pagination in the response.", @@ -24258,25 +24568,36 @@ } } }, - "description": "QueryWithdrawerRevenuesResponse is the response type for the\nQuery/WithdrawerRevenues RPC method." + "description": "QueryTokenPairsResponse is the response type for the Query/TokenPairs RPC\nmethod." }, - "evmos.revenue.v1.Revenue": { + "evmos.erc20.v1.TokenPair": { "type": "object", "properties": { - "contract_address": { + "erc20_address": { "type": "string", - "title": "contract_address is the hex address of a registered contract" + "title": "erc20_address is the hex address of ERC20 contract token" }, - "deployer_address": { + "denom": { "type": "string", - "title": "deployer_address is the bech32 address of message sender. It must be the same as the origin EOA\nsending the transaction which deploys the contract" + "title": "denom defines the cosmos base denomination to be mapped to" + }, + "enabled": { + "type": "boolean", + "title": "enabled defines the token mapping enable status" }, - "withdrawer_address": { + "contract_owner": { + "title": "contract_owner is the an ENUM specifying the type of ERC20 owner (0 invalid, 1 ModuleAccount, 2 external address)", "type": "string", - "title": "withdrawer_address is the bech32 address of account receiving the transaction fees it defaults to\ndeployer_address" + "enum": [ + "OWNER_UNSPECIFIED", + "OWNER_MODULE", + "OWNER_EXTERNAL" + ], + "default": "OWNER_UNSPECIFIED", + "description": "Owner enumerates the ownership of a ERC20 contract.\n\n - OWNER_UNSPECIFIED: OWNER_UNSPECIFIED defines an invalid/undefined owner.\n - OWNER_MODULE: OWNER_MODULE - erc20 is owned by the erc20 module account.\n - OWNER_EXTERNAL: OWNER_EXTERNAL - erc20 is owned by an external account." } }, - "title": "Revenue defines an instance that organizes fee distribution conditions for\nthe owner of a given smart contract" + "description": "TokenPair defines an instance that records a pairing consisting of a native\n Cosmos Coin and an ERC20 token address." }, "ethermint.evm.v1.ChainConfig": { "type": "object", @@ -25134,6 +25455,18 @@ }, "description": "QueryParamsResponse defines the response type for querying x/evm parameters." }, + "cosmos.base.v1beta1.Coin": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, "ibc.applications.transfer.v1.DenomTrace": { "type": "object", "properties": { @@ -26897,39 +27230,6 @@ }, "title": "QuerySequenceResponse is the request type for the\nQuery/QueryNextSequenceReceiveResponse RPC method" }, - "ibc.core.channel.v1.QueryNextSequenceSendResponse": { - "type": "object", - "properties": { - "next_sequence_send": { - "type": "string", - "format": "uint64", - "title": "next sequence send number" - }, - "proof": { - "type": "string", - "format": "byte", - "title": "merkle proof of existence" - }, - "proof_height": { - "title": "height at which the proof was retrieved", - "type": "object", - "properties": { - "revision_number": { - "type": "string", - "format": "uint64", - "title": "the revision that the client is currently on" - }, - "revision_height": { - "type": "string", - "format": "uint64", - "title": "the height within the given revision" - } - }, - "description": "Normally the RevisionHeight is incremented at each height while keeping\nRevisionNumber the same. However some consensus algorithms may choose to\nreset the height in certain conditions e.g. hard forks, state-machine\nbreaking changes In these cases, the RevisionNumber is incremented so that\nheight continues to be monitonically increasing even as the RevisionHeight\ngets reset" - } - }, - "title": "QueryNextSequenceSendResponse is the request type for the\nQuery/QueryNextSequenceSend RPC method" - }, "ibc.core.channel.v1.QueryPacketAcknowledgementResponse": { "type": "object", "properties": { @@ -27897,91 +28197,25 @@ } } }, - "description": "QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod." - }, - "cosmos.bank.v1beta1.QueryBalanceResponse": { - "type": "object", - "properties": { - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - } - }, - "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." - }, - "cosmos.bank.v1beta1.QueryDenomMetadataByQueryStringResponse": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "denom_units": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string", - "description": "denom represents the string name of the given denom unit (e.g uatom)." - }, - "exponent": { - "type": "integer", - "format": "int64", - "description": "exponent represents power of 10 exponent that one must\nraise the base_denom to in order to equal the given DenomUnit's denom\n1 denom = 10^exponent base_denom\n(e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with\nexponent = 6, thus: 1 atom = 10^6 uatom)." - }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "aliases is a list of string aliases for the given denom" - } - }, - "description": "DenomUnit represents a struct that describes a given\ndenomination unit of the basic token." - }, - "title": "denom_units represents the list of DenomUnit's for a given coin" - }, - "base": { - "type": "string", - "description": "base represents the base denom (should be the DenomUnit with exponent = 0)." - }, - "display": { - "type": "string", - "description": "display indicates the suggested denom that should be\ndisplayed in clients." - }, - "name": { - "type": "string", - "description": "Since: cosmos-sdk 0.43", - "title": "name defines the name of the token (eg: Cosmos Atom)" - }, - "symbol": { - "type": "string", - "description": "symbol is the token symbol usually shown on exchanges (eg: ATOM). This can\nbe the same as the display.\n\nSince: cosmos-sdk 0.43" - }, - "uri": { - "type": "string", - "description": "URI to a document (on or off-chain) that contains additional information. Optional.\n\nSince: cosmos-sdk 0.46" + "description": "QueryAllBalancesResponse is the response type for the Query/AllBalances RPC\nmethod." + }, + "cosmos.bank.v1beta1.QueryBalanceResponse": { + "type": "object", + "properties": { + "balance": { + "type": "object", + "properties": { + "denom": { + "type": "string" }, - "uri_hash": { - "type": "string", - "description": "URIHash is a sha256 hash of a document pointed by URI. It's used to verify that\nthe document didn't change. Optional.\n\nSince: cosmos-sdk 0.46" + "amount": { + "type": "string" } }, - "description": "Metadata represents a struct that describes\na basic token." + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." } }, - "description": "QueryDenomMetadataByQueryStringResponse is the response type for the Query/DenomMetadata RPC\nmethod. Identical with QueryDenomMetadataResponse but receives denom as query string in request." + "description": "QueryBalanceResponse is the response type for the Query/Balance RPC method." }, "cosmos.bank.v1beta1.QueryDenomMetadataResponse": { "type": "object", @@ -28186,7 +28420,6 @@ "type": "object", "properties": { "params": { - "description": "params provides the parameters of the bank module.", "type": "object", "properties": { "send_enabled": { @@ -28208,7 +28441,8 @@ "default_send_enabled": { "type": "boolean" } - } + }, + "description": "Params defines the parameters for the bank module." } }, "description": "QueryParamsResponse defines the response type for querying x/bank parameters." @@ -28374,76 +28608,256 @@ }, "description": "SendEnabled maps coin denom to a send_enabled status (whether a denom is\nsendable)." }, - "cosmos.distribution.v1beta1.DelegationDelegatorReward": { + "cosmos.feegrant.v1beta1.Grant": { "type": "object", "properties": { - "validator_address": { - "type": "string" + "granter": { + "type": "string", + "description": "granter is the address of the user granting an allowance of their funds." + }, + "grantee": { + "type": "string", + "description": "grantee is the address of the user being granted an allowance of another user's funds." }, - "reward": { + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + } + } + }, + "title": "Grant is stored in the KVStore to record a grant with full context" + }, + "cosmos.feegrant.v1beta1.QueryAllowanceResponse": { + "type": "object", + "properties": { + "allowance": { + "description": "allowance is a allowance granted for grantee by granter.", + "type": "object", + "properties": { + "granter": { + "type": "string", + "description": "granter is the address of the user granting an allowance of their funds." + }, + "grantee": { + "type": "string", + "description": "grantee is the address of the user being granted an allowance of another user's funds." + }, + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + } + } + }, + "title": "Grant is stored in the KVStore to record a grant with full context" + } + }, + "description": "QueryAllowanceResponse is the response type for the Query/Allowance RPC method." + }, + "cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse": { + "type": "object", + "properties": { + "allowances": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "granter": { + "type": "string", + "description": "granter is the address of the user granting an allowance of their funds." }, - "amount": { - "type": "string" + "grantee": { + "type": "string", + "description": "grantee is the address of the user being granted an allowance of another user's funds." + }, + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + } } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "title": "Grant is stored in the KVStore to record a grant with full context" + }, + "description": "allowances that have been issued by the granter." + }, + "pagination": { + "description": "pagination defines an pagination for the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } } } }, - "description": "DelegationDelegatorReward represents the properties\nof a delegator's delegation reward." + "description": "QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46" }, - "cosmos.distribution.v1beta1.Params": { + "cosmos.feegrant.v1beta1.QueryAllowancesResponse": { "type": "object", "properties": { - "community_tax": { - "type": "string" - }, - "base_proposer_reward": { - "type": "string", - "description": "Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism." - }, - "bonus_proposer_reward": { - "type": "string", - "description": "Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism." + "allowances": { + "type": "array", + "items": { + "type": "object", + "properties": { + "granter": { + "type": "string", + "description": "granter is the address of the user granting an allowance of their funds." + }, + "grantee": { + "type": "string", + "description": "grantee is the address of the user being granted an allowance of another user's funds." + }, + "allowance": { + "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + } + } + }, + "title": "Grant is stored in the KVStore to record a grant with full context" + }, + "description": "allowances are allowance's granted for grantee by granter." }, - "withdraw_addr_enabled": { - "type": "boolean" + "pagination": { + "description": "pagination defines an pagination for the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "Params defines the set of params for the distribution module." + "description": "QueryAllowancesResponse is the response type for the Query/Allowances RPC method." }, - "cosmos.distribution.v1beta1.QueryCommunityPoolResponse": { + "cosmos.evidence.v1beta1.QueryAllEvidenceResponse": { "type": "object", "properties": { - "pool": { + "evidence": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "amount": { - "type": "string" + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "evidence returns all evidences." + }, + "pagination": { + "description": "pagination defines the pagination in the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "description": "QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod." + }, + "cosmos.evidence.v1beta1.QueryEvidenceResponse": { + "type": "object", + "properties": { + "evidence": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "description": "pool defines community pool's coins." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } }, - "description": "QueryCommunityPoolResponse is the response type for the Query/CommunityPool\nRPC method." + "description": "QueryEvidenceResponse is the response type for the Query/Evidence RPC method." }, - "cosmos.distribution.v1beta1.QueryDelegationRewardsResponse": { + "cosmos.gov.v1beta1.Deposit": { "type": "object", "properties": { - "rewards": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." + }, + "amount": { "type": "array", "items": { "type": "object", @@ -28455,45 +28869,108 @@ "type": "string" } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "description": "rewards defines the rewards accrued by a delegation." + "description": "amount to be deposited by depositor." } }, - "description": "QueryDelegationRewardsResponse is the response type for the\nQuery/DelegationRewards RPC method." + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." }, - "cosmos.distribution.v1beta1.QueryDelegationTotalRewardsResponse": { + "cosmos.gov.v1beta1.DepositParams": { "type": "object", "properties": { - "rewards": { + "min_deposit": { "type": "array", "items": { "type": "object", "properties": { - "validator_address": { + "denom": { "type": "string" }, - "reward": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } + "amount": { + "type": "string" } }, - "description": "DelegationDelegatorReward represents the properties\nof a delegator's delegation reward." + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "description": "rewards defines all the rewards accrued by a delegator." + "description": "Minimum deposit for a proposal to enter voting period." }, - "total": { + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + } + }, + "description": "DepositParams defines the params for deposits on governance proposals." + }, + "cosmos.gov.v1beta1.Proposal": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "content": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "type": "object", + "properties": { + "yes": { + "type": "string", + "description": "yes is the number of yes votes on a proposal." + }, + "abstain": { + "type": "string", + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." + }, + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." + } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { "type": "array", "items": { "type": "object", @@ -28505,70 +28982,265 @@ "type": "string" } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "description": "total defines the sum of all the rewards." + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { + "type": "string", + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." + }, + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." } }, - "description": "QueryDelegationTotalRewardsResponse is the response type for the\nQuery/DelegationTotalRewards RPC method." + "description": "Proposal defines the core field members of a governance proposal." + }, + "cosmos.gov.v1beta1.ProposalStatus": { + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED", + "description": "ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed." }, - "cosmos.distribution.v1beta1.QueryDelegatorValidatorsResponse": { + "cosmos.gov.v1beta1.QueryDepositResponse": { "type": "object", "properties": { - "validators": { - "type": "array", - "items": { - "type": "string" + "deposit": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "amount to be deposited by depositor." + } }, - "description": "validators defines the validators a delegator is delegating for." + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." } }, - "description": "QueryDelegatorValidatorsResponse is the response type for the\nQuery/DelegatorValidators RPC method." + "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." }, - "cosmos.distribution.v1beta1.QueryDelegatorWithdrawAddressResponse": { + "cosmos.gov.v1beta1.QueryDepositsResponse": { "type": "object", "properties": { - "withdraw_address": { - "type": "string", - "description": "withdraw_address defines the delegator address to query for." + "deposits": { + "type": "array", + "items": { + "type": "object", + "properties": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "depositor": { + "type": "string", + "description": "depositor defines the deposit addresses from the proposals." + }, + "amount": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "amount to be deposited by depositor." + } + }, + "description": "Deposit defines an amount deposited by an account address to an active\nproposal." + }, + "description": "deposits defines the requested deposits." + }, + "pagination": { + "description": "pagination defines the pagination in the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "QueryDelegatorWithdrawAddressResponse is the response type for the\nQuery/DelegatorWithdrawAddress RPC method." + "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." }, - "cosmos.distribution.v1beta1.QueryParamsResponse": { + "cosmos.gov.v1beta1.QueryParamsResponse": { "type": "object", "properties": { - "params": { - "description": "params defines the parameters of the module.", + "voting_params": { + "description": "voting_params defines the parameters related to voting.", "type": "object", "properties": { - "community_tax": { - "type": "string" + "voting_period": { + "type": "string", + "description": "Duration of the voting period." + } + } + }, + "deposit_params": { + "description": "deposit_params defines the parameters related to deposit.", + "type": "object", + "properties": { + "min_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "Minimum deposit for a proposal to enter voting period." + }, + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + } + } + }, + "tally_params": { + "description": "tally_params defines the parameters related to tally.", + "type": "object", + "properties": { + "quorum": { + "type": "string", + "format": "byte", + "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." }, - "base_proposer_reward": { + "threshold": { "type": "string", - "description": "Deprecated: The base_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism." + "format": "byte", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." }, - "bonus_proposer_reward": { + "veto_threshold": { "type": "string", - "description": "Deprecated: The bonus_proposer_reward field is deprecated and is no longer used\nin the x/distribution module's reward mechanism." - }, - "withdraw_addr_enabled": { - "type": "boolean" + "format": "byte", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." } } } }, "description": "QueryParamsResponse is the response type for the Query/Params RPC method." }, - "cosmos.distribution.v1beta1.QueryValidatorCommissionResponse": { + "cosmos.gov.v1beta1.QueryProposalResponse": { "type": "object", "properties": { - "commission": { - "description": "commission defines the commission the validator received.", + "proposal": { "type": "object", "properties": { - "commission": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "content": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "type": "object", + "properties": { + "yes": { + "type": "string", + "description": "yes is the number of yes votes on a proposal." + }, + "abstain": { + "type": "string", + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." + }, + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." + } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { "type": "array", "items": { "type": "object", @@ -28580,102 +29252,129 @@ "type": "string" } }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { + "type": "string", + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." + }, + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." } - } + }, + "description": "Proposal defines the core field members of a governance proposal." } }, - "title": "QueryValidatorCommissionResponse is the response type for the\nQuery/ValidatorCommission RPC method" + "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." }, - "cosmos.distribution.v1beta1.QueryValidatorDistributionInfoResponse": { + "cosmos.gov.v1beta1.QueryProposalsResponse": { "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the validator operator address." - }, - "self_bond_rewards": { + "proposals": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "description": "self_bond_rewards defines the self delegations rewards." - }, - "commission": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "content": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - }, - "description": "commission defines the commission the validator received." - } - }, - "description": "QueryValidatorDistributionInfoResponse is the response type for the Query/ValidatorDistributionInfo RPC method." - }, - "cosmos.distribution.v1beta1.QueryValidatorOutstandingRewardsResponse": { - "type": "object", - "properties": { - "rewards": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { + "status": { + "description": "status defines the proposal status.", + "type": "string", + "enum": [ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED" + ], + "default": "PROPOSAL_STATUS_UNSPECIFIED" + }, + "final_tally_result": { + "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", "type": "object", "properties": { - "denom": { - "type": "string" + "yes": { + "type": "string", + "description": "yes is the number of yes votes on a proposal." }, - "amount": { - "type": "string" + "abstain": { + "type": "string", + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." + }, + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." } + } + }, + "submit_time": { + "type": "string", + "format": "date-time", + "description": "submit_time is the time of proposal submission." + }, + "deposit_end_time": { + "type": "string", + "format": "date-time", + "description": "deposit_end_time is the end time for deposition." + }, + "total_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } - } - }, - "description": "ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks." - } - }, - "description": "QueryValidatorOutstandingRewardsResponse is the response type for the\nQuery/ValidatorOutstandingRewards RPC method." - }, - "cosmos.distribution.v1beta1.QueryValidatorSlashesResponse": { - "type": "object", - "properties": { - "slashes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "validator_period": { + "description": "total_deposit is the total deposit on the proposal." + }, + "voting_start_time": { "type": "string", - "format": "uint64" + "format": "date-time", + "description": "voting_start_time is the starting time to vote on a proposal." }, - "fraction": { - "type": "string" + "voting_end_time": { + "type": "string", + "format": "date-time", + "description": "voting_end_time is the end time of voting on a proposal." } }, - "description": "ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred." + "description": "Proposal defines the core field members of a governance proposal." }, - "description": "slashes defines the slashes the validator received." + "description": "proposals defines all the requested governance proposals." }, "pagination": { "description": "pagination defines the pagination in the response.", @@ -28694,166 +29393,157 @@ } } }, - "description": "QueryValidatorSlashesResponse is the response type for the\nQuery/ValidatorSlashes RPC method." - }, - "cosmos.distribution.v1beta1.ValidatorAccumulatedCommission": { - "type": "object", - "properties": { - "commission": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } - } - }, - "description": "ValidatorAccumulatedCommission represents accumulated commission\nfor a validator kept as a running counter, can be withdrawn at any time." - }, - "cosmos.distribution.v1beta1.ValidatorOutstandingRewards": { - "type": "object", - "properties": { - "rewards": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "DecCoin defines a token with a denomination and a decimal amount.\n\nNOTE: The amount field is an Dec which implements the custom method\nsignatures required by gogoproto." - } - } - }, - "description": "ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards\nfor a validator inexpensive to track, allows simple sanity checks." - }, - "cosmos.distribution.v1beta1.ValidatorSlashEvent": { - "type": "object", - "properties": { - "validator_period": { - "type": "string", - "format": "uint64" - }, - "fraction": { - "type": "string" - } - }, - "description": "ValidatorSlashEvent represents a validator slash event.\nHeight is implicit within the store key.\nThis is needed to calculate appropriate amount of staking tokens\nfor delegations which are withdrawn after a slash has occurred." + "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." }, - "cosmos.feegrant.v1beta1.Grant": { + "cosmos.gov.v1beta1.QueryTallyResultResponse": { "type": "object", "properties": { - "granter": { - "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." - }, - "grantee": { - "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." - }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", + "tally": { + "description": "tally defines the requested tally.", "type": "object", "properties": { - "type_url": { + "yes": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "description": "yes is the number of yes votes on a proposal." }, - "value": { + "abstain": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." + }, + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." } } } }, - "title": "Grant is stored in the KVStore to record a grant with full context" + "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." }, - "cosmos.feegrant.v1beta1.QueryAllowanceResponse": { + "cosmos.gov.v1beta1.QueryVoteResponse": { "type": "object", "properties": { - "allowance": { - "description": "allowance is a allowance granted for grantee by granter.", + "vote": { "type": "object", "properties": { - "granter": { + "proposal_id": { "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "grantee": { + "voter": { "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." + "description": "voter is the voter address of the proposal." }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "option": { + "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - } + "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + }, + "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" } }, - "title": "Grant is stored in the KVStore to record a grant with full context" + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." } }, - "description": "QueryAllowanceResponse is the response type for the Query/Allowance RPC method." + "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." }, - "cosmos.feegrant.v1beta1.QueryAllowancesByGranterResponse": { + "cosmos.gov.v1beta1.QueryVotesResponse": { "type": "object", "properties": { - "allowances": { + "votes": { "type": "array", "items": { "type": "object", "properties": { - "granter": { + "proposal_id": { "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." }, - "grantee": { + "voter": { "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." + "description": "voter is the voter address of the proposal." }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "option": { + "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - } + "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + }, + "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" } }, - "title": "Grant is stored in the KVStore to record a grant with full context" + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." }, - "description": "allowances that have been issued by the granter." + "description": "votes defines the queried votes." }, "pagination": { - "description": "pagination defines an pagination for the response.", + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { "next_key": { @@ -28869,126 +29559,149 @@ } } }, - "description": "QueryAllowancesByGranterResponse is the response type for the Query/AllowancesByGranter RPC method.\n\nSince: cosmos-sdk 0.46" + "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." }, - "cosmos.feegrant.v1beta1.QueryAllowancesResponse": { + "cosmos.gov.v1beta1.TallyParams": { "type": "object", "properties": { - "allowances": { - "type": "array", - "items": { - "type": "object", - "properties": { - "granter": { - "type": "string", - "description": "granter is the address of the user granting an allowance of their funds." - }, - "grantee": { - "type": "string", - "description": "grantee is the address of the user being granted an allowance of another user's funds." - }, - "allowance": { - "description": "allowance can be any of basic, periodic, allowed fee allowance.", - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - } - } - }, - "title": "Grant is stored in the KVStore to record a grant with full context" - }, - "description": "allowances are allowance's granted for grantee by granter." + "quorum": { + "type": "string", + "format": "byte", + "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." + }, + "threshold": { + "type": "string", + "format": "byte", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." + }, + "veto_threshold": { + "type": "string", + "format": "byte", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." + } + }, + "description": "TallyParams defines the params for tallying votes on governance proposals." + }, + "cosmos.gov.v1beta1.TallyResult": { + "type": "object", + "properties": { + "yes": { + "type": "string", + "description": "yes is the number of yes votes on a proposal." + }, + "abstain": { + "type": "string", + "description": "abstain is the number of abstain votes on a proposal." + }, + "no": { + "type": "string", + "description": "no is the number of no votes on a proposal." }, - "pagination": { - "description": "pagination defines an pagination for the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "no_with_veto": { + "type": "string", + "description": "no_with_veto is the number of no with veto votes on a proposal." } }, - "description": "QueryAllowancesResponse is the response type for the Query/Allowances RPC method." + "description": "TallyResult defines a standard tally for a governance proposal." }, - "cosmos.evidence.v1beta1.QueryAllEvidenceResponse": { + "cosmos.gov.v1beta1.Vote": { "type": "object", "properties": { - "evidence": { + "proposal_id": { + "type": "string", + "format": "uint64", + "description": "proposal_id defines the unique id of the proposal." + }, + "voter": { + "type": "string", + "description": "voter is the voter address of the proposal." + }, + "option": { + "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "options": { "type": "array", "items": { "type": "object", "properties": { - "type_url": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" }, - "value": { + "weight": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "description": "weight is the vote weight associated with the vote option." } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" }, - "description": "evidence returns all evidences." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" } }, - "description": "QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC\nmethod." + "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." }, - "cosmos.evidence.v1beta1.QueryEvidenceResponse": { + "cosmos.gov.v1beta1.VoteOption": { + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED", + "description": "VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option." + }, + "cosmos.gov.v1beta1.VotingParams": { "type": "object", "properties": { - "evidence": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "voting_period": { + "type": "string", + "description": "Duration of the voting period." } }, - "description": "QueryEvidenceResponse is the response type for the Query/Evidence RPC method." + "description": "VotingParams defines the params for voting on governance proposals." }, - "cosmos.gov.v1beta1.Deposit": { + "cosmos.gov.v1beta1.WeightedVoteOption": { + "type": "object", + "properties": { + "option": { + "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "type": "string", + "enum": [ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO" + ], + "default": "VOTE_OPTION_UNSPECIFIED" + }, + "weight": { + "type": "string", + "description": "weight is the vote weight associated with the vote option." + } + }, + "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + }, + "cosmos.gov.v1.Deposit": { "type": "object", "properties": { "proposal_id": { @@ -29019,7 +29732,7 @@ }, "description": "Deposit defines an amount deposited by an account address to an active\nproposal." }, - "cosmos.gov.v1beta1.DepositParams": { + "cosmos.gov.v1.DepositParams": { "type": "object", "properties": { "min_deposit": { @@ -29045,28 +29758,90 @@ }, "description": "DepositParams defines the params for deposits on governance proposals." }, - "cosmos.gov.v1beta1.Proposal": { + "cosmos.gov.v1.Params": { "type": "object", "properties": { - "proposal_id": { + "min_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "Minimum deposit for a proposal to enter voting period." + }, + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + }, + "voting_period": { + "type": "string", + "description": "Duration of the voting period." + }, + "quorum": { + "type": "string", + "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." + }, + "threshold": { + "type": "string", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." + }, + "veto_threshold": { + "type": "string", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." + }, + "min_initial_deposit_ratio": { + "type": "string", + "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission." + }, + "burn_vote_quorum": { + "type": "boolean", + "title": "burn deposits if a proposal does not meet quorum" + }, + "burn_proposal_deposit_prevote": { + "type": "boolean", + "title": "burn deposits if the proposal does not enter voting period" + }, + "burn_vote_veto": { + "type": "boolean", + "title": "burn deposits if quorum with vote type no_veto is met" + } + }, + "description": "Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47" + }, + "cosmos.gov.v1.Proposal": { + "type": "object", + "properties": { + "id": { "type": "string", "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." + "description": "id defines the unique id of the proposal." }, - "content": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "messages are the arbitrary messages to be executed if the proposal passes." }, "status": { "description": "status defines the proposal status.", @@ -29085,21 +29860,21 @@ "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", "type": "object", "properties": { - "yes": { + "yes_count": { "type": "string", - "description": "yes is the number of yes votes on a proposal." + "description": "yes_count is the number of yes votes on a proposal." }, - "abstain": { + "abstain_count": { "type": "string", - "description": "abstain is the number of abstain votes on a proposal." + "description": "abstain_count is the number of abstain votes on a proposal." }, - "no": { + "no_count": { "type": "string", - "description": "no is the number of no votes on a proposal." + "description": "no_count is the number of no votes on a proposal." }, - "no_with_veto": { + "no_with_veto_count": { "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." + "description": "no_with_veto_count is the number of no with veto votes on a proposal." } } }, @@ -29138,11 +29913,30 @@ "type": "string", "format": "date-time", "description": "voting_end_time is the end time of voting on a proposal." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata attached to the proposal." + }, + "title": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "title is the title of the proposal" + }, + "summary": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "summary is a short summary of the proposal" + }, + "proposer": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "Proposer is the address of the proposal sumbitter" } }, "description": "Proposal defines the core field members of a governance proposal." }, - "cosmos.gov.v1beta1.ProposalStatus": { + "cosmos.gov.v1.ProposalStatus": { "type": "string", "enum": [ "PROPOSAL_STATUS_UNSPECIFIED", @@ -29155,7 +29949,7 @@ "default": "PROPOSAL_STATUS_UNSPECIFIED", "description": "ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed." }, - "cosmos.gov.v1beta1.QueryDepositResponse": { + "cosmos.gov.v1.QueryDepositResponse": { "type": "object", "properties": { "deposit": { @@ -29192,7 +29986,7 @@ }, "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." }, - "cosmos.gov.v1beta1.QueryDepositsResponse": { + "cosmos.gov.v1.QueryDepositsResponse": { "type": "object", "properties": { "deposits": { @@ -29249,11 +30043,11 @@ }, "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." }, - "cosmos.gov.v1beta1.QueryParamsResponse": { + "cosmos.gov.v1.QueryParamsResponse": { "type": "object", "properties": { "voting_params": { - "description": "voting_params defines the parameters related to voting.", + "description": "Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.", "type": "object", "properties": { "voting_period": { @@ -29263,7 +30057,7 @@ } }, "deposit_params": { - "description": "deposit_params defines the parameters related to deposit.", + "description": "Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.", "type": "object", "properties": { "min_deposit": { @@ -29289,54 +30083,113 @@ } }, "tally_params": { - "description": "tally_params defines the parameters related to tally.", + "description": "Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.", "type": "object", "properties": { "quorum": { "type": "string", - "format": "byte", "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." }, "threshold": { "type": "string", - "format": "byte", "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." }, "veto_threshold": { "type": "string", - "format": "byte", "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." } } + }, + "params": { + "description": "params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47", + "type": "object", + "properties": { + "min_deposit": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "description": "Minimum deposit for a proposal to enter voting period." + }, + "max_deposit_period": { + "type": "string", + "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + }, + "voting_period": { + "type": "string", + "description": "Duration of the voting period." + }, + "quorum": { + "type": "string", + "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." + }, + "threshold": { + "type": "string", + "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." + }, + "veto_threshold": { + "type": "string", + "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." + }, + "min_initial_deposit_ratio": { + "type": "string", + "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission." + }, + "burn_vote_quorum": { + "type": "boolean", + "title": "burn deposits if a proposal does not meet quorum" + }, + "burn_proposal_deposit_prevote": { + "type": "boolean", + "title": "burn deposits if the proposal does not enter voting period" + }, + "burn_vote_veto": { + "type": "boolean", + "title": "burn deposits if quorum with vote type no_veto is met" + } + } } }, "description": "QueryParamsResponse is the response type for the Query/Params RPC method." }, - "cosmos.gov.v1beta1.QueryProposalResponse": { + "cosmos.gov.v1.QueryProposalResponse": { "type": "object", "properties": { "proposal": { "type": "object", "properties": { - "proposal_id": { + "id": { "type": "string", "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." + "description": "id defines the unique id of the proposal." }, - "content": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "messages are the arbitrary messages to be executed if the proposal passes." }, "status": { "description": "status defines the proposal status.", @@ -29355,21 +30208,21 @@ "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", "type": "object", "properties": { - "yes": { + "yes_count": { "type": "string", - "description": "yes is the number of yes votes on a proposal." + "description": "yes_count is the number of yes votes on a proposal." }, - "abstain": { + "abstain_count": { "type": "string", - "description": "abstain is the number of abstain votes on a proposal." + "description": "abstain_count is the number of abstain votes on a proposal." }, - "no": { + "no_count": { "type": "string", - "description": "no is the number of no votes on a proposal." + "description": "no_count is the number of no votes on a proposal." }, - "no_with_veto": { + "no_with_veto_count": { "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." + "description": "no_with_veto_count is the number of no with veto votes on a proposal." } } }, @@ -29408,6 +30261,25 @@ "type": "string", "format": "date-time", "description": "voting_end_time is the end time of voting on a proposal." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata attached to the proposal." + }, + "title": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "title is the title of the proposal" + }, + "summary": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "summary is a short summary of the proposal" + }, + "proposer": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "Proposer is the address of the proposal sumbitter" } }, "description": "Proposal defines the core field members of a governance proposal." @@ -29415,7 +30287,7 @@ }, "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." }, - "cosmos.gov.v1beta1.QueryProposalsResponse": { + "cosmos.gov.v1.QueryProposalsResponse": { "type": "object", "properties": { "proposals": { @@ -29423,25 +30295,29 @@ "items": { "type": "object", "properties": { - "proposal_id": { + "id": { "type": "string", "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." + "description": "id defines the unique id of the proposal." }, - "content": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "messages are the arbitrary messages to be executed if the proposal passes." }, "status": { "description": "status defines the proposal status.", @@ -29460,21 +30336,21 @@ "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", "type": "object", "properties": { - "yes": { + "yes_count": { "type": "string", - "description": "yes is the number of yes votes on a proposal." + "description": "yes_count is the number of yes votes on a proposal." }, - "abstain": { + "abstain_count": { "type": "string", - "description": "abstain is the number of abstain votes on a proposal." + "description": "abstain_count is the number of abstain votes on a proposal." }, - "no": { + "no_count": { "type": "string", - "description": "no is the number of no votes on a proposal." + "description": "no_count is the number of no votes on a proposal." }, - "no_with_veto": { + "no_with_veto_count": { "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." + "description": "no_with_veto_count is the number of no with veto votes on a proposal." } } }, @@ -29513,6 +30389,25 @@ "type": "string", "format": "date-time", "description": "voting_end_time is the end time of voting on a proposal." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata attached to the proposal." + }, + "title": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "title is the title of the proposal" + }, + "summary": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "summary is a short summary of the proposal" + }, + "proposer": { + "type": "string", + "description": "Since: cosmos-sdk 0.47", + "title": "Proposer is the address of the proposal sumbitter" } }, "description": "Proposal defines the core field members of a governance proposal." @@ -29538,35 +30433,35 @@ }, "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." }, - "cosmos.gov.v1beta1.QueryTallyResultResponse": { + "cosmos.gov.v1.QueryTallyResultResponse": { "type": "object", "properties": { "tally": { "description": "tally defines the requested tally.", "type": "object", "properties": { - "yes": { + "yes_count": { "type": "string", - "description": "yes is the number of yes votes on a proposal." + "description": "yes_count is the number of yes votes on a proposal." }, - "abstain": { + "abstain_count": { "type": "string", - "description": "abstain is the number of abstain votes on a proposal." + "description": "abstain_count is the number of abstain votes on a proposal." }, - "no": { + "no_count": { "type": "string", - "description": "no is the number of no votes on a proposal." + "description": "no_count is the number of no votes on a proposal." }, - "no_with_veto": { + "no_with_veto_count": { "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." + "description": "no_with_veto_count is the number of no with veto votes on a proposal." } } } }, "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." }, - "cosmos.gov.v1beta1.QueryVoteResponse": { + "cosmos.gov.v1.QueryVoteResponse": { "type": "object", "properties": { "vote": { @@ -29578,20 +30473,8 @@ "description": "proposal_id defines the unique id of the proposal." }, "voter": { - "type": "string", - "description": "voter is the voter address of the proposal." - }, - "option": { - "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" + "type": "string", + "description": "voter is the voter address of the proposal." }, "options": { "type": "array", @@ -29615,9 +30498,13 @@ "description": "weight is the vote weight associated with the vote option." } }, - "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + "description": "WeightedVoteOption defines a unit of vote for vote split." }, - "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" + "description": "options is the weighted vote options." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata to attached to the vote." } }, "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." @@ -29625,7 +30512,7 @@ }, "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." }, - "cosmos.gov.v1beta1.QueryVotesResponse": { + "cosmos.gov.v1.QueryVotesResponse": { "type": "object", "properties": { "votes": { @@ -29642,18 +30529,6 @@ "type": "string", "description": "voter is the voter address of the proposal." }, - "option": { - "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, "options": { "type": "array", "items": { @@ -29676,9 +30551,13 @@ "description": "weight is the vote weight associated with the vote option." } }, - "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + "description": "WeightedVoteOption defines a unit of vote for vote split." }, - "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" + "description": "options is the weighted vote options." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata to attached to the vote." } }, "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." @@ -29704,50 +30583,47 @@ }, "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." }, - "cosmos.gov.v1beta1.TallyParams": { + "cosmos.gov.v1.TallyParams": { "type": "object", "properties": { "quorum": { "type": "string", - "format": "byte", "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." }, "threshold": { "type": "string", - "format": "byte", "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." }, "veto_threshold": { "type": "string", - "format": "byte", "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." } }, "description": "TallyParams defines the params for tallying votes on governance proposals." }, - "cosmos.gov.v1beta1.TallyResult": { + "cosmos.gov.v1.TallyResult": { "type": "object", "properties": { - "yes": { + "yes_count": { "type": "string", - "description": "yes is the number of yes votes on a proposal." + "description": "yes_count is the number of yes votes on a proposal." }, - "abstain": { + "abstain_count": { "type": "string", - "description": "abstain is the number of abstain votes on a proposal." + "description": "abstain_count is the number of abstain votes on a proposal." }, - "no": { + "no_count": { "type": "string", - "description": "no is the number of no votes on a proposal." + "description": "no_count is the number of no votes on a proposal." }, - "no_with_veto": { + "no_with_veto_count": { "type": "string", - "description": "no_with_veto is the number of no with veto votes on a proposal." + "description": "no_with_veto_count is the number of no with veto votes on a proposal." } }, "description": "TallyResult defines a standard tally for a governance proposal." }, - "cosmos.gov.v1beta1.Vote": { + "cosmos.gov.v1.Vote": { "type": "object", "properties": { "proposal_id": { @@ -29759,18 +30635,6 @@ "type": "string", "description": "voter is the voter address of the proposal." }, - "option": { - "description": "Deprecated: Prefer to use `options` instead. This field is set in queries\nif and only if `len(options) == 1` and that option has weight 1. In all\nother cases, this field will default to VOTE_OPTION_UNSPECIFIED.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, "options": { "type": "array", "items": { @@ -29793,14 +30657,18 @@ "description": "weight is the vote weight associated with the vote option." } }, - "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + "description": "WeightedVoteOption defines a unit of vote for vote split." }, - "description": "options is the weighted vote options.\n\nSince: cosmos-sdk 0.43" + "description": "options is the weighted vote options." + }, + "metadata": { + "type": "string", + "description": "metadata is any arbitrary metadata to attached to the vote." } }, "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." }, - "cosmos.gov.v1beta1.VoteOption": { + "cosmos.gov.v1.VoteOption": { "type": "string", "enum": [ "VOTE_OPTION_UNSPECIFIED", @@ -29812,7 +30680,7 @@ "default": "VOTE_OPTION_UNSPECIFIED", "description": "VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option." }, - "cosmos.gov.v1beta1.VotingParams": { + "cosmos.gov.v1.VotingParams": { "type": "object", "properties": { "voting_period": { @@ -29822,7 +30690,7 @@ }, "description": "VotingParams defines the params for voting on governance proposals." }, - "cosmos.gov.v1beta1.WeightedVoteOption": { + "cosmos.gov.v1.WeightedVoteOption": { "type": "object", "properties": { "option": { @@ -29842,228 +30710,780 @@ "description": "weight is the vote weight associated with the vote option." } }, - "description": "WeightedVoteOption defines a unit of vote for vote split.\n\nSince: cosmos-sdk 0.43" + "description": "WeightedVoteOption defines a unit of vote for vote split." }, - "cosmos.gov.v1.Deposit": { + "cosmos.slashing.v1beta1.Params": { "type": "object", "properties": { - "proposal_id": { + "signed_blocks_window": { + "type": "string", + "format": "int64" + }, + "min_signed_per_window": { + "type": "string", + "format": "byte" + }, + "downtime_jail_duration": { + "type": "string" + }, + "slash_fraction_double_sign": { + "type": "string", + "format": "byte" + }, + "slash_fraction_downtime": { + "type": "string", + "format": "byte" + } + }, + "description": "Params represents the parameters used for by the slashing module." + }, + "cosmos.slashing.v1beta1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "type": "object", + "properties": { + "signed_blocks_window": { + "type": "string", + "format": "int64" + }, + "min_signed_per_window": { + "type": "string", + "format": "byte" + }, + "downtime_jail_duration": { + "type": "string" + }, + "slash_fraction_double_sign": { + "type": "string", + "format": "byte" + }, + "slash_fraction_downtime": { + "type": "string", + "format": "byte" + } + }, + "description": "Params represents the parameters used for by the slashing module." + } + }, + "title": "QueryParamsResponse is the response type for the Query/Params RPC method" + }, + "cosmos.slashing.v1beta1.QuerySigningInfoResponse": { + "type": "object", + "properties": { + "val_signing_info": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "start_height": { + "type": "string", + "format": "int64", + "title": "Height at which validator was first a candidate OR was unjailed" + }, + "index_offset": { + "type": "string", + "format": "int64", + "description": "Index which is incremented each time the validator was a bonded\nin a block and may have signed a precommit or not. This in conjunction with the\n`SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`." + }, + "jailed_until": { + "type": "string", + "format": "date-time", + "description": "Timestamp until which the validator is jailed due to liveness downtime." + }, + "tombstoned": { + "type": "boolean", + "description": "Whether or not a validator has been tombstoned (killed out of validator set). It is set\nonce the validator commits an equivocation or for any other configured misbehiavor." + }, + "missed_blocks_counter": { + "type": "string", + "format": "int64", + "description": "A counter kept to avoid unnecessary array reads.\nNote that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`." + } + }, + "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.", + "title": "val_signing_info is the signing info of requested val cons address" + } + }, + "title": "QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod" + }, + "cosmos.slashing.v1beta1.QuerySigningInfosResponse": { + "type": "object", + "properties": { + "info": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "start_height": { + "type": "string", + "format": "int64", + "title": "Height at which validator was first a candidate OR was unjailed" + }, + "index_offset": { + "type": "string", + "format": "int64", + "description": "Index which is incremented each time the validator was a bonded\nin a block and may have signed a precommit or not. This in conjunction with the\n`SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`." + }, + "jailed_until": { + "type": "string", + "format": "date-time", + "description": "Timestamp until which the validator is jailed due to liveness downtime." + }, + "tombstoned": { + "type": "boolean", + "description": "Whether or not a validator has been tombstoned (killed out of validator set). It is set\nonce the validator commits an equivocation or for any other configured misbehiavor." + }, + "missed_blocks_counter": { + "type": "string", + "format": "int64", + "description": "A counter kept to avoid unnecessary array reads.\nNote that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`." + } + }, + "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." + }, + "title": "info is the signing info of all validators" + }, + "pagination": { + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + } + }, + "title": "QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod" + }, + "cosmos.slashing.v1beta1.ValidatorSigningInfo": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "start_height": { + "type": "string", + "format": "int64", + "title": "Height at which validator was first a candidate OR was unjailed" + }, + "index_offset": { + "type": "string", + "format": "int64", + "description": "Index which is incremented each time the validator was a bonded\nin a block and may have signed a precommit or not. This in conjunction with the\n`SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`." + }, + "jailed_until": { + "type": "string", + "format": "date-time", + "description": "Timestamp until which the validator is jailed due to liveness downtime." + }, + "tombstoned": { + "type": "boolean", + "description": "Whether or not a validator has been tombstoned (killed out of validator set). It is set\nonce the validator commits an equivocation or for any other configured misbehiavor." + }, + "missed_blocks_counter": { + "type": "string", + "format": "int64", + "description": "A counter kept to avoid unnecessary array reads.\nNote that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`." + } + }, + "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." + }, + "cosmos.base.abci.v1beta1.ABCIMessageLog": { + "type": "object", + "properties": { + "msg_index": { + "type": "integer", + "format": "int64" + }, + "log": { + "type": "string" + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "description": "Events contains a slice of Event objects that were emitted during some\nexecution." + } + }, + "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." + }, + "cosmos.base.abci.v1beta1.Attribute": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + }, + "cosmos.base.abci.v1beta1.GasInfo": { + "type": "object", + "properties": { + "gas_wanted": { "type": "string", "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." + "description": "GasWanted is the maximum units of work we allow this tx to perform." + }, + "gas_used": { + "type": "string", + "format": "uint64", + "description": "GasUsed is the amount of gas actually consumed." + } + }, + "description": "GasInfo defines tx execution gas context." + }, + "cosmos.base.abci.v1beta1.Result": { + "type": "object", + "properties": { + "data": { + "type": "string", + "format": "byte", + "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL." + }, + "log": { + "type": "string", + "description": "Log contains the log information from message or handler execution." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." + }, + "description": "Events contains a slice of Event objects that were emitted during message\nor handler execution." + }, + "msg_responses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46" + } + }, + "description": "Result is the union of ResponseFormat and ResponseCheckTx." + }, + "cosmos.base.abci.v1beta1.StringEvent": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "cosmos.base.abci.v1beta1.TxResponse": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64", + "title": "The block height" + }, + "txhash": { + "type": "string", + "description": "The transaction hash." + }, + "codespace": { + "type": "string", + "title": "Namespace for the Code" + }, + "code": { + "type": "integer", + "format": "int64", + "description": "Response code." + }, + "data": { + "type": "string", + "description": "Result bytes, if any." + }, + "raw_log": { + "type": "string", + "description": "The output of the application's logger (raw string). May be\nnon-deterministic." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "msg_index": { + "type": "integer", + "format": "int64" + }, + "log": { + "type": "string" + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "description": "Events contains a slice of Event objects that were emitted during some\nexecution." + } + }, + "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." + }, + "description": "The output of the application's logger (typed). May be non-deterministic." + }, + "info": { + "type": "string", + "description": "Additional information. May be non-deterministic." + }, + "gas_wanted": { + "type": "string", + "format": "int64", + "description": "Amount of gas requested for transaction." + }, + "gas_used": { + "type": "string", + "format": "int64", + "description": "Amount of gas consumed by transaction." + }, + "tx": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "depositor": { + "timestamp": { "type": "string", - "description": "depositor defines the deposit addresses from the proposals." + "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." }, - "amount": { + "events": { "type": "array", "items": { "type": "object", "properties": { - "denom": { + "type": { "type": "string" }, - "amount": { - "type": "string" + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } } }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." }, - "description": "amount to be deposited by depositor." + "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" } }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." + "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." }, - "cosmos.gov.v1.DepositParams": { + "cosmos.crypto.multisig.v1beta1.CompactBitArray": { "type": "object", "properties": { - "min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum deposit for a proposal to enter voting period." + "extra_bits_stored": { + "type": "integer", + "format": "int64" }, - "max_deposit_period": { + "elems": { "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." + "format": "byte" } }, - "description": "DepositParams defines the params for deposits on governance proposals." + "description": "CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage." }, - "cosmos.gov.v1.Params": { + "cosmos.tx.signing.v1beta1.SignMode": { + "type": "string", + "enum": [ + "SIGN_MODE_UNSPECIFIED", + "SIGN_MODE_DIRECT", + "SIGN_MODE_TEXTUAL", + "SIGN_MODE_DIRECT_AUX", + "SIGN_MODE_LEGACY_AMINO_JSON", + "SIGN_MODE_EIP_191" + ], + "default": "SIGN_MODE_UNSPECIFIED", + "description": "SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT. It is currently not supported.\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`. It also allows\nfor adding Tips in transactions.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2" + }, + "cosmos.tx.v1beta1.AuthInfo": { "type": "object", "properties": { - "min_deposit": { + "signer_infos": { "type": "array", "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "$ref": "#/definitions/cosmos.tx.v1beta1.SignerInfo" }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." - }, - "voting_period": { - "type": "string", - "description": "Duration of the voting period." - }, - "quorum": { - "type": "string", - "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." - }, - "threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." - }, - "min_initial_deposit_ratio": { - "type": "string", - "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission." - }, - "proposal_cancel_ratio": { - "type": "string", - "description": "The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50" - }, - "proposal_cancel_dest": { - "type": "string", - "description": "The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_voting_period": { - "type": "string", - "description": "Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50" + "description": "signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee." }, - "expedited_min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "fee": { + "description": "Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.", + "type": "object", + "properties": { + "amount": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "amount": { - "type": "string" - } + "title": "amount is the amount of coins to be paid as a fee" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum expedited deposit for a proposal to enter voting period." - }, - "burn_vote_quorum": { - "type": "boolean", - "title": "burn deposits if a proposal does not meet quorum" - }, - "burn_proposal_deposit_prevote": { - "type": "boolean", - "title": "burn deposits if the proposal does not enter voting period" + "gas_limit": { + "type": "string", + "format": "uint64", + "title": "gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs" + }, + "payer": { + "type": "string", + "description": "if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction." + }, + "granter": { + "type": "string", + "title": "if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail" + } + } }, - "burn_vote_veto": { - "type": "boolean", - "title": "burn deposits if quorum with vote type no_veto is met" + "tip": { + "description": "Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46", + "type": "object", + "properties": { + "amount": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + }, + "title": "amount is the amount of the tip" + }, + "tipper": { + "type": "string", + "title": "tipper is the address of the account paying for the tip" + } + } } }, - "description": "Params defines the parameters for the x/gov module.\n\nSince: cosmos-sdk 0.47" + "description": "AuthInfo describes the fee and signer modes that are used to sign a\ntransaction." }, - "cosmos.gov.v1.Proposal": { + "cosmos.tx.v1beta1.BroadcastMode": { + "type": "string", + "enum": [ + "BROADCAST_MODE_UNSPECIFIED", + "BROADCAST_MODE_BLOCK", + "BROADCAST_MODE_SYNC", + "BROADCAST_MODE_ASYNC" + ], + "default": "BROADCAST_MODE_UNSPECIFIED", + "description": "BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for\na CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns\nimmediately." + }, + "cosmos.tx.v1beta1.BroadcastTxRequest": { "type": "object", "properties": { - "id": { + "tx_bytes": { "type": "string", - "format": "uint64", - "description": "id defines the unique id of the proposal." - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "messages are the arbitrary messages to be executed if the proposal passes." + "format": "byte", + "description": "tx_bytes is the raw transaction." }, - "status": { - "description": "status defines the proposal status.", + "mode": { "type": "string", "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" + "BROADCAST_MODE_UNSPECIFIED", + "BROADCAST_MODE_BLOCK", + "BROADCAST_MODE_SYNC", + "BROADCAST_MODE_ASYNC" ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "default": "BROADCAST_MODE_UNSPECIFIED", + "description": "BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for\na CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns\nimmediately." + } + }, + "description": "BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method." + }, + "cosmos.tx.v1beta1.BroadcastTxResponse": { + "type": "object", + "properties": { + "tx_response": { "type": "object", "properties": { - "yes_count": { + "height": { "type": "string", - "description": "yes_count is the number of yes votes on a proposal." + "format": "int64", + "title": "The block height" }, - "abstain_count": { + "txhash": { "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." + "description": "The transaction hash." }, - "no_count": { + "codespace": { "type": "string", - "description": "no_count is the number of no votes on a proposal." + "title": "Namespace for the Code" }, - "no_with_veto_count": { + "code": { + "type": "integer", + "format": "int64", + "description": "Response code." + }, + "data": { "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." + "description": "Result bytes, if any." + }, + "raw_log": { + "type": "string", + "description": "The output of the application's logger (raw string). May be\nnon-deterministic." + }, + "logs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "msg_index": { + "type": "integer", + "format": "int64" + }, + "log": { + "type": "string" + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "description": "Events contains a slice of Event objects that were emitted during some\nexecution." + } + }, + "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." + }, + "description": "The output of the application's logger (typed). May be non-deterministic." + }, + "info": { + "type": "string", + "description": "Additional information. May be non-deterministic." + }, + "gas_wanted": { + "type": "string", + "format": "int64", + "description": "Amount of gas requested for transaction." + }, + "gas_used": { + "type": "string", + "format": "int64", + "description": "Amount of gas consumed by transaction." + }, + "tx": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "timestamp": { + "type": "string", + "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." + }, + "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" } - } - }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." - }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." - }, - "total_deposit": { + }, + "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." + } + }, + "description": "BroadcastTxResponse is the response type for the\nService.BroadcastTx method." + }, + "cosmos.tx.v1beta1.Fee": { + "type": "object", + "properties": { + "amount": { "type": "array", "items": { "type": "object", @@ -30077,591 +31497,706 @@ }, "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "description": "total_deposit is the total deposit on the proposal." - }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." - }, - "voting_end_time": { - "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." - }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3" - }, - "title": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "title is the title of the proposal" + "title": "amount is the amount of coins to be paid as a fee" }, - "summary": { + "gas_limit": { "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "summary is a short summary of the proposal" + "format": "uint64", + "title": "gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs" }, - "proposer": { + "payer": { "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "proposer is the address of the proposal sumbitter" - }, - "expedited": { - "type": "boolean", - "description": "Since: cosmos-sdk 0.50", - "title": "expedited defines if the proposal is expedited" + "description": "if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction." }, - "failed_reason": { + "granter": { "type": "string", - "description": "Since: cosmos-sdk 0.50", - "title": "failed_reason defines the reason why the proposal failed" - } - }, - "description": "Proposal defines the core field members of a governance proposal." - }, - "cosmos.gov.v1.ProposalStatus": { - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED", - "description": "ProposalStatus enumerates the valid statuses of a proposal.\n\n - PROPOSAL_STATUS_UNSPECIFIED: PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status.\n - PROPOSAL_STATUS_DEPOSIT_PERIOD: PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit\nperiod.\n - PROPOSAL_STATUS_VOTING_PERIOD: PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting\nperiod.\n - PROPOSAL_STATUS_PASSED: PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has\npassed.\n - PROPOSAL_STATUS_REJECTED: PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has\nbeen rejected.\n - PROPOSAL_STATUS_FAILED: PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has\nfailed." - }, - "cosmos.gov.v1.QueryConstitutionResponse": { - "type": "object", - "properties": { - "constitution": { - "type": "string" + "title": "if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail" } }, - "title": "QueryConstitutionResponse is the response type for the Query/Constitution RPC method" + "description": "Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool." }, - "cosmos.gov.v1.QueryDepositResponse": { + "cosmos.tx.v1beta1.GetBlockWithTxsResponse": { "type": "object", "properties": { - "deposit": { + "txs": { + "type": "array", + "items": { + "$ref": "#/definitions/cosmos.tx.v1beta1.Tx" + }, + "description": "txs are the transactions in the block." + }, + "block_id": { "type": "object", "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "depositor": { + "hash": { "type": "string", - "description": "depositor defines the deposit addresses from the proposals." + "format": "byte" }, - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "hash": { + "type": "string", + "format": "byte" + } }, - "description": "amount to be deposited by depositor." + "title": "PartsetHeader" } }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." - } - }, - "description": "QueryDepositResponse is the response type for the Query/Deposit RPC method." - }, - "cosmos.gov.v1.QueryDepositsResponse": { - "type": "object", - "properties": { - "deposits": { - "type": "array", - "items": { - "type": "object", - "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "depositor": { - "type": "string", - "description": "depositor defines the deposit addresses from the proposals." - }, - "amount": { - "type": "array", - "items": { + "title": "BlockID" + }, + "block": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", "type": "object", "properties": { - "denom": { - "type": "string" + "block": { + "type": "string", + "format": "uint64" }, - "amount": { - "type": "string" + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "amount to be deposited by depositor." - } - }, - "description": "Deposit defines an amount deposited by an account address to an active\nproposal." - }, - "description": "deposits defines the requested deposits." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryDepositsResponse is the response type for the Query/Deposits RPC method." - }, - "cosmos.gov.v1.QueryParamsResponse": { - "type": "object", - "properties": { - "voting_params": { - "description": "Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.", - "type": "object", - "properties": { - "voting_period": { - "type": "string", - "description": "Duration of the voting period." - } - } - }, - "deposit_params": { - "description": "Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.", - "type": "object", - "properties": { - "min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." - } - } - }, - "tally_params": { - "description": "Deprecated: Prefer to use `params` instead.\ntally_params defines the parameters related to tally.", - "type": "object", - "properties": { - "quorum": { - "type": "string", - "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." - }, - "threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." - } - } - }, - "params": { - "description": "params defines all the paramaters of x/gov module.\n\nSince: cosmos-sdk 0.47", - "type": "object", - "properties": { - "min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum deposit for a proposal to enter voting period." - }, - "max_deposit_period": { - "type": "string", - "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths." - }, - "voting_period": { - "type": "string", - "description": "Duration of the voting period." - }, - "quorum": { - "type": "string", - "description": "Minimum percentage of total stake needed to vote for a result to be\n considered valid." - }, - "threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." - }, - "veto_threshold": { - "type": "string", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3." - }, - "min_initial_deposit_ratio": { - "type": "string", - "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission." - }, - "proposal_cancel_ratio": { - "type": "string", - "description": "The cancel ratio which will not be returned back to the depositors when a proposal is cancelled.\n\nSince: cosmos-sdk 0.50" - }, - "proposal_cancel_dest": { - "type": "string", - "description": "The address which will receive (proposal_cancel_ratio * deposit) proposal deposits.\nIf empty, the (proposal_cancel_ratio * deposit) proposal deposits will be burned.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_voting_period": { - "type": "string", - "description": "Duration of the voting period of an expedited proposal.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.67.\n\nSince: cosmos-sdk 0.50" - }, - "expedited_min_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "Minimum expedited deposit for a proposal to enter voting period." - }, - "burn_vote_quorum": { - "type": "boolean", - "title": "burn deposits if a proposal does not meet quorum" - }, - "burn_proposal_deposit_prevote": { - "type": "boolean", - "title": "burn deposits if the proposal does not enter voting period" - }, - "burn_vote_veto": { - "type": "boolean", - "title": "burn deposits if quorum with vote type no_veto is met" - } - } - } - }, - "description": "QueryParamsResponse is the response type for the Query/Params RPC method." - }, - "cosmos.gov.v1.QueryProposalResponse": { - "type": "object", - "properties": { - "proposal": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uint64", - "description": "id defines the unique id of the proposal." - }, - "messages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "messages are the arbitrary messages to be executed if the proposal passes." - }, - "status": { - "description": "status defines the proposal status.", - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" + } + } }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", + "last_commit": { "type": "object", "properties": { - "yes_count": { - "type": "string", - "description": "yes_count is the number of yes votes on a proposal." - }, - "abstain_count": { - "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." - }, - "no_count": { + "height": { "type": "string", - "description": "no_count is the number of no votes on a proposal." + "format": "int64" }, - "no_with_veto_count": { - "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." - } - } - }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." - }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." - }, - "total_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "round": { + "type": "integer", + "format": "int32" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "total_deposit is the total deposit on the proposal." - }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." - }, - "voting_end_time": { - "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." - }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3" - }, - "title": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "title is the title of the proposal" - }, - "summary": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "summary is a short summary of the proposal" - }, - "proposer": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "proposer is the address of the proposal sumbitter" - }, - "expedited": { - "type": "boolean", - "description": "Since: cosmos-sdk 0.50", - "title": "expedited defines if the proposal is expedited" - }, - "failed_reason": { - "type": "string", - "description": "Since: cosmos-sdk 0.50", - "title": "failed_reason defines the reason why the proposal failed" - } - }, - "description": "Proposal defines the core field members of a governance proposal." - } - }, - "description": "QueryProposalResponse is the response type for the Query/Proposal RPC method." - }, - "cosmos.gov.v1.QueryProposalsResponse": { - "type": "object", - "properties": { - "proposals": { - "type": "array", - "items": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uint64", - "description": "id defines the unique id of the proposal." - }, - "messages": { - "type": "array", - "items": { + "block_id": { "type": "object", "properties": { - "type_url": { + "hash": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "byte" }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "title": "BlockID" }, - "description": "messages are the arbitrary messages to be executed if the proposal passes." - }, - "status": { - "description": "status defines the proposal status.", - "type": "string", - "enum": [ - "PROPOSAL_STATUS_UNSPECIFIED", - "PROPOSAL_STATUS_DEPOSIT_PERIOD", - "PROPOSAL_STATUS_VOTING_PERIOD", - "PROPOSAL_STATUS_PASSED", - "PROPOSAL_STATUS_REJECTED", - "PROPOSAL_STATUS_FAILED" - ], - "default": "PROPOSAL_STATUS_UNSPECIFIED" - }, - "final_tally_result": { - "description": "final_tally_result is the final tally result of the proposal. When\nquerying a proposal via gRPC, this field is not populated until the\nproposal's voting period has ended.", - "type": "object", - "properties": { - "yes_count": { - "type": "string", - "description": "yes_count is the number of yes votes on a proposal." - }, - "abstain_count": { - "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." - }, - "no_count": { - "type": "string", - "description": "no_count is the number of no votes on a proposal." - }, - "no_with_veto_count": { - "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." - } - } - }, - "submit_time": { - "type": "string", - "format": "date-time", - "description": "submit_time is the time of proposal submission." - }, - "deposit_end_time": { - "type": "string", - "format": "date-time", - "description": "deposit_end_time is the end time for deposition." - }, - "total_deposit": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "description": "total_deposit is the total deposit on the proposal." - }, - "voting_start_time": { - "type": "string", - "format": "date-time", - "description": "voting_start_time is the starting time to vote on a proposal." - }, - "voting_end_time": { - "type": "string", - "format": "date-time", - "description": "voting_end_time is the end time of voting on a proposal." - }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the proposal.\nthe recommended format of the metadata is to be found here:\nhttps://docs.cosmos.network/v0.47/modules/gov#proposal-3" - }, - "title": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "title is the title of the proposal" - }, - "summary": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "summary is a short summary of the proposal" - }, - "proposer": { - "type": "string", - "description": "Since: cosmos-sdk 0.47", - "title": "proposer is the address of the proposal sumbitter" - }, - "expedited": { - "type": "boolean", - "description": "Since: cosmos-sdk 0.50", - "title": "expedited defines if the proposal is expedited" + "description": "CommitSig is a part of the Vote included in a Commit." + } + } }, - "failed_reason": { - "type": "string", - "description": "Since: cosmos-sdk 0.50", - "title": "failed_reason defines the reason why the proposal failed" - } - }, - "description": "Proposal defines the core field members of a governance proposal." - }, - "description": "proposals defines all the requested governance proposals." + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } }, "pagination": { - "description": "pagination defines the pagination in the response.", + "description": "pagination defines a pagination for the response.", "type": "object", "properties": { "next_key": { @@ -30677,141 +32212,316 @@ } } }, - "description": "QueryProposalsResponse is the response type for the Query/Proposals RPC\nmethod." + "description": "GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs method.\n\nSince: cosmos-sdk 0.45.2" }, - "cosmos.gov.v1.QueryTallyResultResponse": { + "cosmos.tx.v1beta1.GetTxResponse": { "type": "object", "properties": { - "tally": { - "description": "tally defines the requested tally.", + "tx": { + "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", + "description": "tx is the queried transaction." + }, + "tx_response": { "type": "object", "properties": { - "yes_count": { + "height": { "type": "string", - "description": "yes_count is the number of yes votes on a proposal." + "format": "int64", + "title": "The block height" }, - "abstain_count": { + "txhash": { "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." + "description": "The transaction hash." }, - "no_count": { + "codespace": { "type": "string", - "description": "no_count is the number of no votes on a proposal." + "title": "Namespace for the Code" }, - "no_with_veto_count": { - "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." - } - } - } - }, - "description": "QueryTallyResultResponse is the response type for the Query/Tally RPC method." - }, - "cosmos.gov.v1.QueryVoteResponse": { - "type": "object", - "properties": { - "vote": { - "type": "object", - "properties": { - "proposal_id": { + "code": { + "type": "integer", + "format": "int64", + "description": "Response code." + }, + "data": { "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." + "description": "Result bytes, if any." }, - "voter": { + "raw_log": { "type": "string", - "description": "voter is the voter address of the proposal." + "description": "The output of the application's logger (raw string). May be\nnon-deterministic." }, - "options": { + "logs": { "type": "array", "items": { "type": "object", "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" + "msg_index": { + "type": "integer", + "format": "int64" }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." + "log": { + "type": "string" + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "description": "Events contains a slice of Event objects that were emitted during some\nexecution." } }, - "description": "WeightedVoteOption defines a unit of vote for vote split." + "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." }, - "description": "options is the weighted vote options." + "description": "The output of the application's logger (typed). May be non-deterministic." }, - "metadata": { + "info": { + "type": "string", + "description": "Additional information. May be non-deterministic." + }, + "gas_wanted": { + "type": "string", + "format": "int64", + "description": "Amount of gas requested for transaction." + }, + "gas_used": { + "type": "string", + "format": "int64", + "description": "Amount of gas consumed by transaction." + }, + "tx": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "timestamp": { "type": "string", - "title": "metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5" + "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." + }, + "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" } }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." + "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." } }, - "description": "QueryVoteResponse is the response type for the Query/Vote RPC method." + "description": "GetTxResponse is the response type for the Service.GetTx method." }, - "cosmos.gov.v1.QueryVotesResponse": { + "cosmos.tx.v1beta1.GetTxsEventResponse": { "type": "object", "properties": { - "votes": { + "txs": { + "type": "array", + "items": { + "$ref": "#/definitions/cosmos.tx.v1beta1.Tx" + }, + "description": "txs is the list of queried transactions." + }, + "tx_responses": { "type": "array", "items": { "type": "object", "properties": { - "proposal_id": { + "height": { "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." + "format": "int64", + "title": "The block height" }, - "voter": { + "txhash": { "type": "string", - "description": "voter is the voter address of the proposal." + "description": "The transaction hash." }, - "options": { + "codespace": { + "type": "string", + "title": "Namespace for the Code" + }, + "code": { + "type": "integer", + "format": "int64", + "description": "Response code." + }, + "data": { + "type": "string", + "description": "Result bytes, if any." + }, + "raw_log": { + "type": "string", + "description": "The output of the application's logger (raw string). May be\nnon-deterministic." + }, + "logs": { "type": "array", "items": { "type": "object", "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" + "msg_index": { + "type": "integer", + "format": "int64" }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." + "log": { + "type": "string" + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + } + } + }, + "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + }, + "description": "Events contains a slice of Event objects that were emitted during some\nexecution." } }, - "description": "WeightedVoteOption defines a unit of vote for vote split." + "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." }, - "description": "options is the weighted vote options." + "description": "The output of the application's logger (typed). May be non-deterministic." }, - "metadata": { + "info": { + "type": "string", + "description": "Additional information. May be non-deterministic." + }, + "gas_wanted": { + "type": "string", + "format": "int64", + "description": "Amount of gas requested for transaction." + }, + "gas_used": { + "type": "string", + "format": "int64", + "description": "Amount of gas consumed by transaction." + }, + "tx": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "timestamp": { "type": "string", - "title": "metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5" + "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." + }, + "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" } }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." + "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." }, - "description": "votes defines the queried votes." + "description": "tx_responses is the list of queried TxResponses." }, "pagination": { - "description": "pagination defines the pagination in the response.", + "description": "pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.", "type": "object", "properties": { "next_key": { @@ -30825,466 +32535,562 @@ "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } - } - }, - "description": "QueryVotesResponse is the response type for the Query/Votes RPC method." - }, - "cosmos.gov.v1.TallyParams": { - "type": "object", - "properties": { - "quorum": { - "type": "string", - "description": "Minimum percentage of total stake needed to vote for a result to be\nconsidered valid." - }, - "threshold": { - "type": "string", - "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.5." }, - "veto_threshold": { + "total": { "type": "string", - "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\nvetoed. Default value: 1/3." + "format": "uint64", + "title": "total is total number of results available" } }, - "description": "TallyParams defines the params for tallying votes on governance proposals." + "description": "GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method." }, - "cosmos.gov.v1.TallyResult": { + "cosmos.tx.v1beta1.ModeInfo": { "type": "object", "properties": { - "yes_count": { - "type": "string", - "description": "yes_count is the number of yes votes on a proposal." - }, - "abstain_count": { - "type": "string", - "description": "abstain_count is the number of abstain votes on a proposal." - }, - "no_count": { - "type": "string", - "description": "no_count is the number of no votes on a proposal." + "single": { + "title": "single represents a single signer", + "type": "object", + "properties": { + "mode": { + "title": "mode is the signing mode of the single signer", + "type": "string", + "enum": [ + "SIGN_MODE_UNSPECIFIED", + "SIGN_MODE_DIRECT", + "SIGN_MODE_TEXTUAL", + "SIGN_MODE_DIRECT_AUX", + "SIGN_MODE_LEGACY_AMINO_JSON", + "SIGN_MODE_EIP_191" + ], + "default": "SIGN_MODE_UNSPECIFIED", + "description": "SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT. It is currently not supported.\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`. It also allows\nfor adding Tips in transactions.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2" + } + } }, - "no_with_veto_count": { - "type": "string", - "description": "no_with_veto_count is the number of no with veto votes on a proposal." + "multi": { + "$ref": "#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi", + "title": "multi represents a nested multisig signer" } }, - "description": "TallyResult defines a standard tally for a governance proposal." + "description": "ModeInfo describes the signing mode of a single or nested multisig signer." }, - "cosmos.gov.v1.Vote": { + "cosmos.tx.v1beta1.ModeInfo.Multi": { "type": "object", "properties": { - "proposal_id": { - "type": "string", - "format": "uint64", - "description": "proposal_id defines the unique id of the proposal." - }, - "voter": { - "type": "string", - "description": "voter is the voter address of the proposal." - }, - "options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." - } + "bitarray": { + "title": "bitarray specifies which keys within the multisig are signing", + "type": "object", + "properties": { + "extra_bits_stored": { + "type": "integer", + "format": "int64" }, - "description": "WeightedVoteOption defines a unit of vote for vote split." + "elems": { + "type": "string", + "format": "byte" + } }, - "description": "options is the weighted vote options." + "description": "CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage." }, - "metadata": { - "type": "string", - "title": "metadata is any arbitrary metadata attached to the vote.\nthe recommended format of the metadata is to be found here: https://docs.cosmos.network/v0.47/modules/gov#vote-5" - } - }, - "description": "Vote defines a vote on a governance proposal.\nA Vote consists of a proposal ID, the voter, and the vote option." - }, - "cosmos.gov.v1.VoteOption": { - "type": "string", - "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" - ], - "default": "VOTE_OPTION_UNSPECIFIED", - "description": "VoteOption enumerates the valid vote options for a given governance proposal.\n\n - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.\n - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.\n - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.\n - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.\n - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option." - }, - "cosmos.gov.v1.VotingParams": { - "type": "object", - "properties": { - "voting_period": { - "type": "string", - "description": "Duration of the voting period." + "mode_infos": { + "type": "array", + "items": { + "$ref": "#/definitions/cosmos.tx.v1beta1.ModeInfo" + }, + "title": "mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys" } }, - "description": "VotingParams defines the params for voting on governance proposals." + "title": "Multi is the mode info for a multisig public key" }, - "cosmos.gov.v1.WeightedVoteOption": { + "cosmos.tx.v1beta1.ModeInfo.Single": { "type": "object", "properties": { - "option": { - "description": "option defines the valid vote options, it must not contain duplicate vote options.", + "mode": { + "title": "mode is the signing mode of the single signer", "type": "string", "enum": [ - "VOTE_OPTION_UNSPECIFIED", - "VOTE_OPTION_YES", - "VOTE_OPTION_ABSTAIN", - "VOTE_OPTION_NO", - "VOTE_OPTION_NO_WITH_VETO" + "SIGN_MODE_UNSPECIFIED", + "SIGN_MODE_DIRECT", + "SIGN_MODE_TEXTUAL", + "SIGN_MODE_DIRECT_AUX", + "SIGN_MODE_LEGACY_AMINO_JSON", + "SIGN_MODE_EIP_191" ], - "default": "VOTE_OPTION_UNSPECIFIED" - }, - "weight": { - "type": "string", - "description": "weight is the vote weight associated with the vote option." + "default": "SIGN_MODE_UNSPECIFIED", + "description": "SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT. It is currently not supported.\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`. It also allows\nfor adding Tips in transactions.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2" } }, - "description": "WeightedVoteOption defines a unit of vote for vote split." + "title": "Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture" }, - "cosmos.slashing.v1beta1.Params": { + "cosmos.tx.v1beta1.OrderBy": { + "type": "string", + "enum": [ + "ORDER_BY_UNSPECIFIED", + "ORDER_BY_ASC", + "ORDER_BY_DESC" + ], + "default": "ORDER_BY_UNSPECIFIED", + "description": "- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order", + "title": "OrderBy defines the sorting order" + }, + "cosmos.tx.v1beta1.SignerInfo": { "type": "object", "properties": { - "signed_blocks_window": { - "type": "string", - "format": "int64" - }, - "min_signed_per_window": { - "type": "string", - "format": "byte" + "public_key": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "downtime_jail_duration": { - "type": "string" + "mode_info": { + "$ref": "#/definitions/cosmos.tx.v1beta1.ModeInfo", + "title": "mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's" }, - "slash_fraction_double_sign": { + "sequence": { "type": "string", - "format": "byte" + "format": "uint64", + "description": "sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks." + } + }, + "description": "SignerInfo describes the public key and signing mode of a single top-level\nsigner." + }, + "cosmos.tx.v1beta1.SimulateRequest": { + "type": "object", + "properties": { + "tx": { + "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", + "description": "tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead." }, - "slash_fraction_downtime": { + "tx_bytes": { "type": "string", - "format": "byte" + "format": "byte", + "description": "tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43" } }, - "description": "Params represents the parameters used for by the slashing module." + "description": "SimulateRequest is the request type for the Service.Simulate\nRPC method." }, - "cosmos.slashing.v1beta1.QueryParamsResponse": { + "cosmos.tx.v1beta1.SimulateResponse": { "type": "object", "properties": { - "params": { + "gas_info": { + "description": "gas_info is the information about gas used in the simulation.", "type": "object", "properties": { - "signed_blocks_window": { + "gas_wanted": { "type": "string", - "format": "int64" + "format": "uint64", + "description": "GasWanted is the maximum units of work we allow this tx to perform." }, - "min_signed_per_window": { + "gas_used": { "type": "string", - "format": "byte" - }, - "downtime_jail_duration": { - "type": "string" - }, - "slash_fraction_double_sign": { + "format": "uint64", + "description": "GasUsed is the amount of gas actually consumed." + } + } + }, + "result": { + "description": "result is the result of the simulation.", + "type": "object", + "properties": { + "data": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL." }, - "slash_fraction_downtime": { + "log": { "type": "string", - "format": "byte" + "description": "Log contains the log information from message or handler execution." + }, + "events": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + } + } + }, + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." + }, + "description": "Events contains a slice of Event objects that were emitted during message\nor handler execution." + }, + "msg_responses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46" } + } + } + }, + "description": "SimulateResponse is the response type for the\nService.SimulateRPC method." + }, + "cosmos.tx.v1beta1.Tip": { + "type": "object", + "properties": { + "amount": { + "type": "array", + "items": { + "type": "object", + "properties": { + "denom": { + "type": "string" + }, + "amount": { + "type": "string" + } + }, + "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." }, - "description": "Params represents the parameters used for by the slashing module." + "title": "amount is the amount of the tip" + }, + "tipper": { + "type": "string", + "title": "tipper is the address of the account paying for the tip" } }, - "title": "QueryParamsResponse is the response type for the Query/Params RPC method" + "description": "Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46" }, - "cosmos.slashing.v1beta1.QuerySigningInfoResponse": { + "cosmos.tx.v1beta1.Tx": { "type": "object", "properties": { - "val_signing_info": { + "body": { + "title": "body is the processable content of the transaction", "type": "object", "properties": { - "address": { - "type": "string" - }, - "start_height": { - "type": "string", - "format": "int64", - "title": "Height at which validator was first a candidate OR was un-jailed" + "messages": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction." }, - "index_offset": { + "memo": { "type": "string", - "format": "int64", - "description": "Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap." + "description": "memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122)." }, - "jailed_until": { + "timeout_height": { "type": "string", - "format": "date-time", - "description": "Timestamp until which the validator is jailed due to liveness downtime." + "format": "uint64", + "title": "timeout is the block height after which this transaction will not\nbe processed by the chain" }, - "tombstoned": { - "type": "boolean", - "description": "Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior." + "extension_options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected" }, - "missed_blocks_counter": { - "type": "string", - "format": "int64", - "description": "A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap." + "non_critical_extension_options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored" } }, - "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity.", - "title": "val_signing_info is the signing info of requested val cons address" + "description": "TxBody is the body of a transaction that all signers sign over." + }, + "auth_info": { + "$ref": "#/definitions/cosmos.tx.v1beta1.AuthInfo", + "title": "auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee" + }, + "signatures": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position." } }, - "title": "QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC\nmethod" + "description": "Tx is the standard type used for broadcasting transactions." }, - "cosmos.slashing.v1beta1.QuerySigningInfosResponse": { + "cosmos.tx.v1beta1.TxBody": { "type": "object", "properties": { - "info": { + "messages": { "type": "array", "items": { "type": "object", "properties": { - "address": { - "type": "string" - }, - "start_height": { + "type_url": { "type": "string", - "format": "int64", - "title": "Height at which validator was first a candidate OR was un-jailed" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "index_offset": { + "value": { "type": "string", - "format": "int64", - "description": "Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap." - }, - "jailed_until": { + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "description": "messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction." + }, + "memo": { + "type": "string", + "description": "memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122)." + }, + "timeout_height": { + "type": "string", + "format": "uint64", + "title": "timeout is the block height after which this transaction will not\nbe processed by the chain" + }, + "extension_options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { "type": "string", - "format": "date-time", - "description": "Timestamp until which the validator is jailed due to liveness downtime." - }, - "tombstoned": { - "type": "boolean", - "description": "Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior." + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "missed_blocks_counter": { + "value": { "type": "string", - "format": "int64", - "description": "A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap." + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "title": "info is the signing info of all validators" + "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected" }, - "pagination": { - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "non_critical_extension_options": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored" } }, - "title": "QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC\nmethod" + "description": "TxBody is the body of a transaction that all signers sign over." }, - "cosmos.slashing.v1beta1.ValidatorSigningInfo": { + "cosmos.tx.v1beta1.TxDecodeAminoRequest": { "type": "object", "properties": { - "address": { - "type": "string" - }, - "start_height": { - "type": "string", - "format": "int64", - "title": "Height at which validator was first a candidate OR was un-jailed" - }, - "index_offset": { - "type": "string", - "format": "int64", - "description": "Index which is incremented every time a validator is bonded in a block and\n_may_ have signed a pre-commit or not. This in conjunction with the\nsigned_blocks_window param determines the index in the missed block bitmap." - }, - "jailed_until": { - "type": "string", - "format": "date-time", - "description": "Timestamp until which the validator is jailed due to liveness downtime." - }, - "tombstoned": { - "type": "boolean", - "description": "Whether or not a validator has been tombstoned (killed out of validator\nset). It is set once the validator commits an equivocation or for any other\nconfigured misbehavior." - }, - "missed_blocks_counter": { + "amino_binary": { "type": "string", - "format": "int64", - "description": "A counter of missed (unsigned) blocks. It is used to avoid unnecessary\nreads in the missed block bitmap." + "format": "byte" } }, - "description": "ValidatorSigningInfo defines a validator's signing info for monitoring their\nliveness activity." + "description": "TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" }, - "cosmos.staking.v1beta1.BondStatus": { - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED", - "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." + "cosmos.tx.v1beta1.TxDecodeAminoResponse": { + "type": "object", + "properties": { + "amino_json": { + "type": "string" + } + }, + "description": "TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" }, - "cosmos.staking.v1beta1.Commission": { + "cosmos.tx.v1beta1.TxDecodeRequest": { "type": "object", "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { + "tx_bytes": { "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." + "format": "byte", + "description": "tx_bytes is the raw transaction." } }, - "description": "Commission defines commission parameters for a given validator." + "description": "TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47" }, - "cosmos.staking.v1beta1.CommissionRates": { + "cosmos.tx.v1beta1.TxDecodeResponse": { "type": "object", "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + "tx": { + "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", + "description": "tx is the decoded transaction." } }, - "description": "CommissionRates defines the initial commission rates to be used for creating\na validator." + "description": "TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47" }, - "cosmos.staking.v1beta1.Delegation": { + "cosmos.tx.v1beta1.TxEncodeAminoRequest": { "type": "object", "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { + "amino_json": { + "type": "string" + } + }, + "description": "TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" + }, + "cosmos.tx.v1beta1.TxEncodeAminoResponse": { + "type": "object", + "properties": { + "amino_binary": { "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "shares": { + "format": "byte" + } + }, + "description": "TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" + }, + "cosmos.tx.v1beta1.TxEncodeRequest": { + "type": "object", + "properties": { + "tx": { + "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", + "description": "tx is the transaction to encode." + } + }, + "description": "TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47" + }, + "cosmos.tx.v1beta1.TxEncodeResponse": { + "type": "object", + "properties": { + "tx_bytes": { "type": "string", - "description": "shares define the delegation shares received." + "format": "byte", + "description": "tx_bytes is the encoded transaction bytes." } }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." + "description": "TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47" }, - "cosmos.staking.v1beta1.DelegationResponse": { + "tendermint.abci.Event": { "type": "object", "properties": { - "delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "shares": { - "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." + "type": { + "type": "string" }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" + "attributes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "index": { + "type": "boolean" + } }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "description": "EventAttribute is a single key-value pair, associated with an event." + } } }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." + "description": "Event allows application developers to attach additional information to\nResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.\nLater, transactions may be queried using these events." }, - "cosmos.staking.v1beta1.Description": { + "tendermint.abci.EventAttribute": { "type": "object", "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." + "key": { + "type": "string" }, - "website": { - "type": "string", - "description": "website defines an optional website link." + "value": { + "type": "string" }, - "security_contact": { + "index": { + "type": "boolean" + } + }, + "description": "EventAttribute is a single key-value pair, associated with an event." + }, + "tendermint.crypto.PublicKey": { + "type": "object", + "properties": { + "ed25519": { "type": "string", - "description": "security_contact defines an optional email for security contact." + "format": "byte" }, - "details": { + "secp256k1": { "type": "string", - "description": "details define other optional details." + "format": "byte" } }, - "description": "Description defines a validator description." + "title": "PublicKey defines the keys available for use with Validators" }, - "cosmos.staking.v1beta1.HistoricalInfo": { + "tendermint.types.Block": { "type": "object", "properties": { "header": { @@ -31317,7 +33123,6 @@ "format": "date-time" }, "last_block_id": { - "title": "prev block info", "type": "object", "properties": { "hash": { @@ -31338,7 +33143,8 @@ }, "title": "PartsetHeader" } - } + }, + "title": "BlockID" }, "last_commit_hash": { "type": "string", @@ -31374,2814 +33180,2740 @@ "type": "string", "format": "byte", "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "valset": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" - } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - } - } - }, - "description": "HistoricalInfo contains header and validator information for a given block.\nIt is stored as part of staking module's state, which persists the `n` most\nrecent HistoricalInfo\n(`n` is set by the staking module's `historical_entries` parameter)." - }, - "cosmos.staking.v1beta1.Params": { - "type": "object", - "properties": { - "unbonding_time": { - "type": "string", - "description": "unbonding_time is the time duration of unbonding." - }, - "max_validators": { - "type": "integer", - "format": "int64", - "description": "max_validators is the maximum number of validators." - }, - "max_entries": { - "type": "integer", - "format": "int64", - "description": "max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio)." - }, - "historical_entries": { - "type": "integer", - "format": "int64", - "description": "historical_entries is the number of historical entries to persist." - }, - "bond_denom": { - "type": "string", - "description": "bond_denom defines the bondable coin denomination." - }, - "min_commission_rate": { - "type": "string", - "title": "min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators" - } - }, - "description": "Params defines the parameters for the x/staking module." - }, - "cosmos.staking.v1beta1.Pool": { - "type": "object", - "properties": { - "not_bonded_tokens": { - "type": "string" - }, - "bonded_tokens": { - "type": "string" - } - }, - "description": "Pool is used for tracking bonded and not-bonded token supply of the bond\ndenomination." - }, - "cosmos.staking.v1beta1.QueryDelegationResponse": { - "type": "object", - "properties": { - "delegation_response": { - "type": "object", - "properties": { - "delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "shares": { - "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." - }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - } - }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." - } - }, - "description": "QueryDelegationResponse is response type for the Query/Delegation RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse": { - "type": "object", - "properties": { - "delegation_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "shares": { - "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." - }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - } - }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." - }, - "description": "delegation_responses defines all the delegations' info of a delegator." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryDelegatorDelegationsResponse is response type for the\nQuery/DelegatorDelegations RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse": { - "type": "object", - "properties": { - "unbonding_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." - }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." - }, - "description": "entries are the unbonding delegation entries." - } - }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - } - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "QueryUnbondingDelegatorDelegationsResponse is response type for the\nQuery/UnbondingDelegatorDelegations RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorValidatorResponse": { - "type": "object", - "properties": { - "validator": { - "type": "object", - "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" - } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - } - }, - "description": "QueryDelegatorValidatorResponse response type for the\nQuery/DelegatorValidator RPC method." - }, - "cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." + "format": "byte" }, - "commission": { - "description": "commission defines the commission parameters.", + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { "type": "object", "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "duplicate_vote_evidence": { "type": "object", "properties": { - "rate": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." + "format": "int64" }, - "max_rate": { + "validator_power": { "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + "format": "int64" }, - "max_change_rate": { + "timestamp": { "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + "format": "date-time" } - } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." } } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - }, - "description": "validators defines the validators' info of a delegator." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } - } - }, - "description": "QueryDelegatorValidatorsResponse is response type for the\nQuery/DelegatorValidators RPC method." - }, - "cosmos.staking.v1beta1.QueryHistoricalInfoResponse": { - "type": "object", - "properties": { - "hist": { - "description": "hist defines the historical info at the given height.", + }, + "last_commit": { "type": "object", "properties": { - "header": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { + "hash": { "type": "string", - "format": "date-time" + "format": "byte" }, - "last_block_id": { - "title": "prev block info", + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" } - } - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" + }, + "title": "PartsetHeader" } }, - "description": "Header defines the structure of a block header." + "title": "BlockID" }, - "valset": { + "signatures": { "type": "array", "items": { "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", + "block_id_flag": { "type": "string", "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", - "type": "object", - "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." - }, - "details": { - "type": "string", - "description": "details define other optional details." - } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "unbonding_time": { + "validator_address": { "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", - "type": "object", - "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", - "type": "object", - "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." - }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." - } - } - }, - "update_time": { - "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } + "format": "byte" }, - "min_self_delegation": { + "timestamp": { "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" + "format": "date-time" }, - "unbonding_on_hold_ref_count": { + "signature": { "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "format": "byte" } }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." + "description": "CommitSig is a part of the Vote included in a Commit." } } - } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." } - }, - "description": "QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC\nmethod." + } }, - "cosmos.staking.v1beta1.QueryParamsResponse": { + "tendermint.types.BlockID": { "type": "object", "properties": { - "params": { - "description": "params holds all the parameters of this module.", + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { "type": "object", "properties": { - "unbonding_time": { - "type": "string", - "description": "unbonding_time is the time duration of unbonding." - }, - "max_validators": { - "type": "integer", - "format": "int64", - "description": "max_validators is the maximum number of validators." - }, - "max_entries": { - "type": "integer", - "format": "int64", - "description": "max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio)." - }, - "historical_entries": { + "total": { "type": "integer", - "format": "int64", - "description": "historical_entries is the number of historical entries to persist." - }, - "bond_denom": { - "type": "string", - "description": "bond_denom defines the bondable coin denomination." + "format": "int64" }, - "min_commission_rate": { + "hash": { "type": "string", - "title": "min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators" + "format": "byte" } - } + }, + "title": "PartsetHeader" } }, - "description": "QueryParamsResponse is response type for the Query/Params RPC method." + "title": "BlockID" + }, + "tendermint.types.BlockIDFlag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "cosmos.staking.v1beta1.QueryPoolResponse": { + "tendermint.types.Commit": { "type": "object", "properties": { - "pool": { - "description": "pool defines the pool info.", + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "not_bonded_tokens": { - "type": "string" + "hash": { + "type": "string", + "format": "byte" }, - "bonded_tokens": { - "type": "string" + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } - } - } - }, - "description": "QueryPoolResponse is response type for the Query/Pool RPC method." - }, - "cosmos.staking.v1beta1.QueryRedelegationsResponse": { - "type": "object", - "properties": { - "redelegation_responses": { + }, + "title": "BlockID" + }, + "signatures": { "type": "array", "items": { "type": "object", "properties": { - "redelegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the bech32-encoded address of the delegator." - }, - "validator_src_address": { - "type": "string", - "description": "validator_src_address is the validator redelegation source operator address." - }, - "validator_dst_address": { - "type": "string", - "description": "validator_dst_address is the validator redelegation destination operator address." - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "description": "entries are the redelegation entries." - } - }, - "description": "Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator." + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "redelegation_entry": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "balance": { - "type": "string" - } - }, - "description": "RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses." - } + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" } }, - "description": "RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses." + "description": "CommitSig is a part of the Vote included in a Commit." } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + }, + "tendermint.types.CommitSig": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + }, + "tendermint.types.Data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." } }, - "description": "QueryRedelegationsResponse is response type for the Query/Redelegations RPC\nmethod." + "title": "Data contains the set of transactions included in the block" }, - "cosmos.staking.v1beta1.QueryUnbondingDelegationResponse": { + "tendermint.types.DuplicateVoteEvidence": { "type": "object", "properties": { - "unbond": { + "vote_a": { "type": "object", "properties": { - "delegator_address": { + "type": { "type": "string", - "description": "delegator_address is the encoded address of the delegator." + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" }, - "validator_address": { + "height": { "type": "string", - "description": "validator_address is the encoded address of the validator." + "format": "int64" }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." - }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." - }, - "description": "entries are the unbonding delegation entries." - } - }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - } - }, - "description": "QueryDelegationResponse is response type for the Query/UnbondingDelegation\nRPC method." - }, - "cosmos.staking.v1beta1.QueryValidatorDelegationsResponse": { - "type": "object", - "properties": { - "delegation_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } }, - "shares": { - "type": "string", - "description": "shares define the delegation shares received." - } - }, - "description": "Delegation represents the bond with tokens held by an account. It is\nowned by one delegator, and is associated with the voting power of one\nvalidator." + "title": "PartsetHeader" + } }, - "balance": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - } + "title": "BlockID" }, - "description": "DelegationResponse is equivalent to Delegation except that it contains a\nbalance in addition to shares which is more suitable for client responses." - } - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { + "timestamp": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" }, - "total": { + "signature": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "format": "byte" } - } - } - }, - "title": "QueryValidatorDelegationsResponse is response type for the\nQuery/ValidatorDelegations RPC method" - }, - "cosmos.staking.v1beta1.QueryValidatorResponse": { - "type": "object", - "properties": { - "validator": { + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { "type": "object", "properties": { - "operator_address": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." + "format": "int64" }, - "consensus_pubkey": { + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "type_url": { + "hash": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "byte" }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." + "title": "BlockID" }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", + "timestamp": { "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" + "format": "date-time" }, - "tokens": { + "validator_address": { "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." + "format": "byte" }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." + "validator_index": { + "type": "integer", + "format": "int32" }, - "description": { - "description": "description defines the description terms for the validator.", + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "tendermint.types.Evidence": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { "type": "object", "properties": { - "moniker": { + "type": { "type": "string", - "description": "moniker defines a human-readable name for the validator." + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" }, - "identity": { + "height": { "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" }, - "website": { + "timestamp": { "type": "string", - "description": "website defines an optional website link." + "format": "date-time" }, - "security_contact": { + "validator_address": { "type": "string", - "description": "security_contact defines an optional email for security contact." + "format": "byte" }, - "details": { + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { "type": "string", - "description": "details define other optional details." + "format": "byte" } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "commission": { - "description": "commission defines the commission parameters.", + "vote_b": { "type": "object", "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { + "hash": { "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + "format": "byte" }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } - } + }, + "title": "BlockID" }, - "update_time": { + "timestamp": { "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" } - } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "min_self_delegation": { + "total_voting_power": { "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" + "format": "int64" }, - "unbonding_on_hold_ref_count": { + "validator_power": { "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" + "format": "int64" }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "timestamp": { + "type": "string", + "format": "date-time" } }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - } - }, - "title": "QueryValidatorResponse is response type for the Query/Validator RPC method" - }, - "cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse": { - "type": "object", - "properties": { - "unbonding_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the encoded address of the delegator." - }, - "validator_address": { - "type": "string", - "description": "validator_address is the encoded address of the validator." - }, - "entries": { - "type": "array", - "items": { + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { "type": "object", "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } }, - "unbonding_on_hold_ref_count": { + "total_voting_power": { "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" + "format": "int64" } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." - }, - "description": "entries are the unbonding delegation entries." + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } } }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - } - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { + "total_voting_power": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "int64" }, - "total": { + "timestamp": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "format": "date-time" } - } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." } - }, - "description": "QueryValidatorUnbondingDelegationsResponse is response type for the\nQuery/ValidatorUnbondingDelegations RPC method." + } }, - "cosmos.staking.v1beta1.QueryValidatorsResponse": { + "tendermint.types.EvidenceList": { "type": "object", "properties": { - "validators": { + "evidence": { "type": "array", "items": { "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", + "duplicate_vote_evidence": { "type": "object", "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "website": { + "total_voting_power": { "type": "string", - "description": "website defines an optional website link." + "format": "int64" }, - "security_contact": { + "validator_power": { "type": "string", - "description": "security_contact defines an optional email for security contact." + "format": "int64" }, - "details": { + "timestamp": { "type": "string", - "description": "details define other optional details." + "format": "date-time" } - } - }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." }, - "commission": { - "description": "commission defines the commission parameters.", + "light_client_attack_evidence": { "type": "object", "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "conflicting_block": { "type": "object", "properties": { - "rate": { - "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." - }, - "max_rate": { - "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } }, - "max_change_rate": { - "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } } } }, - "update_time": { + "total_voting_power": { "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" } - } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - }, - "description": "validators contains all the queried validators." - }, - "pagination": { - "description": "pagination defines the pagination in the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } } - }, - "title": "QueryValidatorsResponse is response type for the Query/Validators RPC method" - }, - "cosmos.staking.v1beta1.Redelegation": { - "type": "object", - "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the bech32-encoded address of the delegator." - }, - "validator_src_address": { - "type": "string", - "description": "validator_src_address is the validator redelegation source operator address." - }, - "validator_dst_address": { - "type": "string", - "description": "validator_dst_address is the validator redelegation destination operator address." - }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "description": "entries are the redelegation entries." - } - }, - "description": "Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator." - }, - "cosmos.staking.v1beta1.RedelegationEntry": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." + } }, - "cosmos.staking.v1beta1.RedelegationEntryResponse": { + "tendermint.types.Header": { "type": "object", "properties": { - "redelegation_entry": { + "version": { + "title": "basic block info", "type": "object", "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { + "block": { "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" + "format": "uint64" }, - "unbonding_on_hold_ref_count": { + "app": { "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" + "format": "uint64" } }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "balance": { + "chain_id": { "type": "string" - } - }, - "description": "RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses." - }, - "cosmos.staking.v1beta1.RedelegationResponse": { - "type": "object", - "properties": { - "redelegation": { + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { "type": "object", "properties": { - "delegator_address": { - "type": "string", - "description": "delegator_address is the bech32-encoded address of the delegator." - }, - "validator_src_address": { - "type": "string", - "description": "validator_src_address is the validator redelegation source operator address." - }, - "validator_dst_address": { + "hash": { "type": "string", - "description": "validator_dst_address is the validator redelegation destination operator address." + "format": "byte" }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." + "hash": { + "type": "string", + "format": "byte" + } }, - "description": "entries are the redelegation entries." + "title": "PartsetHeader" } }, - "description": "Redelegation contains the list of a particular delegator's redelegating bonds\nfrom a particular source validator to a particular destination validator." + "title": "BlockID" }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "redelegation_entry": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height defines the height which the redelegation took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time defines the unix time for redelegation completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the initial balance when redelegation started." - }, - "shares_dst": { - "type": "string", - "description": "shares_dst is the amount of destination-validator shares created by redelegation." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "RedelegationEntry defines a redelegation object with relevant metadata." - }, - "balance": { - "type": "string" - } - }, - "description": "RedelegationEntryResponse is equivalent to a RedelegationEntry except that it\ncontains a balance in addition to shares which is more suitable for client\nresponses." - } - } - }, - "description": "RedelegationResponse is equivalent to a Redelegation except that its entries\ncontain a balance in addition to shares which is more suitable for client\nresponses." - }, - "cosmos.staking.v1beta1.UnbondingDelegation": { - "type": "object", - "properties": { - "delegator_address": { + "last_commit_hash": { "type": "string", - "description": "delegator_address is the encoded address of the delegator." + "format": "byte", + "title": "hashes of block data" }, - "validator_address": { + "data_hash": { "type": "string", - "description": "validator_address is the encoded address of the validator." + "format": "byte" }, - "entries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "creation_height": { - "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." - }, - "completion_time": { - "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." - }, - "initial_balance": { - "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." - }, - "balance": { - "type": "string", - "description": "balance defines the tokens to receive at completion." - }, - "unbonding_id": { - "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" - } - }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." - }, - "description": "entries are the unbonding delegation entries." - } - }, - "description": "UnbondingDelegation stores all of a single delegator's unbonding bonds\nfor a single validator in an time-ordered list." - }, - "cosmos.staking.v1beta1.UnbondingDelegationEntry": { - "type": "object", - "properties": { - "creation_height": { + "validators_hash": { "type": "string", - "format": "int64", - "description": "creation_height is the height which the unbonding took place." + "format": "byte", + "title": "hashes from the app output from the prev block" }, - "completion_time": { + "next_validators_hash": { "type": "string", - "format": "date-time", - "description": "completion_time is the unix time for unbonding completion." + "format": "byte" }, - "initial_balance": { + "consensus_hash": { "type": "string", - "description": "initial_balance defines the tokens initially scheduled to receive at completion." + "format": "byte" }, - "balance": { + "app_hash": { "type": "string", - "description": "balance defines the tokens to receive at completion." + "format": "byte" }, - "unbonding_id": { + "last_results_hash": { "type": "string", - "format": "uint64", - "title": "Incrementing id that uniquely identifies this entry" + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" }, - "unbonding_on_hold_ref_count": { + "proposer_address": { "type": "string", - "format": "int64", - "title": "Strictly positive if this entry's unbonding has been stopped by external modules" + "format": "byte" } }, - "description": "UnbondingDelegationEntry defines an unbonding object with relevant metadata." + "description": "Header defines the structure of a block header." }, - "cosmos.staking.v1beta1.Validator": { + "tendermint.types.LightBlock": { "type": "object", "properties": { - "operator_address": { - "type": "string", - "description": "operator_address defines the address of the validator's operator; bech encoded in JSON." - }, - "consensus_pubkey": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "jailed": { - "type": "boolean", - "description": "jailed defined whether the validator has been jailed from bonded status or not." - }, - "status": { - "description": "status is the validator status (bonded/unbonding/unbonded).", - "type": "string", - "enum": [ - "BOND_STATUS_UNSPECIFIED", - "BOND_STATUS_UNBONDED", - "BOND_STATUS_UNBONDING", - "BOND_STATUS_BONDED" - ], - "default": "BOND_STATUS_UNSPECIFIED" - }, - "tokens": { - "type": "string", - "description": "tokens define the delegated tokens (incl. self-delegation)." - }, - "delegator_shares": { - "type": "string", - "description": "delegator_shares defines total shares issued to a validator's delegators." - }, - "description": { - "description": "description defines the description terms for the validator.", + "signed_header": { "type": "object", "properties": { - "moniker": { - "type": "string", - "description": "moniker defines a human-readable name for the validator." - }, - "identity": { - "type": "string", - "description": "identity defines an optional identity signature (ex. UPort or Keybase)." - }, - "website": { - "type": "string", - "description": "website defines an optional website link." - }, - "security_contact": { - "type": "string", - "description": "security_contact defines an optional email for security contact." + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." }, - "details": { - "type": "string", - "description": "details define other optional details." + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." } } }, - "unbonding_height": { - "type": "string", - "format": "int64", - "description": "unbonding_height defines, if unbonding, the height at which this validator has begun unbonding." - }, - "unbonding_time": { - "type": "string", - "format": "date-time", - "description": "unbonding_time defines, if unbonding, the min time for the validator to complete unbonding." - }, - "commission": { - "description": "commission defines the commission parameters.", + "validator_set": { "type": "object", "properties": { - "commission_rates": { - "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { "type": "object", "properties": { - "rate": { + "address": { "type": "string", - "description": "rate is the commission rate charged to delegators, as a fraction." + "format": "byte" }, - "max_rate": { + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { "type": "string", - "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + "format": "int64" }, - "max_change_rate": { + "proposer_priority": { "type": "string", - "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + "format": "int64" } } }, - "update_time": { + "total_voting_power": { "type": "string", - "format": "date-time", - "description": "update_time is the last time the commission rate was changed." - } - } - }, - "min_self_delegation": { - "type": "string", - "description": "min_self_delegation is the validator's self declared minimum self delegation.\n\nSince: cosmos-sdk 0.46" - }, - "unbonding_on_hold_ref_count": { - "type": "string", - "format": "int64", - "title": "strictly positive if this validator's unbonding has been stopped by external modules" - }, - "unbonding_ids": { - "type": "array", - "items": { - "type": "string", - "format": "uint64" - }, - "title": "list of unbonding ids, each uniquely identifing an unbonding of this validator" - } - }, - "description": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nUndelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate." - }, - "tendermint.types.BlockID": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" } - }, - "title": "PartsetHeader" + } } - }, - "title": "BlockID" + } }, - "tendermint.types.Header": { + "tendermint.types.LightClientAttackEvidence": { "type": "object", "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "title": "prev block info", + "conflicting_block": { "type": "object", "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { + "signed_header": { "type": "object", "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - } - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "tendermint.types.PartSetHeader": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - }, - "tendermint.version.Consensus": { - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "cosmos.base.abci.v1beta1.ABCIMessageLog": { - "type": "object", - "properties": { - "msg_index": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { + "header": { "type": "object", "properties": { - "key": { - "type": "string" + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - } - } - }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." - }, - "description": "Events contains a slice of Event objects that were emitted during some\nexecution." - } - }, - "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." - }, - "cosmos.base.abci.v1beta1.Attribute": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - }, - "cosmos.base.abci.v1beta1.GasInfo": { - "type": "object", - "properties": { - "gas_wanted": { - "type": "string", - "format": "uint64", - "description": "GasWanted is the maximum units of work we allow this tx to perform." - }, - "gas_used": { - "type": "string", - "format": "uint64", - "description": "GasUsed is the amount of gas actually consumed." - } - }, - "description": "GasInfo defines tx execution gas context." - }, - "cosmos.base.abci.v1beta1.Result": { - "type": "object", - "properties": { - "data": { - "type": "string", - "format": "byte", - "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL." - }, - "log": { - "type": "string", - "description": "Log contains the log information from message or handler execution." - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { + "chain_id": { "type": "string" }, - "value": { - "type": "string" + "height": { + "type": "string", + "format": "int64" }, - "index": { - "type": "boolean" + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" } }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } - } - }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." - }, - "description": "Events contains a slice of Event objects that were emitted during message\nor handler execution." - }, - "msg_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46" - } - }, - "description": "Result is the union of ResponseFormat and ResponseCheckTx." - }, - "cosmos.base.abci.v1beta1.StringEvent": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - } - } - }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." - }, - "cosmos.base.abci.v1beta1.TxResponse": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64", - "title": "The block height" - }, - "txhash": { - "type": "string", - "description": "The transaction hash." - }, - "codespace": { - "type": "string", - "title": "Namespace for the Code" - }, - "code": { - "type": "integer", - "format": "int64", - "description": "Response code." - }, - "data": { - "type": "string", - "description": "Result bytes, if any." - }, - "raw_log": { - "type": "string", - "description": "The output of the application's logger (raw string). May be\nnon-deterministic." - }, - "logs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "msg_index": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "events": { - "type": "array", - "items": { + "description": "Header defines the structure of a block header." + }, + "commit": { "type": "object", "properties": { - "type": { - "type": "string" + "height": { + "type": "string", + "format": "int64" }, - "attributes": { + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { "type": "array", "items": { "type": "object", "properties": { - "key": { - "type": "string" + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "value": { - "type": "string" + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" } }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." + "description": "CommitSig is a part of the Vote included in a Commit." } } }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." - }, - "description": "Events contains a slice of Event objects that were emitted during some\nexecution." + "description": "Commit contains the evidence that a block was committed by a set of validators." + } } }, - "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." - }, - "description": "The output of the application's logger (typed). May be non-deterministic." - }, - "info": { - "type": "string", - "description": "Additional information. May be non-deterministic." - }, - "gas_wanted": { - "type": "string", - "format": "int64", - "description": "Amount of gas requested for transaction." - }, - "gas_used": { - "type": "string", - "format": "int64", - "description": "Amount of gas consumed by transaction." - }, - "tx": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } }, - "timestamp": { + "common_height": { "type": "string", - "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." + "format": "int64" }, - "events": { + "byzantine_validators": { "type": "array", "items": { "type": "object", "properties": { - "type": { - "type": "string" + "address": { + "type": "string", + "format": "byte" }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" } - }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." - }, - "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" } }, - "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." }, - "cosmos.crypto.multisig.v1beta1.CompactBitArray": { + "tendermint.types.PartSetHeader": { "type": "object", "properties": { - "extra_bits_stored": { + "total": { "type": "integer", "format": "int64" }, - "elems": { + "hash": { "type": "string", "format": "byte" } }, - "description": "CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage." - }, - "cosmos.tx.signing.v1beta1.SignMode": { - "type": "string", - "enum": [ - "SIGN_MODE_UNSPECIFIED", - "SIGN_MODE_DIRECT", - "SIGN_MODE_TEXTUAL", - "SIGN_MODE_DIRECT_AUX", - "SIGN_MODE_LEGACY_AMINO_JSON", - "SIGN_MODE_EIP_191" - ], - "default": "SIGN_MODE_UNSPECIFIED", - "description": "SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT. It is currently experimental, and should be used\nfor testing purposes only, until Textual is fully released. Please follow\nthe tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970.\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`. It also allows\nfor adding Tips in transactions.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2" + "title": "PartsetHeader" }, - "cosmos.tx.v1beta1.AuthInfo": { + "tendermint.types.SignedHeader": { "type": "object", "properties": { - "signer_infos": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.tx.v1beta1.SignerInfo" - }, - "description": "signer_infos defines the signing modes for the required signers. The number\nand order of elements must match the required signers from TxBody's\nmessages. The first element is the primary signer and the one which pays\nthe fee." - }, - "fee": { - "description": "Fee is the fee and gas limit for the transaction. The first signer is the\nprimary signer and the one which pays the fee. The fee can be calculated\nbased on the cost of evaluating the body and doing signature verification\nof the signers. This can be estimated via simulation.", + "header": { "type": "object", "properties": { - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "app": { + "type": "string", + "format": "uint64" + } }, - "title": "amount is the amount of coins to be paid as a fee" + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "gas_limit": { - "type": "string", - "format": "uint64", - "title": "gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs" + "chain_id": { + "type": "string" }, - "payer": { + "height": { "type": "string", - "description": "if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction." + "format": "int64" }, - "granter": { + "time": { "type": "string", - "title": "if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail" - } - } - }, - "tip": { - "description": "Tip is the optional tip used for transactions fees paid in another denom.\n\nThis field is ignored if the chain didn't enable tips, i.e. didn't add the\n`TipDecorator` in its posthandler.\n\nSince: cosmos-sdk 0.46", - "type": "object", - "properties": { - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" - } + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } }, - "title": "amount is the amount of the tip" + "title": "BlockID" }, - "tipper": { - "type": "string", - "title": "tipper is the address of the account paying for the tip" - } - } - } - }, - "description": "AuthInfo describes the fee and signer modes that are used to sign a\ntransaction." - }, - "cosmos.tx.v1beta1.BroadcastMode": { - "type": "string", - "enum": [ - "BROADCAST_MODE_UNSPECIFIED", - "BROADCAST_MODE_BLOCK", - "BROADCAST_MODE_SYNC", - "BROADCAST_MODE_ASYNC" - ], - "default": "BROADCAST_MODE_UNSPECIFIED", - "description": "BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately." - }, - "cosmos.tx.v1beta1.BroadcastTxRequest": { - "type": "object", - "properties": { - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the raw transaction." - }, - "mode": { - "type": "string", - "enum": [ - "BROADCAST_MODE_UNSPECIFIED", - "BROADCAST_MODE_BLOCK", - "BROADCAST_MODE_SYNC", - "BROADCAST_MODE_ASYNC" - ], - "default": "BROADCAST_MODE_UNSPECIFIED", - "description": "BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC\nmethod.\n\n - BROADCAST_MODE_UNSPECIFIED: zero-value for mode ordering\n - BROADCAST_MODE_BLOCK: DEPRECATED: use BROADCAST_MODE_SYNC instead,\nBROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards.\n - BROADCAST_MODE_SYNC: BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits\nfor a CheckTx execution response only.\n - BROADCAST_MODE_ASYNC: BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client\nreturns immediately." - } - }, - "description": "BroadcastTxRequest is the request type for the Service.BroadcastTxRequest\nRPC method." - }, - "cosmos.tx.v1beta1.BroadcastTxResponse": { - "type": "object", - "properties": { - "tx_response": { - "type": "object", - "properties": { - "height": { + "last_commit_hash": { "type": "string", - "format": "int64", - "title": "The block height" + "format": "byte", + "title": "hashes of block data" }, - "txhash": { + "data_hash": { "type": "string", - "description": "The transaction hash." + "format": "byte" }, - "codespace": { + "validators_hash": { "type": "string", - "title": "Namespace for the Code" - }, - "code": { - "type": "integer", - "format": "int64", - "description": "Response code." + "format": "byte", + "title": "hashes from the app output from the prev block" }, - "data": { + "next_validators_hash": { "type": "string", - "description": "Result bytes, if any." + "format": "byte" }, - "raw_log": { + "consensus_hash": { "type": "string", - "description": "The output of the application's logger (raw string). May be\nnon-deterministic." + "format": "byte" }, - "logs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "msg_index": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - } - } - }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." - }, - "description": "Events contains a slice of Event objects that were emitted during some\nexecution." - } - }, - "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." - }, - "description": "The output of the application's logger (typed). May be non-deterministic." + "app_hash": { + "type": "string", + "format": "byte" }, - "info": { + "last_results_hash": { "type": "string", - "description": "Additional information. May be non-deterministic." + "format": "byte" }, - "gas_wanted": { + "evidence_hash": { "type": "string", - "format": "int64", - "description": "Amount of gas requested for transaction." + "format": "byte", + "title": "consensus info" }, - "gas_used": { + "proposer_address": { "type": "string", - "format": "int64", - "description": "Amount of gas consumed by transaction." + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" }, - "tx": { + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "type_url": { + "hash": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "format": "byte" }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "timestamp": { - "type": "string", - "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." + "title": "BlockID" }, - "events": { + "signatures": { "type": "array", "items": { "type": "object", "properties": { - "type": { - "type": "string" + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" } }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." - }, - "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" + "description": "CommitSig is a part of the Vote included in a Commit." + } } }, - "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." + "description": "Commit contains the evidence that a block was committed by a set of validators." } - }, - "description": "BroadcastTxResponse is the response type for the\nService.BroadcastTx method." + } }, - "cosmos.tx.v1beta1.Fee": { + "tendermint.types.SignedMsgType": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "tendermint.types.Validator": { "type": "object", "properties": { - "amount": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "tendermint.types.ValidatorSet": { + "type": "object", + "properties": { + "validators": { "type": "array", "items": { "type": "object", "properties": { - "denom": { - "type": "string" + "address": { + "type": "string", + "format": "byte" }, - "amount": { - "type": "string" + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." - }, - "title": "amount is the amount of coins to be paid as a fee" - }, - "gas_limit": { - "type": "string", - "format": "uint64", - "title": "gas_limit is the maximum gas that can be used in transaction processing\nbefore an out of gas error occurs" + } + } }, - "payer": { - "type": "string", - "description": "if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees.\nthe payer must be a tx signer (and thus have signed this field in AuthInfo).\nsetting this field does *not* change the ordering of required signers for the transaction." + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } }, - "granter": { + "total_voting_power": { "type": "string", - "title": "if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used\nto pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does\nnot support fee grants, this will fail" + "format": "int64" } - }, - "description": "Fee includes the amount of coins paid in fees and the maximum\ngas to be used by the transaction. The ratio yields an effective \"gasprice\",\nwhich must be above some miminum to be accepted into the mempool." + } }, - "cosmos.tx.v1beta1.GetBlockWithTxsResponse": { + "tendermint.types.Vote": { "type": "object", "properties": { - "txs": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.tx.v1beta1.Tx" - }, - "description": "txs are the transactions in the block." + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" }, "block_id": { "type": "object", @@ -34207,2627 +35939,1999 @@ }, "title": "BlockID" }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "tendermint.version.Consensus": { + "type": "object", + "properties": { "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "cosmos.base.tendermint.v1beta1.ABCIQueryResponse": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int64" + }, + "log": { + "type": "string" + }, + "info": { + "type": "string" + }, + "index": { + "type": "string", + "format": "int64" + }, + "key": { + "type": "string", + "format": "byte" + }, + "value": { + "type": "string", + "format": "byte" + }, + "proof_ops": { "type": "object", "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } + "ops": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" + "key": { + "type": "string", + "format": "byte" + }, + "data": { + "type": "string", + "format": "byte" + } }, - "height": { + "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." + } + } + }, + "description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint." + }, + "height": { + "type": "string", + "format": "int64" + }, + "codespace": { + "type": "string" + } + }, + "description": "ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint." + }, + "cosmos.base.tendermint.v1beta1.Block": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { "type": "string", - "format": "int64" + "format": "uint64" }, - "time": { + "app": { "type": "string", - "format": "date-time" + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" }, - "last_block_id": { + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" } }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" + "title": "PartsetHeader" } }, - "description": "Header defines the structure of a block header." + "title": "BlockID" }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } - }, - "title": "Data contains the set of transactions included in the block" + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" }, + "proposer_address": { + "type": "string", + "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + } + }, + "description": "Header defines the structure of a Tendermint block header." + }, + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { "type": "object", "properties": { - "duplicate_vote_evidence": { + "vote_a": { "type": "object", "properties": { - "vote_a": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { + "hash": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "format": "byte" }, - "block_id": { + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" } }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." + "title": "PartsetHeader" } }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." + "title": "BlockID" }, - "vote_b": { + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { + "hash": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "format": "byte" }, - "block_id": { + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" } }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." + "title": "PartsetHeader" } }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." + "title": "BlockID" }, - "total_voting_power": { + "timestamp": { "type": "string", - "format": "int64" + "format": "date-time" }, - "validator_power": { + "validator_address": { "type": "string", - "format": "int64" + "format": "byte" }, - "timestamp": { + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { "type": "string", - "format": "date-time" + "format": "byte" } }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "light_client_attack_evidence": { + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { "type": "object", "properties": { - "conflicting_block": { + "signed_header": { "type": "object", "properties": { - "signed_header": { + "header": { "type": "object", "properties": { - "header": { + "version": { + "title": "basic block info", "type": "object", "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { + "block": { "type": "string", - "format": "int64" + "format": "uint64" }, - "time": { + "app": { "type": "string", - "format": "date-time" + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" }, - "last_block_id": { + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" } }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" + "title": "PartsetHeader" } }, - "description": "Header defines the structure of a block header." + "title": "BlockID" }, - "commit": { + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "height": { + "hash": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "format": "byte" }, - "block_id": { + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" } }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } + "title": "PartsetHeader" } }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { + "title": "BlockID" + }, + "signatures": { "type": "array", "items": { "type": "object", "properties": { - "address": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { "type": "string", "format": "byte" }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" + "timestamp": { + "type": "string", + "format": "date-time" }, - "voting_power": { + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { "type": "string", - "format": "int64" + "format": "byte" }, - "proposer_priority": { + "secp256k1": { "type": "string", - "format": "int64" + "format": "byte" } - } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" }, - "proposer": { + "pub_key": { "type": "object", "properties": { - "address": { + "ed25519": { "type": "string", "format": "byte" }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { + "secp256k1": { "type": "string", - "format": "int64" + "format": "byte" } - } + }, + "title": "PublicKey defines the keys available for use with Validators" }, - "total_voting_power": { + "voting_power": { "type": "string", "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" + "proposer_priority": { + "type": "string", + "format": "int64" + } } + }, + "total_voting_power": { + "type": "string", + "format": "int64" } } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } - } - } - } - }, - "last_commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" } }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { + "common_height": { "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "pagination": { - "description": "pagination defines a pagination for the response.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" - } - } - } - }, - "description": "GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs\nmethod.\n\nSince: cosmos-sdk 0.45.2" - }, - "cosmos.tx.v1beta1.GetTxResponse": { - "type": "object", - "properties": { - "tx": { - "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", - "description": "tx is the queried transaction." - }, - "tx_response": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64", - "title": "The block height" - }, - "txhash": { - "type": "string", - "description": "The transaction hash." - }, - "codespace": { - "type": "string", - "title": "Namespace for the Code" - }, - "code": { - "type": "integer", - "format": "int64", - "description": "Response code." - }, - "data": { - "type": "string", - "description": "Result bytes, if any." - }, - "raw_log": { - "type": "string", - "description": "The output of the application's logger (raw string). May be\nnon-deterministic." - }, - "logs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "msg_index": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - } - } - }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." - }, - "description": "Events contains a slice of Event objects that were emitted during some\nexecution." - } - }, - "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." - }, - "description": "The output of the application's logger (typed). May be non-deterministic." - }, - "info": { - "type": "string", - "description": "Additional information. May be non-deterministic." - }, - "gas_wanted": { - "type": "string", - "format": "int64", - "description": "Amount of gas requested for transaction." - }, - "gas_used": { - "type": "string", - "format": "int64", - "description": "Amount of gas consumed by transaction." - }, - "tx": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "timestamp": { - "type": "string", - "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } - } - }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." - }, - "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" - } - }, - "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." - } - }, - "description": "GetTxResponse is the response type for the Service.GetTx method." - }, - "cosmos.tx.v1beta1.GetTxsEventResponse": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.tx.v1beta1.Tx" - }, - "description": "txs is the list of queried transactions." - }, - "tx_responses": { - "type": "array", - "items": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64", - "title": "The block height" - }, - "txhash": { - "type": "string", - "description": "The transaction hash." - }, - "codespace": { - "type": "string", - "title": "Namespace for the Code" - }, - "code": { - "type": "integer", - "format": "int64", - "description": "Response code." - }, - "data": { - "type": "string", - "description": "Result bytes, if any." - }, - "raw_log": { - "type": "string", - "description": "The output of the application's logger (raw string). May be\nnon-deterministic." - }, - "logs": { - "type": "array", - "items": { - "type": "object", - "properties": { - "msg_index": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes." - } - } - }, - "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes." + "format": "int64" }, - "description": "Events contains a slice of Event objects that were emitted during some\nexecution." - } - }, - "description": "ABCIMessageLog defines a structure containing an indexed tx ABCI message log." - }, - "description": "The output of the application's logger (typed). May be non-deterministic." - }, - "info": { - "type": "string", - "description": "Additional information. May be non-deterministic." - }, - "gas_wanted": { - "type": "string", - "format": "int64", - "description": "Amount of gas requested for transaction." - }, - "gas_used": { - "type": "string", - "format": "int64", - "description": "Amount of gas consumed by transaction." - }, - "tx": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "timestamp": { - "type": "string", - "description": "Time of the previous block. For heights > 1, it's the weighted median of\nthe timestamps of the valid votes in the block.LastCommit. For height == 1,\nit's genesis time." - }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" } - } - }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." - }, - "description": "Events defines all the events emitted by processing a transaction. Note,\nthese events include those emitted by processing all the messages and those\nemitted from the ante. Whereas Logs contains the events, with\nadditional metadata, emitted only by processing the messages.\n\nSince: cosmos-sdk 0.42.11, 0.44.5, 0.45" + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } + } } - }, - "description": "TxResponse defines a structure containing relevant tx data and metadata. The\ntags are stringified and the log is JSON decoded." - }, - "description": "tx_responses is the list of queried TxResponses." - }, - "pagination": { - "description": "pagination defines a pagination for the response.\nDeprecated post v0.46.x: use total instead.", - "type": "object", - "properties": { - "next_key": { - "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." - }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } }, - "total": { - "type": "string", - "format": "uint64", - "title": "total is total number of results available" - } - }, - "description": "GetTxsEventResponse is the response type for the Service.TxsByEvents\nRPC method." - }, - "cosmos.tx.v1beta1.ModeInfo": { - "type": "object", - "properties": { - "single": { - "title": "single represents a single signer", + "last_commit": { "type": "object", "properties": { - "mode": { - "title": "mode is the signing mode of the single signer", + "height": { "type": "string", - "enum": [ - "SIGN_MODE_UNSPECIFIED", - "SIGN_MODE_DIRECT", - "SIGN_MODE_TEXTUAL", - "SIGN_MODE_DIRECT_AUX", - "SIGN_MODE_LEGACY_AMINO_JSON", - "SIGN_MODE_EIP_191" - ], - "default": "SIGN_MODE_UNSPECIFIED", - "description": "SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT. It is currently experimental, and should be used\nfor testing purposes only, until Textual is fully released. Please follow\nthe tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970.\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`. It also allows\nfor adding Tips in transactions.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2" - } - } - }, - "multi": { - "$ref": "#/definitions/cosmos.tx.v1beta1.ModeInfo.Multi", - "title": "multi represents a nested multisig signer" - } - }, - "description": "ModeInfo describes the signing mode of a single or nested multisig signer." - }, - "cosmos.tx.v1beta1.ModeInfo.Multi": { - "type": "object", - "properties": { - "bitarray": { - "title": "bitarray specifies which keys within the multisig are signing", - "type": "object", - "properties": { - "extra_bits_stored": { - "type": "integer", "format": "int64" }, - "elems": { - "type": "string", - "format": "byte" - } - }, - "description": "CompactBitArray is an implementation of a space efficient bit array.\nThis is used to ensure that the encoded data takes up a minimal amount of\nspace after proto encoding.\nThis is not thread safe, and is not intended for concurrent usage." - }, - "mode_infos": { - "type": "array", - "items": { - "$ref": "#/definitions/cosmos.tx.v1beta1.ModeInfo" - }, - "title": "mode_infos is the corresponding modes of the signers of the multisig\nwhich could include nested multisig public keys" - } - }, - "title": "Multi is the mode info for a multisig public key" - }, - "cosmos.tx.v1beta1.ModeInfo.Single": { - "type": "object", - "properties": { - "mode": { - "title": "mode is the signing mode of the single signer", - "type": "string", - "enum": [ - "SIGN_MODE_UNSPECIFIED", - "SIGN_MODE_DIRECT", - "SIGN_MODE_TEXTUAL", - "SIGN_MODE_DIRECT_AUX", - "SIGN_MODE_LEGACY_AMINO_JSON", - "SIGN_MODE_EIP_191" - ], - "default": "SIGN_MODE_UNSPECIFIED", - "description": "SignMode represents a signing mode with its own security guarantees.\n\nThis enum should be considered a registry of all known sign modes\nin the Cosmos ecosystem. Apps are not expected to support all known\nsign modes. Apps that would like to support custom sign modes are\nencouraged to open a small PR against this file to add a new case\nto this SignMode enum describing their sign mode so that different\napps have a consistent version of this enum.\n\n - SIGN_MODE_UNSPECIFIED: SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be\nrejected.\n - SIGN_MODE_DIRECT: SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is\nverified with raw bytes from Tx.\n - SIGN_MODE_TEXTUAL: SIGN_MODE_TEXTUAL is a future signing mode that will verify some\nhuman-readable textual representation on top of the binary representation\nfrom SIGN_MODE_DIRECT. It is currently experimental, and should be used\nfor testing purposes only, until Textual is fully released. Please follow\nthe tracking issue https://github.com/cosmos/cosmos-sdk/issues/11970.\n - SIGN_MODE_DIRECT_AUX: SIGN_MODE_DIRECT_AUX specifies a signing mode which uses\nSignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not\nrequire signers signing over other signers' `signer_info`. It also allows\nfor adding Tips in transactions.\n\nSince: cosmos-sdk 0.46\n - SIGN_MODE_LEGACY_AMINO_JSON: SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses\nAmino JSON and will be removed in the future.\n - SIGN_MODE_EIP_191: SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos\nSDK. Ref: https://eips.ethereum.org/EIPS/eip-191\n\nCurrently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant,\nbut is not implemented on the SDK by default. To enable EIP-191, you need\nto pass a custom `TxConfig` that has an implementation of\n`SignModeHandler` for EIP-191. The SDK may decide to fully support\nEIP-191 in the future.\n\nSince: cosmos-sdk 0.45.2" - } - }, - "title": "Single is the mode info for a single signer. It is structured as a message\nto allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the\nfuture" - }, - "cosmos.tx.v1beta1.OrderBy": { - "type": "string", - "enum": [ - "ORDER_BY_UNSPECIFIED", - "ORDER_BY_ASC", - "ORDER_BY_DESC" - ], - "default": "ORDER_BY_UNSPECIFIED", - "description": "- ORDER_BY_UNSPECIFIED: ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults\nto ASC in this case.\n - ORDER_BY_ASC: ORDER_BY_ASC defines ascending order\n - ORDER_BY_DESC: ORDER_BY_DESC defines descending order", - "title": "OrderBy defines the sorting order" - }, - "cosmos.tx.v1beta1.SignerInfo": { - "type": "object", - "properties": { - "public_key": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "mode_info": { - "$ref": "#/definitions/cosmos.tx.v1beta1.ModeInfo", - "title": "mode_info describes the signing mode of the signer and is a nested\nstructure to support nested multisig pubkey's" - }, - "sequence": { - "type": "string", - "format": "uint64", - "description": "sequence is the sequence of the account, which describes the\nnumber of committed transactions signed by a given address. It is used to\nprevent replay attacks." - } - }, - "description": "SignerInfo describes the public key and signing mode of a single top-level\nsigner." - }, - "cosmos.tx.v1beta1.SimulateRequest": { - "type": "object", - "properties": { - "tx": { - "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", - "description": "tx is the transaction to simulate.\nDeprecated. Send raw tx bytes instead." - }, - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the raw transaction.\n\nSince: cosmos-sdk 0.43" - } - }, - "description": "SimulateRequest is the request type for the Service.Simulate\nRPC method." - }, - "cosmos.tx.v1beta1.SimulateResponse": { - "type": "object", - "properties": { - "gas_info": { - "description": "gas_info is the information about gas used in the simulation.", - "type": "object", - "properties": { - "gas_wanted": { - "type": "string", - "format": "uint64", - "description": "GasWanted is the maximum units of work we allow this tx to perform." - }, - "gas_used": { - "type": "string", - "format": "uint64", - "description": "GasUsed is the amount of gas actually consumed." - } - } - }, - "result": { - "description": "result is the result of the simulation.", - "type": "object", - "properties": { - "data": { - "type": "string", - "format": "byte", - "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL." - }, - "log": { - "type": "string", - "description": "Log contains the log information from message or handler execution." + "round": { + "type": "integer", + "format": "int32" }, - "events": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." - } - } + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } }, - "description": "Events contains a slice of Event objects that were emitted during message\nor handler execution." + "title": "BlockID" }, - "msg_responses": { + "signatures": { "type": "array", "items": { "type": "object", "properties": { - "type_url": { + "block_id_flag": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, - "value": { + "validator_address": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "msg_responses contains the Msg handler responses type packed in Anys.\n\nSince: cosmos-sdk 0.46" - } - } - } - }, - "description": "SimulateResponse is the response type for the\nService.SimulateRPC method." - }, - "cosmos.tx.v1beta1.Tip": { - "type": "object", - "properties": { - "amount": { - "type": "array", - "items": { - "type": "object", - "properties": { - "denom": { - "type": "string" - }, - "amount": { - "type": "string" + "description": "CommitSig is a part of the Vote included in a Commit." } - }, - "description": "Coin defines a token with a denomination and an amount.\n\nNOTE: The amount field is an Int which implements the custom method\nsignatures required by gogoproto." + } }, - "title": "amount is the amount of the tip" - }, - "tipper": { - "type": "string", - "title": "tipper is the address of the account paying for the tip" + "description": "Commit contains the evidence that a block was committed by a set of validators." } }, - "description": "Tip is the tip used for meta-transactions.\n\nSince: cosmos-sdk 0.46" + "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." }, - "cosmos.tx.v1beta1.Tx": { + "cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse": { "type": "object", "properties": { - "body": { - "title": "body is the processable content of the transaction", + "block_id": { "type": "object", "properties": { - "messages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction." - }, - "memo": { - "type": "string", - "description": "memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122)." - }, - "timeout_height": { + "hash": { "type": "string", - "format": "uint64", - "title": "timeout is the block height after which this transaction will not\nbe processed by the chain" - }, - "extension_options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected" + "format": "byte" }, - "non_critical_extension_options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "hash": { + "type": "string", + "format": "byte" + } }, - "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored" + "title": "PartsetHeader" } }, - "description": "TxBody is the body of a transaction that all signers sign over." - }, - "auth_info": { - "$ref": "#/definitions/cosmos.tx.v1beta1.AuthInfo", - "title": "auth_info is the authorization related content of the transaction,\nspecifically signers, signer modes and fee" + "title": "BlockID" }, - "signatures": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "signatures is a list of signatures that matches the length and order of\nAuthInfo's signer_infos to allow connecting signature meta information like\npublic key and signing mode by position." - } - }, - "description": "Tx is the standard type used for broadcasting transactions." - }, - "cosmos.tx.v1beta1.TxBody": { - "type": "object", - "properties": { - "messages": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "block": { + "title": "Deprecated: please use `sdk_block` instead", + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "description": "Header defines the structure of a block header." }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "description": "messages is a list of messages to be executed. The required signers of\nthose messages define the number and order of elements in AuthInfo's\nsigner_infos and Tx's signatures. Each required signer address is added to\nthe list only the first time it occurs.\nBy convention, the first required signer (usually from the first message)\nis referred to as the primary signer and pays the fee for the whole\ntransaction." - }, - "memo": { - "type": "string", - "description": "memo is any arbitrary note/comment to be added to the transaction.\nWARNING: in clients, any publicly exposed text should not be called memo,\nbut should be called `note` instead (see https://github.com/cosmos/cosmos-sdk/issues/9122)." - }, - "timeout_height": { - "type": "string", - "format": "uint64", - "title": "timeout is the block height after which this transaction will not\nbe processed by the chain" - }, - "extension_options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." - } + "title": "Data contains the set of transactions included in the block" }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, the transaction will be rejected" - }, - "non_critical_extension_options": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." - }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } + } + } + } } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "title": "extension_options are arbitrary options that can be added by chains\nwhen the default options are not sufficient. If any of these are present\nand can't be handled, they will be ignored" - } - }, - "description": "TxBody is the body of a transaction that all signers sign over." - }, - "cosmos.tx.v1beta1.TxDecodeAminoRequest": { - "type": "object", - "properties": { - "amino_binary": { - "type": "string", - "format": "byte" - } - }, - "description": "TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxDecodeAminoResponse": { - "type": "object", - "properties": { - "amino_json": { - "type": "string" - } - }, - "description": "TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxDecodeRequest": { - "type": "object", - "properties": { - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the raw transaction." - } - }, - "description": "TxDecodeRequest is the request type for the Service.TxDecode\nRPC method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxDecodeResponse": { - "type": "object", - "properties": { - "tx": { - "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", - "description": "tx is the decoded transaction." - } - }, - "description": "TxDecodeResponse is the response type for the\nService.TxDecode method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxEncodeAminoRequest": { - "type": "object", - "properties": { - "amino_json": { - "type": "string" - } - }, - "description": "TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxEncodeAminoResponse": { - "type": "object", - "properties": { - "amino_binary": { - "type": "string", - "format": "byte" - } - }, - "description": "TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxEncodeRequest": { - "type": "object", - "properties": { - "tx": { - "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", - "description": "tx is the transaction to encode." - } - }, - "description": "TxEncodeRequest is the request type for the Service.TxEncode\nRPC method.\n\nSince: cosmos-sdk 0.47" - }, - "cosmos.tx.v1beta1.TxEncodeResponse": { - "type": "object", - "properties": { - "tx_bytes": { - "type": "string", - "format": "byte", - "description": "tx_bytes is the encoded transaction bytes." - } - }, - "description": "TxEncodeResponse is the response type for the\nService.TxEncode method.\n\nSince: cosmos-sdk 0.47" - }, - "tendermint.abci.Event": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" + "last_commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." + "description": "Commit contains the evidence that a block was committed by a set of validators." + } } - } - }, - "description": "Event allows application developers to attach additional information to\nResponseFinalizeBlock and ResponseCheckTx.\nLater, transactions may be queried using these events." - }, - "tendermint.abci.EventAttribute": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "index": { - "type": "boolean" - } - }, - "description": "EventAttribute is a single key-value pair, associated with an event." - }, - "tendermint.crypto.PublicKey": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "tendermint.types.Block": { - "type": "object", - "properties": { - "header": { + "sdk_block": { + "title": "Since: cosmos-sdk 0.47", "type": "object", "properties": { - "version": { - "title": "basic block info", + "header": { "type": "object", "properties": { - "block": { - "type": "string", - "format": "uint64" + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "app": { + "chain_id": { + "type": "string" + }, + "height": { "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { + "format": "int64" + }, + "time": { "type": "string", - "format": "byte" + "format": "date-time" }, - "part_set_header": { + "last_block_id": { "type": "object", "properties": { - "total": { - "type": "integer", - "format": "int64" - }, "hash": { "type": "string", "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "title": "PartsetHeader" + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." } }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" + "description": "Header defines the structure of a Tendermint block header." }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } - }, - "title": "Data contains the set of transactions included in the block" - }, - "evidence": { - "type": "object", - "properties": { + "title": "Data contains the set of transactions included in the block" + }, "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { "type": "object", "properties": { - "vote_a": { + "duplicate_vote_evidence": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { + "vote_a": { "type": "object", "properties": { - "hash": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { "type": "string", "format": "byte" }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" } }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "block_id": { + "vote_b": { "type": "object", "properties": { - "hash": { + "type": { "type": "string", - "format": "byte" + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" }, - "part_set_header": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "total": { - "type": "integer", - "format": "int64" - }, "hash": { "type": "string", "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "title": "PartsetHeader" + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" } }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "signature": { + "total_voting_power": { "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." + "format": "int64" }, - "extension": { + "validator_power": { "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." + "format": "int64" }, - "extension_signature": { + "timestamp": { "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." + "format": "date-time" } }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { + "light_client_attack_evidence": { "type": "object", "properties": { - "signed_header": { + "conflicting_block": { "type": "object", "properties": { - "header": { + "signed_header": { "type": "object", "properties": { - "version": { - "title": "basic block info", + "header": { "type": "object", "properties": { - "block": { - "type": "string", - "format": "uint64" + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "app": { + "chain_id": { + "type": "string" + }, + "height": { "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { + "format": "int64" + }, + "time": { "type": "string", - "format": "byte" + "format": "date-time" }, - "part_set_header": { + "last_block_id": { "type": "object", "properties": { - "total": { - "type": "integer", - "format": "int64" - }, "hash": { "type": "string", "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "title": "PartsetHeader" + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" } }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "description": "Header defines the structure of a block header." }, - "block_id": { + "commit": { "type": "object", "properties": { - "hash": { + "height": { "type": "string", - "format": "byte" + "format": "int64" }, - "part_set_header": { + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "total": { - "type": "integer", - "format": "int64" - }, "hash": { "type": "string", "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" } }, - "title": "PartsetHeader" + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } } }, - "title": "BlockID" - }, - "signatures": { + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { "type": "array", "items": { "type": "object", "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { + "address": { "type": "string", "format": "byte" }, - "timestamp": { - "type": "string", - "format": "date-time" + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { + "voting_power": { "type": "string", - "format": "byte" + "format": "int64" }, - "secp256k1": { + "proposer_priority": { "type": "string", - "format": "byte" + "format": "int64" } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" + } } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" }, - "pub_key": { + "proposer": { "type": "object", "properties": { - "ed25519": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { "type": "string", - "format": "byte" + "format": "int64" }, - "secp256k1": { + "proposer_priority": { "type": "string", - "format": "byte" + "format": "int64" } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" + } }, - "proposer_priority": { + "total_voting_power": { "type": "string", "format": "int64" } } - }, - "total_voting_power": { - "type": "string", - "format": "int64" } } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { + "type": "array", + "items": { "type": "object", "properties": { - "ed25519": { + "address": { "type": "string", "format": "byte" }, - "secp256k1": { + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { "type": "string", - "format": "byte" + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" + } } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } - } - } - } - }, - "last_commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "tendermint.types.BlockIDFlag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "tendermint.types.Commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - }, - "tendermint.types.CommitSig": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - }, - "tendermint.types.Data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } - }, - "title": "Data contains the set of transactions included in the block" - }, - "tendermint.types.DuplicateVoteEvidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "tendermint.types.Evidence": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + } } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." + } } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." + } }, - "vote_b": { + "last_commit": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, "height": { "type": "string", "format": "int64" @@ -36860,571 +37964,221 @@ }, "title": "BlockID" }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } - }, - "tendermint.types.EvidenceList": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { "type": "string", - "format": "date-time" + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" }, "validator_address": { "type": "string", "format": "byte" }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { + "timestamp": { "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." + "format": "date-time" }, - "extension_signature": { + "signature": { "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." + "format": "byte" } }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + }, + "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + } + }, + "description": "GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method." + }, + "cosmos.base.tendermint.v1beta1.GetLatestBlockResponse": { + "type": "object", + "properties": { + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "block": { + "title": "Deprecated: please use `sdk_block` instead", + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } }, - "total_voting_power": { - "type": "string", - "format": "int64" + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } }, - "validator_power": { + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { "type": "string", - "format": "int64" + "format": "byte" }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { "type": "object", "properties": { - "signed_header": { + "duplicate_vote_evidence": { "type": "object", "properties": { - "header": { + "vote_a": { "type": "object", "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" }, "height": { "type": "string", "format": "int64" }, - "time": { - "type": "string", - "format": "date-time" + "round": { + "type": "integer", + "format": "int32" }, - "last_block_id": { + "block_id": { "type": "object", "properties": { "hash": { @@ -37448,51 +38202,39 @@ }, "title": "BlockID" }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { + "timestamp": { "type": "string", - "format": "byte" + "format": "date-time" }, - "last_results_hash": { + "validator_address": { "type": "string", "format": "byte" }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" + "validator_index": { + "type": "integer", + "format": "int32" }, - "proposer_address": { + "signature": { "type": "string", "format": "byte" } }, - "description": "Header defines the structure of a block header." + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." }, - "commit": { + "vote_b": { "type": "object", "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, "height": { "type": "string", "format": "int64" @@ -37508,64 +38250,314 @@ "type": "string", "format": "byte" }, - "part_set_header": { + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { "type": "object", "properties": { - "total": { - "type": "integer", + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", "format": "int64" }, - "hash": { + "proposer_priority": { "type": "string", - "format": "byte" + "format": "int64" } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" } }, - "description": "CommitSig is a part of the Vote included in a Commit." + "total_voting_power": { + "type": "string", + "format": "int64" + } } } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { + } + }, + "common_height": { + "type": "string", + "format": "int64" + }, + "byzantine_validators": { "type": "array", "items": { "type": "object", @@ -37599,201 +38591,23 @@ } } }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, "total_voting_power": { "type": "string", "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" + "timestamp": { + "type": "string", + "format": "date-time" + } }, - "proposer_priority": { - "type": "string", - "format": "int64" - } + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." } } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } - } - } - } - }, - "tendermint.types.LightBlock": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" } - }, - "description": "Header defines the structure of a block header." + } }, - "commit": { + "last_commit": { "type": "object", "properties": { "height": { @@ -37827,398 +38641,724 @@ } }, "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "tendermint.types.LightClientAttackEvidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } }, - "evidence_hash": { + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "sdk_block": { + "title": "Since: cosmos-sdk 0.47", + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { "type": "string", - "format": "byte", - "title": "consensus info" + "format": "uint64" }, - "proposer_address": { + "app": { "type": "string", - "format": "byte" + "format": "uint64" } }, - "description": "Header defines the structure of a block header." + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." }, - "commit": { + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { "type": "object", "properties": { - "height": { + "hash": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "format": "byte" }, - "block_id": { + "part_set_header": { "type": "object", "properties": { + "total": { + "type": "integer", + "format": "int64" + }, "hash": { "type": "string", "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + } + }, + "description": "Header defines the structure of a Tendermint block header." + }, + "data": { + "type": "object", + "properties": { + "txs": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + } + }, + "title": "Data contains the set of transactions included in the block" + }, + "evidence": { + "type": "object", + "properties": { + "evidence": { + "type": "array", + "items": { + "type": "object", + "properties": { + "duplicate_vote_evidence": { + "type": "object", + "properties": { + "vote_a": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } }, - "hash": { - "type": "string", - "format": "byte" + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "vote_b": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "SIGNED_MSG_TYPE_UNKNOWN", + "SIGNED_MSG_TYPE_PREVOTE", + "SIGNED_MSG_TYPE_PRECOMMIT", + "SIGNED_MSG_TYPE_PROPOSAL" + ], + "default": "SIGNED_MSG_TYPE_UNKNOWN", + "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "validator_index": { + "type": "integer", + "format": "int32" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "Vote represents a prevote, precommit, or commit vote from validators for\nconsensus." + }, + "total_voting_power": { + "type": "string", + "format": "int64" + }, + "validator_power": { + "type": "string", + "format": "int64" + }, + "timestamp": { + "type": "string", + "format": "date-time" + } + }, + "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + }, + "light_client_attack_evidence": { + "type": "object", + "properties": { + "conflicting_block": { + "type": "object", + "properties": { + "signed_header": { + "type": "object", + "properties": { + "header": { + "type": "object", + "properties": { + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + }, + "time": { + "type": "string", + "format": "date-time" + }, + "last_block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "last_commit_hash": { + "type": "string", + "format": "byte", + "title": "hashes of block data" + }, + "data_hash": { + "type": "string", + "format": "byte" + }, + "validators_hash": { + "type": "string", + "format": "byte", + "title": "hashes from the app output from the prev block" + }, + "next_validators_hash": { + "type": "string", + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" + }, + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { + "type": "string", + "format": "byte", + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "format": "byte" + } + }, + "description": "Header defines the structure of a block header." + }, + "commit": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "int64" + }, + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "format": "byte" + }, + "part_set_header": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64" + }, + "hash": { + "type": "string", + "format": "byte" + } + }, + "title": "PartsetHeader" + } + }, + "title": "BlockID" + }, + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } + } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." + } + } + }, + "validator_set": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "proposer": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + }, + "total_voting_power": { + "type": "string", + "format": "int64" + } + } + } } }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { + "common_height": { "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" + "format": "int64" }, - "validator_address": { + "byzantine_validators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte" + }, + "pub_key": { + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "voting_power": { + "type": "string", + "format": "int64" + }, + "proposer_priority": { + "type": "string", + "format": "int64" + } + } + } + }, + "total_voting_power": { "type": "string", - "format": "byte" + "format": "int64" }, "timestamp": { "type": "string", "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" } }, - "description": "CommitSig is a part of the Vote included in a Commit." + "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." } } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + } } } }, - "validator_set": { + "last_commit": { "type": "object", "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } + "height": { + "type": "string", + "format": "int64" }, - "proposer": { + "round": { + "type": "integer", + "format": "int32" + }, + "block_id": { "type": "object", "properties": { - "address": { + "hash": { "type": "string", "format": "byte" }, - "pub_key": { + "part_set_header": { "type": "object", "properties": { - "ed25519": { - "type": "string", - "format": "byte" + "total": { + "type": "integer", + "format": "int64" }, - "secp256k1": { + "hash": { "type": "string", "format": "byte" } }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" + "title": "PartsetHeader" } - } + }, + "title": "BlockID" }, - "total_voting_power": { - "type": "string", - "format": "int64" + "signatures": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block_id_flag": { + "type": "string", + "enum": [ + "BLOCK_ID_FLAG_UNKNOWN", + "BLOCK_ID_FLAG_ABSENT", + "BLOCK_ID_FLAG_COMMIT", + "BLOCK_ID_FLAG_NIL" + ], + "default": "BLOCK_ID_FLAG_UNKNOWN", + "title": "BlockIdFlag indicates which BlcokID the signature is for" + }, + "validator_address": { + "type": "string", + "format": "byte" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "signature": { + "type": "string", + "format": "byte" + } + }, + "description": "CommitSig is a part of the Vote included in a Commit." + } } - } + }, + "description": "Commit contains the evidence that a block was committed by a set of validators." } - } - }, - "common_height": { + }, + "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + } + }, + "description": "GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method." + }, + "cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse": { + "type": "object", + "properties": { + "block_height": { "type": "string", "format": "int64" }, - "byzantine_validators": { + "validators": { "type": "array", "items": { "type": "object", "properties": { "address": { - "type": "string", - "format": "byte" + "type": "string" }, "pub_key": { "type": "object", "properties": { - "ed25519": { + "type_url": { "type": "string", - "format": "byte" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "secp256k1": { + "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "title": "PublicKey defines the keys available for use with Validators" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, "voting_power": { "type": "string", @@ -38228,30 +39368,42 @@ "type": "string", "format": "int64" } - } + }, + "description": "Validator is the type for the validator-set." } }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" + "pagination": { + "description": "pagination defines an pagination for the response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } } }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + "description": "GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method." }, - "tendermint.types.SignedHeader": { + "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse": { "type": "object", "properties": { - "header": { + "default_node_info": { "type": "object", "properties": { - "version": { - "title": "basic block info", + "protocol_version": { "type": "object", "properties": { + "p2p": { + "type": "string", + "format": "uint64" + }, "block": { "type": "string", "format": "uint64" @@ -38260,225 +39412,130 @@ "type": "string", "format": "uint64" } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + } }, - "chain_id": { + "default_node_id": { "type": "string" }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" + "listen_addr": { + "type": "string" }, - "consensus_hash": { - "type": "string", - "format": "byte" + "network": { + "type": "string" }, - "app_hash": { - "type": "string", - "format": "byte" + "version": { + "type": "string" }, - "last_results_hash": { + "channels": { "type": "string", "format": "byte" }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" + "moniker": { + "type": "string" }, - "proposer_address": { - "type": "string", - "format": "byte" + "other": { + "type": "object", + "properties": { + "tx_index": { + "type": "string" + }, + "rpc_address": { + "type": "string" + } + } } - }, - "description": "Header defines the structure of a block header." + } }, - "commit": { + "application_version": { "type": "object", "properties": { - "height": { - "type": "string", - "format": "int64" + "name": { + "type": "string" }, - "round": { - "type": "integer", - "format": "int32" + "app_name": { + "type": "string" }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" + "version": { + "type": "string" }, - "signatures": { + "git_commit": { + "type": "string" + }, + "build_tags": { + "type": "string" + }, + "go_version": { + "type": "string" + }, + "build_deps": { "type": "array", "items": { "type": "object", "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { + "path": { "type": "string", - "format": "byte" + "title": "module path" }, - "timestamp": { + "version": { "type": "string", - "format": "date-time" + "title": "module version" }, - "signature": { + "sum": { "type": "string", - "format": "byte" + "title": "checksum" } }, - "description": "CommitSig is a part of the Vote included in a Commit." + "title": "Module is the type for VersionInfo" } + }, + "cosmos_sdk_version": { + "type": "string", + "title": "Since: cosmos-sdk 0.43" } }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "description": "VersionInfo is the type for the GetNodeInfoResponse message." } - } - }, - "tendermint.types.SignedMsgType": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + }, + "description": "GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method." }, - "tendermint.types.Validator": { + "cosmos.base.tendermint.v1beta1.GetSyncingResponse": { "type": "object", "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" + "syncing": { + "type": "boolean" } - } + }, + "description": "GetSyncingResponse is the response type for the Query/GetSyncing RPC method." }, - "tendermint.types.ValidatorSet": { + "cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse": { "type": "object", "properties": { + "block_height": { + "type": "string", + "format": "int64" + }, "validators": { "type": "array", "items": { "type": "object", "properties": { "address": { - "type": "string", - "format": "byte" + "type": "string" }, "pub_key": { "type": "object", "properties": { - "ed25519": { + "type_url": { "type": "string", - "format": "byte" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "secp256k1": { + "value": { "type": "string", - "format": "byte" + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "title": "PublicKey defines the keys available for use with Validators" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, "voting_power": { "type": "string", @@ -38488,69 +39545,59 @@ "type": "string", "format": "int64" } - } + }, + "description": "Validator is the type for the validator-set." } }, - "proposer": { + "pagination": { + "description": "pagination defines an pagination for the response.", "type": "object", "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { + "next_key": { "type": "string", - "format": "int64" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "proposer_priority": { + "total": { "type": "string", - "format": "int64" + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } - }, - "total_voting_power": { - "type": "string", - "format": "int64" } - } + }, + "description": "GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method." }, - "tendermint.types.Vote": { + "cosmos.base.tendermint.v1beta1.Header": { "type": "object", "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" + "version": { + "title": "basic block info", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + }, + "chain_id": { + "type": "string" }, "height": { "type": "string", "format": "int64" }, - "round": { - "type": "integer", - "format": "int32" + "time": { + "type": "string", + "format": "date-time" }, - "block_id": { + "last_block_id": { "type": "object", "properties": { "hash": { @@ -38574,3520 +39621,5256 @@ }, "title": "BlockID" }, - "timestamp": { + "last_commit_hash": { "type": "string", - "format": "date-time" + "format": "byte", + "title": "hashes of block data" }, - "validator_address": { + "data_hash": { "type": "string", "format": "byte" }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { + "validators_hash": { "type": "string", "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." + "title": "hashes from the app output from the prev block" }, - "extension": { + "next_validators_hash": { "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." + "format": "byte" + }, + "consensus_hash": { + "type": "string", + "format": "byte" + }, + "app_hash": { + "type": "string", + "format": "byte" }, - "extension_signature": { + "last_results_hash": { + "type": "string", + "format": "byte" + }, + "evidence_hash": { "type": "string", "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." + "title": "consensus info" + }, + "proposer_address": { + "type": "string", + "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." } }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." + "description": "Header defines the structure of a Tendermint block header." }, - "cosmos.base.tendermint.v1beta1.ABCIQueryResponse": { + "cosmos.base.tendermint.v1beta1.Module": { "type": "object", "properties": { - "code": { - "type": "integer", - "format": "int64" - }, - "log": { - "type": "string" + "path": { + "type": "string", + "title": "module path" }, - "info": { - "type": "string" + "version": { + "type": "string", + "title": "module version" }, - "index": { + "sum": { "type": "string", - "format": "int64" + "title": "checksum" + } + }, + "title": "Module is the type for VersionInfo" + }, + "cosmos.base.tendermint.v1beta1.ProofOp": { + "type": "object", + "properties": { + "type": { + "type": "string" }, "key": { "type": "string", "format": "byte" }, - "value": { + "data": { "type": "string", "format": "byte" + } + }, + "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." + }, + "cosmos.base.tendermint.v1beta1.ProofOps": { + "type": "object", + "properties": { + "ops": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "key": { + "type": "string", + "format": "byte" + }, + "data": { + "type": "string", + "format": "byte" + } + }, + "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." + } + } + }, + "description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint." + }, + "cosmos.base.tendermint.v1beta1.Validator": { + "type": "object", + "properties": { + "address": { + "type": "string" }, - "proof_ops": { + "pub_key": { "type": "object", "properties": { - "ops": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "key": { - "type": "string", - "format": "byte" - }, - "data": { - "type": "string", - "format": "byte" - } - }, - "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." - } + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" }, - "height": { + "voting_power": { "type": "string", "format": "int64" }, - "codespace": { + "proposer_priority": { + "type": "string", + "format": "int64" + } + }, + "description": "Validator is the type for the validator-set." + }, + "cosmos.base.tendermint.v1beta1.VersionInfo": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "app_name": { + "type": "string" + }, + "version": { "type": "string" + }, + "git_commit": { + "type": "string" + }, + "build_tags": { + "type": "string" + }, + "go_version": { + "type": "string" + }, + "build_deps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "title": "module path" + }, + "version": { + "type": "string", + "title": "module version" + }, + "sum": { + "type": "string", + "title": "checksum" + } + }, + "title": "Module is the type for VersionInfo" + } + }, + "cosmos_sdk_version": { + "type": "string", + "title": "Since: cosmos-sdk 0.43" } }, - "description": "ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint." + "description": "VersionInfo is the type for the GetNodeInfoResponse message." }, - "cosmos.base.tendermint.v1beta1.Block": { + "tendermint.p2p.DefaultNodeInfo": { "type": "object", "properties": { - "header": { + "protocol_version": { "type": "object", "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { + "p2p": { "type": "string", - "format": "int64" + "format": "uint64" }, - "time": { + "block": { "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" + "format": "uint64" }, - "last_commit_hash": { + "app": { "type": "string", - "format": "byte", - "title": "hashes of block data" + "format": "uint64" + } + } + }, + "default_node_id": { + "type": "string" + }, + "listen_addr": { + "type": "string" + }, + "network": { + "type": "string" + }, + "version": { + "type": "string" + }, + "channels": { + "type": "string", + "format": "byte" + }, + "moniker": { + "type": "string" + }, + "other": { + "type": "object", + "properties": { + "tx_index": { + "type": "string" }, - "data_hash": { + "rpc_address": { + "type": "string" + } + } + } + } + }, + "tendermint.p2p.DefaultNodeInfoOther": { + "type": "object", + "properties": { + "tx_index": { + "type": "string" + }, + "rpc_address": { + "type": "string" + } + } + }, + "tendermint.p2p.ProtocolVersion": { + "type": "object", + "properties": { + "p2p": { + "type": "string", + "format": "uint64" + }, + "block": { + "type": "string", + "format": "uint64" + }, + "app": { + "type": "string", + "format": "uint64" + } + } + }, + "exocore.dogfood.v1.AccountAddresses": { + "type": "object", + "properties": { + "list": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "list is the list of account addresses." + } + }, + "description": "AccountAddresses represents a list of account addresses. It is used to store the list of\noperator addresses whose operations are maturing at an epoch." + }, + "exocore.dogfood.v1.ExocoreValidator": { + "type": "object", + "properties": { + "address": { + "type": "string", + "format": "byte", + "description": "The address, as derived from the consensus key. It has no relation\nwith the operator's account address." + }, + "power": { + "type": "string", + "format": "int64", + "title": "Last known power" + }, + "pubkey": { + "type": "object", + "properties": { + "type_url": { "type": "string", - "format": "byte" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "validators_hash": { + "value": { "type": "string", "format": "byte", - "title": "hashes from the app output from the prev block" + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + }, + "description": "ExocoreValidator is a validator that is part of the Exocore network. It is\nused to validate and sign blocks." + }, + "exocore.dogfood.v1.Params": { + "type": "object", + "properties": { + "epochs_until_unbonded": { + "type": "integer", + "format": "int64", + "description": "EpochsUntilUnbonded is the number of epochs after which an unbonding\nis released. Note that it starts from the beginning of the next epoch\nin which the unbonding request was received. At that point, the vote\npower is reduced by the amount of the unbonding operation." + }, + "epoch_identifier": { + "type": "string", + "description": "EpochIdentifier is the identifier of the epoch (week, hour, day)." + }, + "max_validators": { + "type": "integer", + "format": "int64", + "description": "MaxValidators is the maximum number of validators." + }, + "historical_entries": { + "type": "integer", + "format": "int64", + "description": "HistoricalEntries is the number of historical entries to persist." + }, + "asset_ids": { + "type": "array", + "items": { + "type": "string" + }, + "title": "AssetIDs is the ids of the assets which will be accepted by the module.\nIt must be within the list of assets supported by the restaking module.\nThe typical format of these IDs is\nlower(assetAddress) + _ + hex(clientChainLzID)" + }, + "min_self_delegation": { + "type": "string", + "description": "MinSelfDelegation is the minimum self delegation in USD required to be a validator." + } + }, + "description": "Params defines the parameters for the module." + }, + "exocore.dogfood.v1.QueryOperatorOptOutFinishEpochResponse": { + "type": "object", + "properties": { + "epoch": { + "type": "string", + "format": "int64", + "description": "epoch is the epoch when the operator's opt-out will finish." + } + }, + "description": "QueryOperatorOptOutFinishEpochResponse is response type for the\nQuery/OperatorOptOutFinishEpoch RPC method." + }, + "exocore.dogfood.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object", + "properties": { + "epochs_until_unbonded": { + "type": "integer", + "format": "int64", + "description": "EpochsUntilUnbonded is the number of epochs after which an unbonding\nis released. Note that it starts from the beginning of the next epoch\nin which the unbonding request was received. At that point, the vote\npower is reduced by the amount of the unbonding operation." }, - "next_validators_hash": { + "epoch_identifier": { "type": "string", - "format": "byte" + "description": "EpochIdentifier is the identifier of the epoch (week, hour, day)." }, - "consensus_hash": { - "type": "string", - "format": "byte" + "max_validators": { + "type": "integer", + "format": "int64", + "description": "MaxValidators is the maximum number of validators." }, - "app_hash": { + "historical_entries": { + "type": "integer", + "format": "int64", + "description": "HistoricalEntries is the number of historical entries to persist." + }, + "asset_ids": { + "type": "array", + "items": { + "type": "string" + }, + "title": "AssetIDs is the ids of the assets which will be accepted by the module.\nIt must be within the list of assets supported by the restaking module.\nThe typical format of these IDs is\nlower(assetAddress) + _ + hex(clientChainLzID)" + }, + "min_self_delegation": { + "type": "string", + "description": "MinSelfDelegation is the minimum self delegation in USD required to be a validator." + } + } + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." + }, + "exocore.dogfood.v1.QueryUndelegationMaturityEpochResponse": { + "type": "object", + "properties": { + "epoch": { + "type": "string", + "format": "int64", + "description": "epoch is the epoch when the undelegation will mature." + } + }, + "description": "QueryUndelegationMaturityEpochResponse is response type for the\nQuery/UndelegationMaturityEpoch RPC method." + }, + "exocore.dogfood.v1.UndelegationRecordKeys": { + "type": "object", + "properties": { + "list": { + "type": "array", + "items": { + "type": "string", + "format": "byte" + }, + "description": "list is the list of undelegation record keys." + } + }, + "description": "UndelegationRecordKeys is a collection of undelegation record keys. This is used to store a\nlist of undelegation records to mature in the delegation module at the end of the epoch." + }, + "exocore.assets.v1.AssetByID": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the id of the asset." + }, + "info": { + "description": "info is the asset info.", + "type": "object", + "properties": { + "total_amount": { "type": "string", - "format": "byte" + "description": "total_amount is the total amount of the asset deposited, which excludes the\npending_undelegation_amount. It represent the total delegated amount of asset pool,\nit will be used to calculate the asset amount of a specified staker from its\ndelegated share." }, - "last_results_hash": { + "pending_undelegation_amount": { "type": "string", - "format": "byte" + "description": "pending_undelegation_amount is the amount that is waiting for unbonding." }, - "evidence_hash": { + "total_share": { "type": "string", - "format": "byte", - "title": "consensus info" + "description": "total_share is the total share of an asset, in the formula to update the staker's share\nS_j = S * T_j / T, `S` represent it.\nSo when the shares of staker and operator change, it also needs to add `S_j` to update." }, - "proposer_address": { + "operator_share": { "type": "string", - "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." - } - }, - "description": "Header defines the structure of a Tendermint block header." - }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + "description": "operator_share is similar to the share of the staker, the calculation and update should\nbe same, the difference is that it represents the share of the operator itself.\nthe field is used to mark operator's own asset share." } - }, - "title": "Data contains the set of transactions included in the block" + } + } + }, + "title": "AssetByID is a helper struct to be used in the genesis state.\nIt is used to store the asset id and its info for an operator.\nIt is named AssetByID (since it is indexed by the assetID)" + }, + "exocore.assets.v1.AssetInfo": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } - } + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "address": { + "type": "string", + "title": "address of the asset on the client chain" + }, + "decimals": { + "type": "integer", + "format": "int64", + "description": "decimals used in the asset, typically 6 or 18." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "description": "layer_zero_chain_id is the chain id of the asset, according to L0." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the asset, like \"Tether USD on Ethereum blockchain\"." + } + }, + "description": "AssetInfo defines the information for an asset to be used in staking." + }, + "exocore.assets.v1.ClientChainInfo": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "name of the client chain, like \"Ethereum\"." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the client chain, like \"Ethereum blockchain\"." + }, + "chain_id": { + "type": "string", + "format": "uint64", + "description": "chain_id of the client chain. Not necessarily the EVM chain id." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "finalization_blocks": { + "type": "string", + "format": "uint64", + "description": "finalization_blocks is the number of blocks to wait for finalization." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "title": "layer_zero_chain_id is the chain id of the client chain, according to L0.\nhttps://layerzero.gitbook.io/docs/technical-reference/mainnet/supported-chain-ids" + }, + "signature_type": { + "type": "string", + "description": "signature_type is the type of signature used to sign the client chain address." + }, + "address_length": { + "type": "integer", + "format": "int64", + "description": "client_chain_addr is the length of addresses on the client chain." + } + }, + "description": "ClientChainInfo defines the client chain information." + }, + "exocore.assets.v1.DepositByAsset": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the id of the asset." + }, + "info": { + "description": "info is the asset info.", + "type": "object", + "properties": { + "total_deposit_amount": { + "type": "string", + "description": "total_deposit_amount is the total amount of the asset deposited." + }, + "withdrawable_amount": { + "type": "string", + "description": "withdrawable_amount is the amount that can be withdrawn." + }, + "pending_undelegation_amount": { + "type": "string", + "description": "pending_undelegation_amount is the amount that is waiting for undelegation." } } + } + }, + "description": "DepositByAsset is a helper struct to be used in the genesis state.\nIt is used to store the asset id and its info for an staker.\nThe info contains the deposit amount, the withdrawable amount\nand the amount currently unbonding.\nIt is named DepositByAsset (since it is indexed by the assetID)\nand not Deposit to prevent conflict with CrossChainOpType." + }, + "exocore.assets.v1.OperatorAssetInfo": { + "type": "object", + "properties": { + "total_amount": { + "type": "string", + "description": "total_amount is the total amount of the asset deposited, which excludes the\npending_undelegation_amount. It represent the total delegated amount of asset pool,\nit will be used to calculate the asset amount of a specified staker from its\ndelegated share." }, - "last_commit": { + "pending_undelegation_amount": { + "type": "string", + "description": "pending_undelegation_amount is the amount that is waiting for unbonding." + }, + "total_share": { + "type": "string", + "description": "total_share is the total share of an asset, in the formula to update the staker's share\nS_j = S * T_j / T, `S` represent it.\nSo when the shares of staker and operator change, it also needs to add `S_j` to update." + }, + "operator_share": { + "type": "string", + "description": "operator_share is similar to the share of the staker, the calculation and update should\nbe same, the difference is that it represents the share of the operator itself.\nthe field is used to mark operator's own asset share." + } + }, + "description": "OperatorAssetInfo defines the information for a single asset,\nfor an operator." + }, + "exocore.assets.v1.Params": { + "type": "object", + "properties": { + "exocore_lz_app_address": { + "type": "string", + "description": "exocore_lz_app_address is the address of ExocoreGateway.sol." + }, + "exocore_lz_app_event_topic": { + "type": "string", + "description": "exocore_lz_app_event_topic is the topic of the exocore lz app event." + } + }, + "description": "GenesisState defines the deposit module's genesis state." + }, + "exocore.assets.v1.QueryAllClientChainInfoResponse": { + "type": "object", + "properties": { + "all_client_chain_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "name of the client chain, like \"Ethereum\"." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the client chain, like \"Ethereum blockchain\"." + }, + "chain_id": { + "type": "string", + "format": "uint64", + "description": "chain_id of the client chain. Not necessarily the EVM chain id." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "finalization_blocks": { + "type": "string", + "format": "uint64", + "description": "finalization_blocks is the number of blocks to wait for finalization." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "title": "layer_zero_chain_id is the chain id of the client chain, according to L0.\nhttps://layerzero.gitbook.io/docs/technical-reference/mainnet/supported-chain-ids" + }, + "signature_type": { + "type": "string", + "description": "signature_type is the type of signature used to sign the client chain address." + }, + "address_length": { + "type": "integer", + "format": "int64", + "description": "client_chain_addr is the length of addresses on the client chain." + } + }, + "description": "ClientChainInfo defines the client chain information." + }, + "description": "all_client_chain_infos is a list of all client chain info." + }, + "pagination": { + "description": "pagination related response.", "type": "object", "properties": { - "height": { + "next_key": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "description": "QueryAllClientChainInfoResponse is the response for all client chains info." + }, + "exocore.assets.v1.QueryAllStakingAssetsInfoResponse": { + "type": "object", + "properties": { + "all_staking_assets_info": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_basic_info": { + "description": "asset_basic_info is the basic information of the asset.", + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" }, - "title": "PartsetHeader" + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "address": { + "type": "string", + "title": "address of the asset on the client chain" + }, + "decimals": { + "type": "integer", + "format": "int64", + "description": "decimals used in the asset, typically 6 or 18." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "description": "layer_zero_chain_id is the chain id of the asset, according to L0." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the asset, like \"Tether USD on Ethereum blockchain\"." + } } }, - "title": "BlockID" + "staking_total_amount": { + "type": "string", + "description": "staking_total_amount is the total amount of the asset staked." + } }, - "signatures": { - "type": "array", - "items": { + "description": "StakingAssetInfo defines the information for an asset to be used in staking." + }, + "description": "all_staking_assets_info is the response for all staking assets info." + } + }, + "description": "QueryAllStakingAssetsInfoResponse is the response for all staking assets info,\nindexed by the asset id." + }, + "exocore.assets.v1.QueryAssetInfoResponse": { + "type": "object", + "properties": { + "asset_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the id of the asset." + }, + "info": { + "description": "info is the asset info.", "type": "object", "properties": { - "block_id_flag": { + "total_deposit_amount": { "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" + "description": "total_deposit_amount is the total amount of the asset deposited." }, - "validator_address": { + "withdrawable_amount": { "type": "string", - "format": "byte" + "description": "withdrawable_amount is the amount that can be withdrawn." }, - "timestamp": { + "pending_undelegation_amount": { "type": "string", - "format": "date-time" + "description": "pending_undelegation_amount is the amount that is waiting for undelegation." + } + } + } + }, + "description": "DepositByAsset is a helper struct to be used in the genesis state.\nIt is used to store the asset id and its info for an staker.\nThe info contains the deposit amount, the withdrawable amount\nand the amount currently unbonding.\nIt is named DepositByAsset (since it is indexed by the assetID)\nand not Deposit to prevent conflict with CrossChainOpType." + }, + "description": "asset_infos is the response for the staker asset info, indexed by the asset id." + } + }, + "description": "QueryAssetInfoResponse is the response for the staker asset info." + }, + "exocore.assets.v1.QueryOperatorAssetInfosResponse": { + "type": "object", + "properties": { + "asset_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the id of the asset." + }, + "info": { + "description": "info is the asset info.", + "type": "object", + "properties": { + "total_amount": { + "type": "string", + "description": "total_amount is the total amount of the asset deposited, which excludes the\npending_undelegation_amount. It represent the total delegated amount of asset pool,\nit will be used to calculate the asset amount of a specified staker from its\ndelegated share." }, - "signature": { + "pending_undelegation_amount": { "type": "string", - "format": "byte" + "description": "pending_undelegation_amount is the amount that is waiting for unbonding." + }, + "total_share": { + "type": "string", + "description": "total_share is the total share of an asset, in the formula to update the staker's share\nS_j = S * T_j / T, `S` represent it.\nSo when the shares of staker and operator change, it also needs to add `S_j` to update." + }, + "operator_share": { + "type": "string", + "description": "operator_share is similar to the share of the staker, the calculation and update should\nbe same, the difference is that it represents the share of the operator itself.\nthe field is used to mark operator's own asset share." } - }, - "description": "CommitSig is a part of the Vote included in a Commit." + } } - } + }, + "title": "AssetByID is a helper struct to be used in the genesis state.\nIt is used to store the asset id and its info for an operator.\nIt is named AssetByID (since it is indexed by the assetID)" }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "description": "asset_infos is the response for the operator asset info, indexed by the asset id." } }, - "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + "description": "QueryOperatorAssetInfosResponse is the response to the operator asset info query." }, - "cosmos.base.tendermint.v1beta1.GetBlockByHeightResponse": { + "exocore.assets.v1.QueryParamsResponse": { "type": "object", "properties": { - "block_id": { + "params": { + "description": "params defines the parameters for this module.", "type": "object", "properties": { - "hash": { + "exocore_lz_app_address": { "type": "string", - "format": "byte" + "description": "exocore_lz_app_address is the address of ExocoreGateway.sol." }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" + "exocore_lz_app_event_topic": { + "type": "string", + "description": "exocore_lz_app_event_topic is the topic of the exocore lz app event." } - }, - "title": "BlockID" + } + } + }, + "description": "QueryParamsResponse is the response type for the Query/Params RPC\nmethod." + }, + "exocore.assets.v1.StakerAssetInfo": { + "type": "object", + "properties": { + "total_deposit_amount": { + "type": "string", + "description": "total_deposit_amount is the total amount of the asset deposited." }, - "block": { - "title": "Deprecated: please use `sdk_block` instead", + "withdrawable_amount": { + "type": "string", + "description": "withdrawable_amount is the amount that can be withdrawn." + }, + "pending_undelegation_amount": { + "type": "string", + "description": "pending_undelegation_amount is the amount that is waiting for undelegation." + } + }, + "description": "StakerAssetInfo defines the information for a single asset.\nThe type include three states:\nstaker's deposited, withdrawable, and currently unbonding amount." + }, + "exocore.assets.v1.StakingAssetInfo": { + "type": "object", + "properties": { + "asset_basic_info": { + "description": "asset_basic_info is the basic information of the asset.", "type": "object", "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "address": { + "type": "string", + "title": "address of the asset on the client chain" + }, + "decimals": { + "type": "integer", + "format": "int64", + "description": "decimals used in the asset, typically 6 or 18." + }, + "layer_zero_chain_id": { + "type": "string", + "format": "uint64", + "description": "layer_zero_chain_id is the chain id of the asset, according to L0." + }, + "exocore_chain_index": { + "type": "string", + "format": "uint64", + "description": "exocore_chain_index is the index of the client chain within the exosystem." + }, + "meta_info": { + "type": "string", + "description": "meta_info about the asset, like \"Tether USD on Ethereum blockchain\"." + } + } + }, + "staking_total_amount": { + "type": "string", + "description": "staking_total_amount is the total amount of the asset staked." + } + }, + "description": "StakingAssetInfo defines the information for an asset to be used in staking." + }, + "exocore.slash.v1.Params": { + "type": "object", + "description": "Params defines the parameters for the module." + }, + "exocore.slash.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object" + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." + }, + "exocore.oracle.v1.Action": { + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened", + "title": "Action defines the reason the balance changed" + }, + "exocore.oracle.v1.BalanceInfo": { + "type": "object", + "properties": { + "round_id": { + "type": "string", + "format": "uint64", + "title": "current round of price, this is updated based on tokenFeeder" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "on which block the balance updated, deposit/withdraw will update this and round_id might not change" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index used to distinguish multiple balanceInfo for one same roundid" + }, + "balance": { + "type": "string", + "format": "int64", + "title": "beaconchain epoch related to slash_refund\nuint epoch = 3;" + }, + "change": { + "title": "change tells the reason balance changed", + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened" + } + }, + "title": "BalanceInfo tells effective-balance for native-restaking asset" + }, + "exocore.oracle.v1.Chain": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "exocore.oracle.v1.ConsensusMode": { + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "exocore.oracle.v1.Endpoint": { + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + }, + "title": "Endpoint tells where to fetch the price info" + }, + "exocore.oracle.v1.IndexRecentMsg": { + "type": "object", + "properties": { + "index": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "index list" + } + }, + "title": "index for the cached recent messages" + }, + "exocore.oracle.v1.IndexRecentParams": { + "type": "object", + "properties": { + "index": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "index list" + } + }, + "title": "index for the cached recent params" + }, + "exocore.oracle.v1.MsgItem": { + "type": "object", + "properties": { + "feeder_id": { + "type": "string", + "format": "uint64", + "title": "feeder_id tells of wich feeder this price if corresponding to" + }, + "p_sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_id": { + "type": "string", + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" + }, + "prices": { + "type": "array", + "items": { "type": "object", "properties": { - "block": { + "price": { "type": "string", - "format": "uint64" + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" }, - "app": { + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { "type": "string", - "format": "uint64" + "title": "timestamp when the price corresponding to" + }, + "det_id": { + "type": "string", + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" } }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" }, - "time": { + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." + }, + "desc": { + "type": "string", + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "title": "p_source price with its source info" + }, + "validator": { + "type": "string", + "title": "validator tells which validator create this price" + } + }, + "title": "MsgItem represents the message info of createPrice" + }, + "exocore.oracle.v1.NOMSource": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } + }, + "title": "n out of m required source" + }, + "exocore.oracle.v1.Params": { + "type": "object", + "properties": { + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { "type": "string", - "format": "date-time" + "format": "uint64" }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { "type": "string", - "format": "byte" + "format": "uint64" }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { + "minimum": { "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } } - }, - "title": "Data contains the set of transactions included in the block" + } }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" + } + } + } + }, + "description": "Params defines the parameters for the module." + }, + "exocore.oracle.v1.PriceSource": { + "type": "object", + "properties": { + "source_id": { + "type": "string", + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" + }, + "prices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price corresponding to" + }, + "det_id": { + "type": "string", + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" + } + }, + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." + }, + "desc": { + "type": "string", + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "exocore.oracle.v1.PriceTimeDetID": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price corresponding to" + }, + "det_id": { + "type": "string", + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" + } + }, + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "exocore.oracle.v1.PriceTimeRound": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price is corresponded" + }, + "round_id": { + "type": "string", + "format": "uint64", + "title": "roundid of the price if the source is deteministic" + } + }, + "title": "price with its specified timestamp and roundid(if from deteministic source)" + }, + "exocore.oracle.v1.Prices": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "for which token these prices are" + }, + "next_round_id": { + "type": "string", + "format": "uint64", + "title": "next round id of the price to be updated" + }, + "price_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price is corresponded" + }, + "round_id": { + "type": "string", + "format": "uint64", + "title": "roundid of the price if the source is deteministic" + } + }, + "title": "price with its specified timestamp and roundid(if from deteministic source)" + }, + "title": "price list of all history round prices for the token" + } + }, + "title": "prices of all rounds of a specific token" + }, + "exocore.oracle.v1.QueryAllRecentMsgResponse": { + "type": "object", + "properties": { + "recent_msg": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height these messages from" + }, + "msgs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeder_id": { + "type": "string", + "format": "uint64", + "title": "feeder_id tells of wich feeder this price if corresponding to" + }, + "p_sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_id": { "type": "string", - "format": "int64" + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" }, - "byzantine_validators": { + "prices": { "type": "array", "items": { "type": "object", "properties": { - "address": { + "price": { "type": "string", - "format": "byte" + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" }, - "voting_power": { + "timestamp": { "type": "string", - "format": "int64" + "title": "timestamp when the price corresponding to" }, - "proposer_priority": { + "det_id": { "type": "string", - "format": "int64" + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" } - } - } + }, + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." }, - "total_voting_power": { + "desc": { "type": "string", - "format": "int64" - }, - "timestamp": { + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "title": "p_source price with its source info" + }, + "validator": { + "type": "string", + "title": "validator tells which validator create this price" + } + }, + "title": "MsgItem represents the message info of createPrice" + }, + "title": "cached messages" + } + }, + "title": "RecentMsg represent the messages to be cached for recent blocks" + }, + "title": "recent_msg represets the cached recent message" + }, + "pagination": { + "title": "info of pagination", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + } + }, + "title": "QueryAllRecentMsgResponse" + }, + "exocore.oracle.v1.QueryAllRecentParamsResponse": { + "type": "object", + "properties": { + "recent_params": { + "type": "array", + "items": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height of which the params from" + }, + "params": { + "title": "params the module params", + "type": "object", + "properties": { + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { "type": "string", - "format": "date-time" + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } } + } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" + } + } + } + }, + "description": "Params defines the parameters for the module." + } + }, + "title": "RecentParams represents the params cached for recent blocks" + }, + "title": "recent_params cached recent params" + }, + "pagination": { + "title": "info of pagination", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + }, + "description": "PageResponse is to be embedded in gRPC response messages where the\ncorresponding request message has used PageRequest.\n\n message SomeResponse {\n repeated Bar results = 1;\n PageResponse page = 2;\n }" + } + }, + "title": "QueryAllRecentParamsResponse" + }, + "exocore.oracle.v1.QueryGetIndexRecentMsgResponse": { + "type": "object", + "properties": { + "index_recent_msg": { + "title": "index_recent_msg index of cached recent messages", + "type": "object", + "properties": { + "index": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "index list" + } + } + } + }, + "title": "QueryIndexRecentMsgResponse" + }, + "exocore.oracle.v1.QueryGetIndexRecentParamsResponse": { + "type": "object", + "properties": { + "index_recent_params": { + "title": "index_recent_params index of cached recent params", + "type": "object", + "properties": { + "index": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "index list" + } + } + } + }, + "title": "QueryGetIndexRecentParamsResponse" + }, + "exocore.oracle.v1.QueryGetLatestPriceResponse": { + "type": "object", + "properties": { + "price": { + "title": "prices returned prices", + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price is corresponded" + }, + "round_id": { + "type": "string", + "format": "uint64", + "title": "roundid of the price if the source is deteministic" + } + } + } + }, + "title": "QueryGetLatestPriceResponse" + }, + "exocore.oracle.v1.QueryGetPricesResponse": { + "type": "object", + "properties": { + "prices": { + "title": "prices returned prices", + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "for which token these prices are" + }, + "next_round_id": { + "type": "string", + "format": "uint64", + "title": "next round id of the price to be updated" + }, + "price_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price is corresponded" + }, + "round_id": { + "type": "string", + "format": "uint64", + "title": "roundid of the price if the source is deteministic" + } + }, + "title": "price with its specified timestamp and roundid(if from deteministic source)" + }, + "title": "price list of all history round prices for the token" + } + } + } + }, + "title": "QueryGetPricesResponse" + }, + "exocore.oracle.v1.QueryGetRecentMsgResponse": { + "type": "object", + "properties": { + "recent_msg": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height these messages from" + }, + "msgs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeder_id": { + "type": "string", + "format": "uint64", + "title": "feeder_id tells of wich feeder this price if corresponding to" + }, + "p_sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_id": { + "type": "string", + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" + }, + "prices": { + "type": "array", + "items": { + "type": "object", + "properties": { + "price": { + "type": "string", + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" + }, + "timestamp": { + "type": "string", + "title": "timestamp when the price corresponding to" + }, + "det_id": { + "type": "string", + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" + } + }, + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } + "desc": { + "type": "string", + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "title": "p_source price with its source info" + }, + "validator": { + "type": "string", + "title": "validator tells which validator create this price" } - } - } + }, + "title": "MsgItem represents the message info of createPrice" + }, + "title": "cached messages" + } + }, + "title": "RecentMsg represent the messages to be cached for recent blocks" + } + }, + "title": "QueryGetRecentMsgResponse" + }, + "exocore.oracle.v1.QueryGetRecentParamsResponse": { + "type": "object", + "properties": { + "recent_params": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height of which the params from" }, - "last_commit": { + "params": { + "title": "params the module params", "type": "object", "properties": { - "height": { - "type": "string", - "format": "int64" + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" }, - "round": { - "type": "integer", - "format": "int32" + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { "type": "string", - "format": "byte" - } + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" }, - "title": "PartsetHeader" - } + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } + } + } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" }, - "title": "BlockID" + "title": "rules specified on how to decide the provided price source to be accept" }, - "signatures": { + "token_feeders": { "type": "array", "items": { "type": "object", "properties": { - "block_id_flag": { + "token_id": { "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" + "format": "uint64", + "title": "refer to params.tokenList, from 1" }, - "validator_address": { + "rule_id": { "type": "string", - "format": "byte" + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" }, - "timestamp": { + "start_round_id": { "type": "string", - "format": "date-time" + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" }, - "signature": { + "start_base_block": { "type": "string", - "format": "byte" + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" } }, - "description": "CommitSig is a part of the Vote included in a Commit." + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" + } } } }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "description": "Params defines the parameters for the module." + } + }, + "title": "RecentParams represents the params cached for recent blocks" + } + }, + "title": "QueryGetRecentParamsResponse" + }, + "exocore.oracle.v1.QueryGetValidatorUpdateBlockResponse": { + "type": "object", + "properties": { + "validator_update_block": { + "title": "ValidatorUpdateBlock tells the latest block on which the valdiator set was updated", + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height on which the validator set changed" } } - }, - "sdk_block": { - "title": "Since: cosmos-sdk 0.47", + } + }, + "title": "QueryGetValidatorUpdateBlockResponse" + }, + "exocore.oracle.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", "type": "object", "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" + "desc": { + "type": "string", + "title": "TODO: metadata" + } }, - "height": { - "type": "string", - "format": "int64" + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } }, - "time": { - "type": "string", - "format": "date-time" + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { "type": "string", - "format": "byte" + "format": "uint64" }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { "type": "string", - "format": "byte" - } + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" }, - "title": "PartsetHeader" + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } } - }, - "title": "BlockID" + } }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } }, - "data_hash": { + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { "type": "string", - "format": "byte" + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" }, - "validators_hash": { + "min_reported_per_window": { "type": "string", "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" }, - "app_hash": { + "oracle_miss_jail_duration": { "type": "string", - "format": "byte" + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" }, - "last_results_hash": { + "oracle_malicious_jail_duration": { "type": "string", - "format": "byte" + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" }, - "evidence_hash": { + "slash_fraction_miss": { "type": "string", "format": "byte", - "title": "consensus info" + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" }, - "proposer_address": { + "slash_fraction_malicious": { "type": "string", - "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" } + } + } + } + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." + }, + "exocore.oracle.v1.QueryStakerInfoResponse": { + "type": "object", + "properties": { + "staker_info": { + "title": "all staker infos under the specified asset", + "type": "object", + "properties": { + "staker_addr": { + "type": "string", + "title": "staker's address" + }, + "staker_index": { + "type": "string", + "format": "int64", + "title": "the index of corresponding staker in staker list" + }, + "validator_pubkey_list": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of validators that this staker corresponding to on beacon chain" + }, + "balance_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "round_id": { + "type": "string", + "format": "uint64", + "title": "current round of price, this is updated based on tokenFeeder" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "on which block the balance updated, deposit/withdraw will update this and round_id might not change" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index used to distinguish multiple balanceInfo for one same roundid" + }, + "balance": { + "type": "string", + "format": "int64", + "title": "beaconchain epoch related to slash_refund\nuint epoch = 3;" + }, + "change": { + "title": "change tells the reason balance changed", + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened" + } + }, + "title": "BalanceInfo tells effective-balance for native-restaking asset" + }, + "title": "list of balances to represets the history of this staker" + } + } + } + }, + "title": "QueryStakerInfoResponse is response type for Query/StakerInfo RCP method" + }, + "exocore.oracle.v1.QueryStakerInfosResponse": { + "type": "object", + "properties": { + "staker_infos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_addr": { + "type": "string", + "title": "staker's address" + }, + "staker_index": { + "type": "string", + "format": "int64", + "title": "the index of corresponding staker in staker list" + }, + "validator_pubkey_list": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of validators that this staker corresponding to on beacon chain" + }, + "balance_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "round_id": { + "type": "string", + "format": "uint64", + "title": "current round of price, this is updated based on tokenFeeder" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "on which block the balance updated, deposit/withdraw will update this and round_id might not change" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index used to distinguish multiple balanceInfo for one same roundid" + }, + "balance": { + "type": "string", + "format": "int64", + "title": "beaconchain epoch related to slash_refund\nuint epoch = 3;" + }, + "change": { + "title": "change tells the reason balance changed", + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened" + } + }, + "title": "BalanceInfo tells effective-balance for native-restaking asset" + }, + "title": "list of balances to represets the history of this staker" + } + }, + "title": "StakerInfo represents all related information for a staker of native-restaking" + }, + "title": "all staker infos under the specified asset" + } + }, + "title": "QueryStakerInfosResponse is response type for Query/StakerInfo RCP method" + }, + "exocore.oracle.v1.QueryStakerListResponse": { + "type": "object", + "properties": { + "staker_list": { + "title": "staker list including all stakers of request asset", + "type": "object", + "properties": { + "staker_addrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "staker's address" + } + } + } + }, + "title": "QueryStakerListResponse is response type for Query/StakerList RPC method" + }, + "exocore.oracle.v1.QueryTokenIndexesResponse": { + "type": "object", + "properties": { + "token_indexes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token": { + "type": "string", + "title": "token name" }, - "description": "Header defines the structure of a Tendermint block header." + "index": { + "type": "string", + "format": "uint64", + "title": "the index registered in params.Token" + } }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } + "title": "TokenIndex is the pair of tokenName and its index defined in params" + }, + "title": "token_indexes includes all the token-index mapping" + } + }, + "title": "QueryTokenIndexesResponse is response type for Query/TokenIndexes RPC method" + }, + "exocore.oracle.v1.RecentMsg": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height these messages from" + }, + "msgs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "feeder_id": { + "type": "string", + "format": "uint64", + "title": "feeder_id tells of wich feeder this price if corresponding to" }, - "title": "Data contains the set of transactions included in the block" - }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { + "p_sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_id": { + "type": "string", + "format": "uint64", + "title": "source_id refers to id from Params.SourceList, where this price fetched from, 0 is reserved for custom usage" + }, + "prices": { + "type": "array", + "items": { "type": "object", "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { + "price": { "type": "string", - "format": "int64" + "title": "price at a specific point(timestamp of non-deterministic source, roundId of deteministic source)" }, - "validator_power": { - "type": "string", - "format": "int64" + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of the corresponding price" }, "timestamp": { "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" + "title": "timestamp when the price corresponding to" }, - "timestamp": { + "det_id": { "type": "string", - "format": "date-time" + "title": "det_id is used for deterministic source to tell of which round from this source the price is corresponded" } }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + "title": "token price with timestamp fetched from source\n{price:\"12345\",decimal:\"2\"}->price: 123.45 usdt" + }, + "description": "if source is deteministic like chainlink with roundID, set this value with which returned from source\nup to 3 values in case of the async of network, to give more time for oracle nodes(validators) get into consensus\neg.with deterministic source, this array will contian 3 continuous values up to latest\nfor non-deterministic source, it's a choice by v2 rules." + }, + "desc": { + "type": "string", + "title": "used for 0-sourceID-customDefinedSource" + } + }, + "title": "price with its corresponding source" + }, + "title": "p_source price with its source info" + }, + "validator": { + "type": "string", + "title": "validator tells which validator create this price" + } + }, + "title": "MsgItem represents the message info of createPrice" + }, + "title": "cached messages" + } + }, + "title": "RecentMsg represent the messages to be cached for recent blocks" + }, + "exocore.oracle.v1.RecentParams": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height of which the params from" + }, + "params": { + "title": "params the module params", + "type": "object", + "properties": { + "chains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "eg.\"bitcoin\"" + }, + "desc": { + "type": "string", + "title": "TODO: metadata" + } + }, + "title": "Chain represents for the Chain on which token contracts deployed" + }, + "title": "chains represents the blockchains info" + }, + "tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "title": "tokens info" + }, + "sources": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "title": "sources info from where the price data would be fetched" + }, + "rules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" } } } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "title": "rules specified on how to decide the provided price source to be accept" + }, + "token_feeders": { + "type": "array", + "items": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "title": "each tokenFeeder represents an active token whose price being updated" + }, + "max_nonce": { + "type": "integer", + "format": "int32", + "title": "for each round allow at most max_nonce transactions to be sent by one validator, [1,max_nonce]" + }, + "threshold_a": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "threshold_b": { + "type": "integer", + "format": "int32", + "title": "voting power need to reach more than threshold_a/threshold_b" + }, + "mode": { + "title": "for v1, mode=1, get final price as soon as voting power reach threshold_a/threshold_b", + "type": "string", + "enum": [ + "CONSENSUS_MODE_UNSPECIFIED", + "CONSENSUS_MODE_ASAP" + ], + "default": "CONSENSUS_MODE_UNSPECIFIED", + "description": "ConsensusMode defines the consensus mode for the prices.\n\n - CONSENSUS_MODE_UNSPECIFIED: CONSENSUS_MODE_UNSPECIFIED defines an invalid mode.\n - CONSENSUS_MODE_ASAP: CONSENSUS_MODE_ASAP defines the mode to get final price immediately when the voting power\nexceeds the threshold." + }, + "max_det_id": { + "type": "integer", + "format": "int32", + "title": "for each round, a validator only allowed to provide at most max_det_id consecutive rounds of prices for DS" + }, + "max_size_prices": { + "type": "integer", + "format": "int32", + "title": "for each token, only keep max_size_prices round of prices" + }, + "slashing": { + "title": "slashing defines the slashing related params", + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" } } + } + }, + "description": "Params defines the parameters for the module." + } + }, + "title": "RecentParams represents the params cached for recent blocks" + }, + "exocore.oracle.v1.RuleSource": { + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "refer to params.sourceList.ID, when length>0, ignore the other field, when 1st set to 0, means all valid sources,\nlength==0->check next field:minimum" + }, + "nom": { + "title": "n out of total sources are required", + "type": "object", + "properties": { + "source_ids": { + "type": "array", + "items": { + "type": "string", + "format": "uint64" + }, + "title": "required source set, refer to params.sourceList, 1st set to 0 means all valid sources" + }, + "minimum": { + "type": "string", + "format": "uint64", + "title": "minimum number from the required sources to be fullfiled" + } + } + } + }, + "title": "specify data from which source is needed\nrule_1: specified sources\nrule_2: n out of total sources are required" + }, + "exocore.oracle.v1.SlashingParams": { + "type": "object", + "properties": { + "reported_rounds_window": { + "type": "string", + "format": "int64", + "title": "reported_rounds_window defines how many rounds included in one window for performance review of missing report" + }, + "min_reported_per_window": { + "type": "string", + "format": "byte", + "title": "min_reported_perwindow defines at least how many rounds should be reported, this is a percentage of window" + }, + "oracle_miss_jail_duration": { + "type": "string", + "title": "oracle_miss_jail_duration defines the duration one validator should be jailed for missing reporting price" + }, + "oracle_malicious_jail_duration": { + "type": "string", + "title": "oracle_malicious_jail_duration defines the duratin one validator should be jailed for malicious behavior" + }, + "slash_fraction_miss": { + "type": "string", + "format": "byte", + "title": "slash_fraction_miss defines the fraction one validator should be punished for msissing reporting price" + }, + "slash_fraction_malicious": { + "type": "string", + "format": "byte", + "title": "slash_fraction_malicious defines the fraction one validator should be punished for malicious behavior" + } + }, + "title": "slashing related params" + }, + "exocore.oracle.v1.Source": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of price source, like 'chainlink'" + }, + "entry": { + "title": "endpoint of corresponding source to fetch price data from", + "type": "object", + "properties": { + "offchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"https://chainlink.../eth\"" + }, + "onchain": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "title": "url int refer to TokenList.ID, 0 reprents default for all (as fall back)\nkey refer to tokenID, 1->\"eth://0xabc...def\"" + } + } + }, + "valid": { + "type": "boolean", + "title": "set false when the source is out of service or reject to accept this source for official service" + }, + "deterministic": { + "type": "boolean", + "title": "if this source is deteministic or not" + } + }, + "title": "Source represents price data source" + }, + "exocore.oracle.v1.StakerInfo": { + "type": "object", + "properties": { + "staker_addr": { + "type": "string", + "title": "staker's address" + }, + "staker_index": { + "type": "string", + "format": "int64", + "title": "the index of corresponding staker in staker list" + }, + "validator_pubkey_list": { + "type": "array", + "items": { + "type": "string" + }, + "title": "list of validators that this staker corresponding to on beacon chain" + }, + "balance_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "round_id": { + "type": "string", + "format": "uint64", + "title": "current round of price, this is updated based on tokenFeeder" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "on which block the balance updated, deposit/withdraw will update this and round_id might not change" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "index used to distinguish multiple balanceInfo for one same roundid" + }, + "balance": { + "type": "string", + "format": "int64", + "title": "beaconchain epoch related to slash_refund\nuint epoch = 3;" + }, + "change": { + "title": "change tells the reason balance changed", + "type": "string", + "enum": [ + "ACTION_ROUND_UNSPECIFIED", + "ACTION_DEPOSIT", + "ACTION_WITHDRAW", + "ACTION_SLASH_REFUND" + ], + "default": "ACTION_ROUND_UNSPECIFIED", + "description": "- ACTION_ROUND_UNSPECIFIED: balance updated when a new round generated\n - ACTION_DEPOSIT: balance updated when a deposit happened\n - ACTION_WITHDRAW: balance updated when a withdraw happened\n - ACTION_SLASH_REFUND: balance updatd when a slah/refund on beacon chain happened" + } + }, + "title": "BalanceInfo tells effective-balance for native-restaking asset" + }, + "title": "list of balances to represets the history of this staker" + } + }, + "title": "StakerInfo represents all related information for a staker of native-restaking" + }, + "exocore.oracle.v1.StakerList": { + "type": "object", + "properties": { + "staker_addrs": { + "type": "array", + "items": { + "type": "string" + }, + "title": "staker's address" + } + }, + "title": "StakerList tells which stakers are active for one specific native-restaking asset" + }, + "exocore.oracle.v1.Token": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "token name" + }, + "chain_id": { + "type": "string", + "format": "uint64", + "title": "id refer to chainList's index" + }, + "contract_address": { + "type": "string", + "title": "if any, like erc20 tokens" + }, + "decimal": { + "type": "integer", + "format": "int32", + "title": "decimal of token price" + }, + "active": { + "type": "boolean", + "title": "set false when we stop official price oracle service for a specified token" + }, + "asset_id": { + "type": "string", + "title": "refer to assetID from assets module if exists" + } + }, + "title": "Token represents the token info" + }, + "exocore.oracle.v1.TokenFeeder": { + "type": "object", + "properties": { + "token_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.tokenList, from 1" + }, + "rule_id": { + "type": "string", + "format": "uint64", + "title": "refer to params.ruleList, 0 means no restriction, accept any source including customer defined" + }, + "start_round_id": { + "type": "string", + "format": "uint64", + "title": "include, from 1, when some token's feeder had been stop and then restart,\nthe token_id will be continuous from previous one" + }, + "start_base_block": { + "type": "string", + "format": "uint64", + "title": "include, first block which start_round_id can be settled is at least start_base_block+1" + }, + "interval": { + "type": "string", + "format": "uint64", + "title": "set as count of blocks, for how many blocks interval the price will be update once" + }, + "end_block": { + "type": "string", + "format": "uint64", + "title": "tokenfeeder is initialized with forever live, update the End parameters by voting,\nand will off service by the end\nthis is set by updateParams, and the EndRoundID will be update by related. excluded,\nwill not work if current height >=EndBlock" + } + }, + "title": "Tokenfeeder represents a price oracle for one token" + }, + "exocore.oracle.v1.TokenIndex": { + "type": "object", + "properties": { + "token": { + "type": "string", + "title": "token name" + }, + "index": { + "type": "string", + "format": "uint64", + "title": "the index registered in params.Token" + } + }, + "title": "TokenIndex is the pair of tokenName and its index defined in params" + }, + "exocore.oracle.v1.ValidatorUpdateBlock": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "block height on which the validator set changed" + } + }, + "title": "ValidatorUpdateBlock" + }, + "exocore.exomint.v1.Params": { + "type": "object", + "properties": { + "mint_denom": { + "type": "string", + "title": "mint_denom is the denomination of the minted coin" + }, + "epoch_reward": { + "type": "string", + "description": "epoch_reward is the reward minted by the module, per epoch. note that\nthis is in addition to any other fees that are collected, or rewards\nthat are minted." + }, + "epoch_identifier": { + "type": "string", + "description": "epoch_identifier is the epoch identifier used to determine when to mint\nthe reward." + } + }, + "description": "Params defines the parameters for the module." + }, + "exocore.exomint.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object", + "properties": { + "mint_denom": { + "type": "string", + "title": "mint_denom is the denomination of the minted coin" + }, + "epoch_reward": { + "type": "string", + "description": "epoch_reward is the reward minted by the module, per epoch. note that\nthis is in addition to any other fees that are collected, or rewards\nthat are minted." + }, + "epoch_identifier": { + "type": "string", + "description": "epoch_identifier is the epoch identifier used to determine when to mint\nthe reward." + } + } + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." + }, + "exocore.feedistribution.v1.Params": { + "type": "object", + "properties": { + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier for fee distribution" + }, + "community_tax": { + "type": "string", + "title": "community_tax is the tax defined for allocation" + } + }, + "description": "Params defines the parameters for the module." + }, + "exocore.feedistribution.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object", + "properties": { + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier for fee distribution" + }, + "community_tax": { + "type": "string", + "title": "community_tax is the tax defined for allocation" + } + } + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." + }, + "exocore.delegation.v1.DelegationAmounts": { + "type": "object", + "properties": { + "undelegatable_share": { + "type": "string", + "description": "undelegatable_share is the share that can be undelegated.\nIt's to reduce the state updating when slash occurs.\nS_j = S * T_j / T, `S` and `T` is the current asset share and amount of operator,\nand the T_j represents the change in staker's asset amount when some external\noperations occur, such as: delegation, undelegation and slashing.\nS_j represents the change in the staker's asset share,\nso the updated share should be added by it.\nA special case is the initial delegation, when T = 0 and S = 0, so T_j / T is undefined.\nFor the initial delegation, delegator j who delegates T_j tokens receive S_j = T_j shares." + }, + "wait_undelegation_amount": { + "type": "string", + "description": "wait_undelegation_amount is the amount that is waiting to be unbonded." + } + }, + "description": "DelegationAmounts is the delegation amount response for a single delegation." + }, + "exocore.delegation.v1.QueryAssociatedOperatorByStakerResponse": { + "type": "object", + "properties": { + "operator": { + "type": "string", + "title": "operator is the returned operator owner of the specified staker" + } + }, + "title": "QueryAssociatedOperatorByStakerResponse is the response to QueryAssociatedOperatorByStakerReq" + }, + "exocore.delegation.v1.QueryAssociatedStakersByOperatorResponse": { + "type": "object", + "properties": { + "stakers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "stakers is the returned stakers associated to the specified operator" + } + }, + "title": "QueryAssociatedStakersByOperatorResponse is the response to QueryAssociatedStakersByOperatorReq" + }, + "exocore.delegation.v1.QueryDelegationInfoResponse": { + "type": "object", + "properties": { + "delegation_infos": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "undelegatable_share": { + "type": "string", + "description": "undelegatable_share is the share that can be undelegated.\nIt's to reduce the state updating when slash occurs.\nS_j = S * T_j / T, `S` and `T` is the current asset share and amount of operator,\nand the T_j represents the change in staker's asset amount when some external\noperations occur, such as: delegation, undelegation and slashing.\nS_j represents the change in the staker's asset share,\nso the updated share should be added by it.\nA special case is the initial delegation, when T = 0 and S = 0, so T_j / T is undefined.\nFor the initial delegation, delegator j who delegates T_j tokens receive S_j = T_j shares." + }, + "wait_undelegation_amount": { + "type": "string", + "description": "wait_undelegation_amount is the amount that is waiting to be unbonded." + } + }, + "description": "DelegationAmounts is the delegation amount response for a single delegation." + }, + "description": "delegation_infos is the delegation information for each operator." + } + }, + "description": "QueryDelegationInfoResponse is the response for delegations by staker id and\nasset id." + }, + "exocore.delegation.v1.UndelegationHoldCountResponse": { + "type": "object", + "properties": { + "hold_count": { + "type": "string", + "format": "uint64", + "description": "hold_count is the number of undelegations that are on hold." + } + }, + "description": "UndelegationHoldCountResponse is the response for the undelegation hold count." + }, + "exocore.delegation.v1.UndelegationRecord": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." + }, + "tx_hash": { + "type": "string", + "description": "tx_hash is the transaction hash on the client chain." + }, + "is_pending": { + "type": "boolean", + "description": "is_pending is the flag to indicate if the undelegation is pending." + }, + "block_number": { + "type": "string", + "format": "uint64", + "description": "block_number is the block number on Exocore." + }, + "complete_block_number": { + "type": "string", + "format": "uint64", + "description": "complete_block_number is the block number on Exocore at which the undelegation\nshould be completed." + }, + "lz_tx_nonce": { + "type": "string", + "format": "uint64", + "description": "lz_tx_nonce is the nonce of the transaction on the client chain." + }, + "amount": { + "type": "string", + "description": "amount is the amount of the asset to be undelegated." + }, + "actual_completed_amount": { + "type": "string", + "description": "actual_completed_amount is the actual amount of the asset that has been\nundelegated so far. it may be lower than the amount in the case of slashing." + } + }, + "description": "UndelegationRecord is the undelegation record, keyed by a RecordKey." + }, + "exocore.delegation.v1.UndelegationRecordList": { + "type": "object", + "properties": { + "undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." + }, + "tx_hash": { + "type": "string", + "description": "tx_hash is the transaction hash on the client chain." + }, + "is_pending": { + "type": "boolean", + "description": "is_pending is the flag to indicate if the undelegation is pending." + }, + "block_number": { + "type": "string", + "format": "uint64", + "description": "block_number is the block number on Exocore." + }, + "complete_block_number": { + "type": "string", + "format": "uint64", + "description": "complete_block_number is the block number on Exocore at which the undelegation\nshould be completed." + }, + "lz_tx_nonce": { + "type": "string", + "format": "uint64", + "description": "lz_tx_nonce is the nonce of the transaction on the client chain." + }, + "amount": { + "type": "string", + "description": "amount is the amount of the asset to be undelegated." + }, + "actual_completed_amount": { + "type": "string", + "description": "actual_completed_amount is the actual amount of the asset that has been\nundelegated so far. it may be lower than the amount in the case of slashing." + } + }, + "description": "UndelegationRecord is the undelegation record, keyed by a RecordKey." + }, + "title": "UndelegationRecord is the returned undelegations" + } + }, + "description": "UndelegationRecordList is the response to query undelegations." + }, + "exocore.avs.v1.AVSInfo": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "name of avs as an arbitrary string" + }, + "avs_address": { + "type": "string", + "title": "avs_address is the address of avs as a hex string" + }, + "min_stake_amount": { + "type": "string", + "format": "uint64", + "title": "min_stake_amount is the minimum stake amount required for a task to start" + }, + "task_addr": { + "type": "string", + "title": "task_addr is the address of task as a hex string" + }, + "slash_addr": { + "type": "string", + "title": "slash_addr is the hex address of the slashing contract for the AVS" + }, + "reward_addr": { + "type": "string", + "title": "reward_addr is the hex address of the reward contract for the AVS" + }, + "avs_owner_address": { + "type": "array", + "items": { + "type": "string" + }, + "title": "avs_owner_address are the bech32 addresses of the owners of the avs" + }, + "asset_ids": { + "type": "array", + "items": { + "type": "string" + }, + "title": "asset_ids is a list of asset_ids that the AVS accepts" + }, + "avs_unbonding_period": { + "type": "string", + "format": "uint64", + "title": "avs_unbonding_period is the number of epochs that an operator must wait to unbond" + }, + "min_self_delegation": { + "type": "string", + "format": "uint64", + "title": "min_self_delegation is the minimum self delegation required for an operator to join the AVS" + }, + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier is the identifier from the epochs module" + }, + "min_opt_in_operators": { + "type": "string", + "format": "uint64", + "title": "min_opt_in_operators is the minimum number of operators required for a task" + }, + "min_total_stake_amount": { + "type": "string", + "format": "uint64", + "title": "min_total_stake_amount is the minimum total stake amount required for a task" + }, + "starting_epoch": { + "type": "string", + "format": "uint64", + "title": "starting_epoch is the epoch at which the AVS starts" + }, + "chain_id": { + "type": "string", + "title": "chain_id is an optional parameter to specify the chain_id of the AVS, if any" + }, + "avs_reward": { + "type": "string", + "title": "avs_reward defines the proportion of reward" + }, + "avs_slash": { + "type": "string", + "title": "avs_slash defines the proportion of slash" + }, + "asset_reward_amount_epoch_basis": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "description": "asset_reward_commission_epoch_basis is the avs reward distribution based on asset per eopch end." + } + }, + "title": "AVSinfo represent the information of avs" + }, + "exocore.avs.v1.OperatorActivePowerInfo": { + "type": "object", + "properties": { + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." + }, + "active_power": { + "type": "string", + "description": "active_power is the USD value owned by the operator itself." + } + }, + "description": "OperatorActivePowerInfo is the operator power info." + }, + "exocore.avs.v1.OperatorActivePowerList": { + "type": "object", + "properties": { + "operator_power_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." + }, + "active_power": { + "type": "string", + "description": "active_power is the USD value owned by the operator itself." + } }, - "last_commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } + "description": "OperatorActivePowerInfo is the operator power info." }, - "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + "description": "operator_power_list is a power list of operators." } }, - "description": "GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method." + "title": "OperatorActivePowerList is the power list of operators opt-in to the current task.\nBecause power is always changing, record the power of all operators\nwho have completed tasks and submitted results by the task deadline" }, - "cosmos.base.tendermint.v1beta1.GetLatestBlockResponse": { + "exocore.avs.v1.Phase": { + "type": "string", + "enum": [ + "PHASE_UNSPECIFIED", + "PHASE_PREPARE", + "PHASE_DO_COMMIT" + ], + "default": "PHASE_UNSPECIFIED", + "description": "- PHASE_UNSPECIFIED: Default value when phase is not specified\n - PHASE_PREPARE: First phase where operators prepare and submit their initial responses\n - PHASE_DO_COMMIT: Second phase where operators commit their prepared responses", + "title": "It is a two-phase submission with two values, 1 and 2" + }, + "exocore.avs.v1.QueryAVSAddrByChainIDResponse": { "type": "object", "properties": { - "block_id": { + "avs_address": { + "type": "string", + "title": "avs_address is the hex address of avs" + } + }, + "title": "QueryAVSAddrByChainIDResponse is the response of avs address by chain id" + }, + "exocore.avs.v1.QueryAVSInfoResponse": { + "type": "object", + "properties": { + "info": { + "title": "basic information of avs", "type": "object", "properties": { - "hash": { + "name": { "type": "string", - "format": "byte" + "title": "name of avs as an arbitrary string" }, - "part_set_header": { + "avs_address": { + "type": "string", + "title": "avs_address is the address of avs as a hex string" + }, + "min_stake_amount": { + "type": "string", + "format": "uint64", + "title": "min_stake_amount is the minimum stake amount required for a task to start" + }, + "task_addr": { + "type": "string", + "title": "task_addr is the address of task as a hex string" + }, + "slash_addr": { + "type": "string", + "title": "slash_addr is the hex address of the slashing contract for the AVS" + }, + "reward_addr": { + "type": "string", + "title": "reward_addr is the hex address of the reward contract for the AVS" + }, + "avs_owner_address": { + "type": "array", + "items": { + "type": "string" + }, + "title": "avs_owner_address are the bech32 addresses of the owners of the avs" + }, + "asset_ids": { + "type": "array", + "items": { + "type": "string" + }, + "title": "asset_ids is a list of asset_ids that the AVS accepts" + }, + "avs_unbonding_period": { + "type": "string", + "format": "uint64", + "title": "avs_unbonding_period is the number of epochs that an operator must wait to unbond" + }, + "min_self_delegation": { + "type": "string", + "format": "uint64", + "title": "min_self_delegation is the minimum self delegation required for an operator to join the AVS" + }, + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier is the identifier from the epochs module" + }, + "min_opt_in_operators": { + "type": "string", + "format": "uint64", + "title": "min_opt_in_operators is the minimum number of operators required for a task" + }, + "min_total_stake_amount": { + "type": "string", + "format": "uint64", + "title": "min_total_stake_amount is the minimum total stake amount required for a task" + }, + "starting_epoch": { + "type": "string", + "format": "uint64", + "title": "starting_epoch is the epoch at which the AVS starts" + }, + "chain_id": { + "type": "string", + "title": "chain_id is an optional parameter to specify the chain_id of the AVS, if any" + }, + "avs_reward": { + "type": "string", + "title": "avs_reward defines the proportion of reward" + }, + "avs_slash": { + "type": "string", + "title": "avs_slash defines the proportion of slash" + }, + "asset_reward_amount_epoch_basis": { "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } + "additionalProperties": { + "type": "string", + "format": "int64" }, - "title": "PartsetHeader" + "description": "asset_reward_commission_epoch_basis is the avs reward distribution based on asset per eopch end." + } + } + } + }, + "title": "QueryAVSInfoResponse is the response of avs related information" + }, + "exocore.avs.v1.QueryChallengeInfoResponse": { + "type": "object", + "properties": { + "challenge_addr": { + "type": "string", + "description": "challenge_addr is the challenge address,its type should be a common.HexAddress." + } + }, + "title": "QueryChallengeInfoResponse is the response of avs related information" + }, + "exocore.avs.v1.QuerySubmitTaskResultResponse": { + "type": "object", + "properties": { + "info": { + "description": "info is the taskResult.", + "type": "object", + "properties": { + "operator_address": { + "type": "string", + "title": "operator_address operator address" + }, + "task_response_hash": { + "type": "string", + "description": "task_response_hash is the task_response msg hash." + }, + "task_response": { + "type": "string", + "format": "byte", + "description": "task_response is the task response data." + }, + "bls_signature": { + "type": "string", + "format": "byte", + "description": "bls_signature is the operator bls sig info." + }, + "task_contract_address": { + "type": "string", + "title": "task_contract_address is contract address of task" + }, + "task_id": { + "type": "string", + "format": "uint64", + "title": "task_id is the task id" + }, + "phase": { + "title": "phase this field is used to solve the problem of task results being copied by other operators.\nIt is a two-phase submission with two values, 1 and 2", + "type": "string", + "enum": [ + "PHASE_UNSPECIFIED", + "PHASE_PREPARE", + "PHASE_DO_COMMIT" + ], + "default": "PHASE_UNSPECIFIED", + "description": "- PHASE_UNSPECIFIED: Default value when phase is not specified\n - PHASE_PREPARE: First phase where operators prepare and submit their initial responses\n - PHASE_DO_COMMIT: Second phase where operators commit their prepared responses" } + } + } + }, + "title": "QuerySubmitTaskResultResponse is the response of avs related information" + }, + "exocore.avs.v1.TaskInfo": { + "type": "object", + "properties": { + "task_contract_address": { + "type": "string", + "title": "contract address of avstask" + }, + "name": { + "type": "string", + "title": "name of task" + }, + "hash": { + "type": "string", + "format": "byte", + "title": "data which is supplied by the contract, usually ABI-encoded" + }, + "task_id": { + "type": "string", + "format": "uint64", + "title": "task_id of task" + }, + "task_response_period": { + "type": "string", + "format": "uint64", + "title": "Deadline for task response" + }, + "task_statistical_period": { + "type": "string", + "format": "uint64", + "title": "Statistical period: threshold calculation, signature verification,\nnosig quantity statistics, operator submits messages corresponding to signatures" + }, + "task_challenge_period": { + "type": "string", + "format": "uint64", + "title": "challenge period for task" + }, + "threshold_percentage": { + "type": "string", + "format": "uint64", + "title": "Signature threshold percentage" + }, + "starting_epoch": { + "type": "string", + "format": "uint64", + "title": "Effective current epoch, accounting for current_epoch + 1\nand current_epoch is the integer identifier of the epoch module" + }, + "actual_threshold": { + "type": "string", + "format": "uint64", + "title": "actual_threshold is the Actual threshold" + }, + "opt_in_operators": { + "type": "array", + "items": { + "type": "string" }, - "title": "BlockID" + "title": "opt_in_count when creating a task, the actual opt-in operator counts at this moment" }, - "block": { - "title": "Deprecated: please use `sdk_block` instead", + "signed_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "signed_count is Actual number of signatures already signed" + }, + "no_signed_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "no_signed_count is the final number of unsigned operators" + }, + "err_signed_operators": { + "type": "array", + "items": { + "type": "string" + }, + "title": "err_signed_count is the number of operators with final incorrect signatures" + }, + "task_total_power": { + "type": "string", + "description": "task_total_power is the USD value owned by the avs task itself." + }, + "operator_active_power": { + "title": "operator_active_power_list is a power list of operators opt-in to the current task", "type": "object", "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } + "operator_power_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_addr": { + "type": "string", + "description": "operator_addr is the operator address." }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" + "active_power": { + "type": "string", + "description": "active_power is the USD value owned by the operator itself." + } }, - "proposer_address": { - "type": "string", - "format": "byte" - } + "description": "OperatorActivePowerInfo is the operator power info." }, - "description": "Header defines the structure of a block header." + "description": "operator_power_list is a power list of operators." + } + } + } + }, + "description": "TaskContractInfo is the task info." + }, + "exocore.avs.v1.TaskResultInfo": { + "type": "object", + "properties": { + "operator_address": { + "type": "string", + "title": "operator_address operator address" + }, + "task_response_hash": { + "type": "string", + "description": "task_response_hash is the task_response msg hash." + }, + "task_response": { + "type": "string", + "format": "byte", + "description": "task_response is the task response data." + }, + "bls_signature": { + "type": "string", + "format": "byte", + "description": "bls_signature is the operator bls sig info." + }, + "task_contract_address": { + "type": "string", + "title": "task_contract_address is contract address of task" + }, + "task_id": { + "type": "string", + "format": "uint64", + "title": "task_id is the task id" + }, + "phase": { + "title": "phase this field is used to solve the problem of task results being copied by other operators.\nIt is a two-phase submission with two values, 1 and 2", + "type": "string", + "enum": [ + "PHASE_UNSPECIFIED", + "PHASE_PREPARE", + "PHASE_DO_COMMIT" + ], + "default": "PHASE_UNSPECIFIED", + "description": "- PHASE_UNSPECIFIED: Default value when phase is not specified\n - PHASE_PREPARE: First phase where operators prepare and submit their initial responses\n - PHASE_DO_COMMIT: Second phase where operators commit their prepared responses" + } + }, + "description": "TaskResultInfo is the operator sign task info result." + }, + "cosmos.staking.v1beta1.BondStatus": { + "type": "string", + "enum": [ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED" + ], + "default": "BOND_STATUS_UNSPECIFIED", + "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." + }, + "cosmos.staking.v1beta1.Commission": { + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "type": "object", + "properties": { + "rate": { + "type": "string", + "description": "rate is the commission rate charged to delegators, as a fraction." }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { - "type": "string", - "format": "byte" - }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + }, + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + } + } + }, + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." + } + }, + "description": "Commission defines commission parameters for a given validator." + }, + "cosmos.staking.v1beta1.CommissionRates": { + "type": "object", + "properties": { + "rate": { + "type": "string", + "description": "rate is the commission rate charged to delegators, as a fraction." + }, + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + }, + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + } + }, + "description": "CommissionRates defines the initial commission rates to be used for creating\na validator." + }, + "exocore.operator.v1.ClientChainEarningAddrInfo": { + "type": "object", + "properties": { + "lz_client_chain_id": { + "type": "string", + "format": "uint64", + "description": "lz_client_chain_id is the layer0 client chain id." + }, + "client_chain_earning_addr": { + "type": "string", + "description": "client_chain_earning_addr is the client chain earning address." + } + }, + "description": "ClientChainEarningAddrInfo is the client chain earning address info." + }, + "exocore.operator.v1.ClientChainEarningAddrList": { + "type": "object", + "properties": { + "earning_info_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "lz_client_chain_id": { + "type": "string", + "format": "uint64", + "description": "lz_client_chain_id is the layer0 client chain id." }, - "title": "Data contains the set of transactions included in the block" + "client_chain_earning_addr": { + "type": "string", + "description": "client_chain_earning_addr is the client chain earning address." + } }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { - "type": "object", - "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." - }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." - } - } + "description": "ClientChainEarningAddrInfo is the client chain earning address info." + }, + "description": "earning_info_list is the contents of ClientChainEarningAddrList." + } + }, + "description": "ClientChainEarningAddrList is the list of client chain earning addresses.\nBecause the reward token provide by the AVS might be located at different client chain, the operator need to\nprovide the different client chain address to receive the token rewards." + }, + "exocore.operator.v1.DecValueField": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "amount is the USD value of the asset, as an sdk.LegacyDec." + } + }, + "description": "DecValueField is a field that holds a value of sdk.LegacyDec type." + }, + "exocore.operator.v1.DelegatorInfo": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "title": "asset_id is the asset for which the query is made" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "self_amount": { + "type": "string", + "title": "self_amount is the self amount of the asset which delegation" + }, + "total_amount": { + "type": "string", + "title": "total_amount is the total amount of the asset which delegation" + }, + "self_usd_value": { + "type": "string", + "title": "self_usd_value is the self delegation USD value for the validator" + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total delegation USD value for the validator" + } + }, + "title": "DelegatorInfo records the total opted-in USD value for the specified operator" + }, + "exocore.operator.v1.OperatorAVSAddress": { + "type": "object", + "properties": { + "operator_addr": { + "type": "string", + "title": "operator_addr should be the string type of sdk.AccAddress" + }, + "avs_address": { + "type": "string", + "description": "avs_address is the address of the AVS - either an 0x address or a chainID." + } + }, + "title": "OperatorAVSAddress includes the address of operator and AVS" + }, + "exocore.operator.v1.OperatorConsAddrPair": { + "type": "object", + "properties": { + "operator_acc_addr": { + "type": "string", + "description": "operator_acc_addr is the operator account address." + }, + "cons_addr": { + "type": "string", + "description": "cons_addr is the consensus address corresponding to the consensus public key\ncurrently in use by the operator." + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "OperatorConsAddrPair holds the operator address and the corresponding consensus address." + }, + "exocore.operator.v1.OperatorConsKeyPair": { + "type": "object", + "properties": { + "operator_acc_addr": { + "type": "string", + "description": "operator_acc_addr is the operator account address." + }, + "public_key": { + "description": "public_key is the consensus public key of the operator.", + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "OperatorConsKeyPair holds the operator address and the consensus public key currently in\nuse by the operator." + }, + "exocore.operator.v1.OperatorInfo": { + "type": "object", + "properties": { + "earnings_addr": { + "type": "string", + "description": "earnings_addr is the earnings address." + }, + "approve_addr": { + "type": "string", + "description": "approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "client_chain_earnings_addr": { + "description": "client_chain_earning_addr_list is the client chain earning address list.", + "type": "object", + "properties": { + "earning_info_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "lz_client_chain_id": { + "type": "string", + "format": "uint64", + "description": "lz_client_chain_id is the layer0 client chain id." + }, + "client_chain_earning_addr": { + "type": "string", + "description": "client_chain_earning_addr is the client chain earning address." } + }, + "description": "ClientChainEarningAddrInfo is the client chain earning address info." + }, + "description": "earning_info_list is the contents of ClientChainEarningAddrList." + } + } + }, + "commission": { + "description": "commission defines the commission parameters. it includes the time at which the commission\nwas last updated.", + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "type": "object", + "properties": { + "rate": { + "type": "string", + "description": "rate is the commission rate charged to delegators, as a fraction." + }, + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + }, + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." } } }, - "last_commit": { + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." + } + } + } + }, + "description": "OperatorInfo is the operator info." + }, + "exocore.operator.v1.OperatorOptedUSDValue": { + "type": "object", + "properties": { + "self_usd_value": { + "type": "string", + "description": "self_usd_value is the USD value owned by the operator itself." + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total opted-in USD value for the specified operator and AVS" + }, + "active_usd_value": { + "type": "string", + "description": "active_usd_value is the active opted-in USD value for the specified operator and AVS\nthis field will be zero if the operator's self staking isn't sufficient. Of course, it will\nbe equal to total_usd_value if the operator's self staking meets the AVS requirement." + } + }, + "title": "OperatorOptedUSDValue records the self and total opted-in USD value for the specified operator and AVS" + }, + "exocore.operator.v1.OperatorSlashInfo": { + "type": "object", + "properties": { + "slash_contract": { + "type": "string", + "title": "slash_contract is the address of slash contract" + }, + "submitted_height": { + "type": "string", + "format": "int64", + "title": "submitted_height is the exocore block height at which the slash event is submitted" + }, + "event_height": { + "type": "string", + "format": "int64", + "title": "event_height is the exocore block height at which the slash event occurs" + }, + "is_vetoed": { + "type": "boolean", + "title": "is_vetoed is a flag to indicate if this slash is vetoed" + }, + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the proportion of assets that need to be slashed" + }, + "slash_type": { + "type": "integer", + "format": "int64", + "description": "slash_type indicates the slash type of specified AVS." + }, + "execution_info": { + "title": "SlashExecutionInfo stores the slashed execution information", + "type": "object", + "properties": { + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the new calculated proportion when execute the slash" + }, + "slash_value": { + "type": "string", + "title": "slash_value is the usd value of all slashed assets" + }, + "slash_undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the undelegation." + } + }, + "title": "SlashFromUndelegation records the slash detail from the undelegation" + }, + "title": "SlashUndelegations records all slash info related to the undelegation" + }, + "slash_assets_pool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the assets pool." + } + }, + "title": "SlashFromAssetsPool records the slash detail from the operator assets pool" + }, + "title": "SlashFromAssetsPool records all slash info related to the assets pool" + }, + "undelegation_filter_height": { + "type": "string", + "format": "int64", + "title": "undelegation_filter_height records the height before which undelegations are not slashed" + } + } + } + }, + "title": "OperatorSlashInfo is the slash info of operator" + }, + "exocore.operator.v1.OperatorSlashInfoByID": { + "type": "object", + "properties": { + "slash_id": { + "type": "string", + "description": "slash_id is stored as the key of the slash information,\nso it will be parsed and padding here." + }, + "info": { + "description": "info is the specified detailed information for the slashing event.", + "type": "object", + "properties": { + "slash_contract": { + "type": "string", + "title": "slash_contract is the address of slash contract" + }, + "submitted_height": { + "type": "string", + "format": "int64", + "title": "submitted_height is the exocore block height at which the slash event is submitted" + }, + "event_height": { + "type": "string", + "format": "int64", + "title": "event_height is the exocore block height at which the slash event occurs" + }, + "is_vetoed": { + "type": "boolean", + "title": "is_vetoed is a flag to indicate if this slash is vetoed" + }, + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the proportion of assets that need to be slashed" + }, + "slash_type": { + "type": "integer", + "format": "int64", + "description": "slash_type indicates the slash type of specified AVS." + }, + "execution_info": { + "title": "SlashExecutionInfo stores the slashed execution information", "type": "object", "properties": { - "height": { + "slash_proportion": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "title": "slash_proportion is the new calculated proportion when execute the slash" }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" + "slash_value": { + "type": "string", + "title": "slash_value is the usd value of all slashed assets" }, - "signatures": { + "slash_undelegations": { "type": "array", "items": { "type": "object", "properties": { - "block_id_flag": { + "staker_id": { "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" + "description": "staker_id is the staker id." }, - "validator_address": { + "asset_id": { "type": "string", - "format": "byte" + "description": "asset_id is the asset id." }, - "timestamp": { + "amount": { "type": "string", - "format": "date-time" + "description": "amount is the slashed amount from the undelegation." + } + }, + "title": "SlashFromUndelegation records the slash detail from the undelegation" + }, + "title": "SlashUndelegations records all slash info related to the undelegation" + }, + "slash_assets_pool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." }, - "signature": { + "amount": { "type": "string", - "format": "byte" + "description": "amount is the slashed amount from the assets pool." } }, - "description": "CommitSig is a part of the Vote included in a Commit." - } + "title": "SlashFromAssetsPool records the slash detail from the operator assets pool" + }, + "title": "SlashFromAssetsPool records all slash info related to the assets pool" + }, + "undelegation_filter_height": { + "type": "string", + "format": "int64", + "title": "undelegation_filter_height records the height before which undelegations are not slashed" } + } + } + }, + "title": "OperatorSlashInfo is the slash info of operator" + } + }, + "title": "OperatorSlashInfoByID includes the slash information and the slashID" + }, + "exocore.operator.v1.OperatorVotingPower": { + "type": "object", + "properties": { + "operator_addr": { + "type": "string", + "title": "operator_addr is the operator address,its type should be a sdk.AccAddress" + }, + "voting_power": { + "type": "string", + "title": "voting_power is the active voting power for the above operator address" + } + }, + "title": "OperatorVotingPower represents the voting power for the specified operator address" + }, + "exocore.operator.v1.OptedInfo": { + "type": "object", + "properties": { + "slash_contract": { + "type": "string", + "title": "slash_contract is the slash contract address of AVS opted-in by the operator" + }, + "opted_in_height": { + "type": "string", + "format": "uint64", + "title": "opted_in_height is the exocore block height at which the operator opted in" + }, + "opted_out_height": { + "type": "string", + "format": "uint64", + "title": "opted_out_height is the exocore block height at which the operator opted out" + }, + "jailed": { + "type": "boolean", + "description": "jailed defined whether the operator has been jailed from bonded status or not." + } + }, + "title": "OptedInfo is the opted information about operator" + }, + "exocore.operator.v1.QueryAllAVSsByOperatorResponse": { + "type": "object", + "properties": { + "avs_list": { + "type": "array", + "items": { + "type": "string" + }, + "description": "avs_list is a list of avs addresses ." + } + }, + "description": "QueryAllAVSsByOperatorResponse is the response that includes a list of all operators\nand their consensus keys for a specified chain ID." + }, + "exocore.operator.v1.QueryAllOperatorConsAddrsByChainIDResponse": { + "type": "object", + "properties": { + "operator_cons_addrs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_acc_addr": { + "type": "string", + "description": "operator_acc_addr is the operator account address." }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "cons_addr": { + "type": "string", + "description": "cons_addr is the consensus address corresponding to the consensus public key\ncurrently in use by the operator." + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "OperatorConsAddrPair holds the operator address and the corresponding consensus address." + }, + "description": "operator_cons_addrs is a list of operator account addresses and the consensus addresses." + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "description": "QueryAllOperatorConsAddrsByChainIDResponse is the response that includes a list of all operators\nand their consensus addresses for a specified chain ID." + }, + "exocore.operator.v1.QueryAllOperatorConsKeysByChainIDResponse": { + "type": "object", + "properties": { + "operator_cons_keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "operator_acc_addr": { + "type": "string", + "description": "operator_acc_addr is the operator account address." + }, + "public_key": { + "description": "public_key is the consensus public key of the operator.", + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" + }, + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "OperatorConsKeyPair holds the operator address and the consensus public key currently in\nuse by the operator." + }, + "description": "operator_cons_keys is a list of operator addresses and their consensus public keys." + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" } } + } + }, + "description": "QueryAllOperatorConsKeysByChainIDResponse is the response that includes a list of all operators\nand their consensus keys for a specified chain ID." + }, + "exocore.operator.v1.QueryAllOperatorsByOptInAVSResponse": { + "type": "object", + "properties": { + "operator_list": { + "type": "array", + "items": { + "type": "string" + }, + "description": "operator_list is a list of operator addresses." + } + }, + "description": "QueryAllOperatorsWithOptInAVSResponse is the response that includes a list of all avs\n for a specified operator address." + }, + "exocore.operator.v1.QueryAllOperatorsResponse": { + "type": "object", + "properties": { + "operator_acc_addrs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "operators is a list of all operators." }, - "sdk_block": { - "title": "Since: cosmos-sdk 0.47", + "pagination": { + "description": "pagination related response.", "type": "object", "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "description": "QueryAllOperatorsResponse is the response containing all operator account addresses." + }, + "exocore.operator.v1.QueryAllSnapshotResponse": { + "type": "object", + "properties": { + "snapshots": { + "type": "array", + "items": { + "type": "object", + "properties": { + "snapshot_key_height": { + "type": "string", + "format": "int64", + "description": "snapshot_key_height when it is used in QuerySpecifiedSnapshot, it's the latest\nheight with a snapshot key found based on the input height; this height is typically\nthe start height of the epoch in which the input height is located.\nwhen it is used in QueryAllSnapshot, it's the height in the current snapshot key." + }, + "snapshot": { + "description": "snapshot when it is used in QuerySpecifiedSnapshot, it is the final retrieved information\ncontaining the voting power set.\nwhen it is used in QueryAllSnapshot, It is the snapshot stored under `snapshot_key_height`,\nand its voting power set may be nil.", + "type": "object", + "properties": { + "total_voting_power": { + "type": "string", + "title": "total_voting_power is the total voting power of specified AVS" }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { + "operator_voting_powers": { + "type": "array", + "items": { "type": "object", "properties": { - "total": { - "type": "integer", - "format": "int64" + "operator_addr": { + "type": "string", + "title": "operator_addr is the operator address,its type should be a sdk.AccAddress" }, - "hash": { + "voting_power": { "type": "string", - "format": "byte" + "title": "voting_power is the active voting power for the above operator address" } }, - "title": "PartsetHeader" - } + "title": "OperatorVotingPower represents the voting power for the specified operator address" + }, + "title": "operator_voting_powers records the active voting power of all operators\nfor the specified AVS" }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + "last_changed_height": { + "type": "string", + "format": "int64", + "description": "last_changed_height is used to indicate the height of most recent change when\nthe operator_voting_powers is nil, which can help to fall back to the correct epoch height." + }, + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier record the epoch info" + }, + "epoch_number": { + "type": "string", + "format": "int64", + "title": "epoch_number indicates which epoch this snapshot serve for" + } } - }, - "description": "Header defines the structure of a Tendermint block header." + } + }, + "title": "VotingPowerSnapshotKeyHeight is used in the response of QuerySpecifiedSnapshot\nand QueryAllSnapshot" + }, + "description": "snapshots is a list of all snapshots for the specified AVS." + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "title": "QueryAllSnapshotResponse is the response to obtain all voting power snapshot\nfor the specified AVS" + }, + "exocore.operator.v1.QueryOperatorConsAddressResponse": { + "type": "object", + "properties": { + "cons_addr": { + "type": "string", + "description": "cons_addr is the consensus address corresponding to the consensus public key\ncurrently in use by the operator." + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "QueryOperatorConsAddressResponse is the response for QueryOperatorConsAddressRequest." + }, + "exocore.operator.v1.QueryOperatorConsKeyResponse": { + "type": "object", + "properties": { + "public_key": { + "description": "public_key is the consensus public key of the operator.", + "type": "object", + "properties": { + "ed25519": { + "type": "string", + "format": "byte" }, - "data": { - "type": "object", - "properties": { - "txs": { - "type": "array", - "items": { + "secp256k1": { + "type": "string", + "format": "byte" + } + }, + "title": "PublicKey defines the keys available for use with Validators" + }, + "opting_out": { + "type": "boolean", + "description": "opting_out is a flag to indicate if the operator is opting out of consensus." + } + }, + "description": "QueryOperatorConsKeyResponse is the response for QueryOperatorConsKeyRequest." + }, + "exocore.operator.v1.QueryOperatorSlashInfoResponse": { + "type": "object", + "properties": { + "all_slash_info": { + "type": "array", + "items": { + "type": "object", + "properties": { + "slash_id": { + "type": "string", + "description": "slash_id is stored as the key of the slash information,\nso it will be parsed and padding here." + }, + "info": { + "description": "info is the specified detailed information for the slashing event.", + "type": "object", + "properties": { + "slash_contract": { "type": "string", - "format": "byte" + "title": "slash_contract is the address of slash contract" }, - "description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs." - } - }, - "title": "Data contains the set of transactions included in the block" - }, - "evidence": { - "type": "object", - "properties": { - "evidence": { - "type": "array", - "items": { + "submitted_height": { + "type": "string", + "format": "int64", + "title": "submitted_height is the exocore block height at which the slash event is submitted" + }, + "event_height": { + "type": "string", + "format": "int64", + "title": "event_height is the exocore block height at which the slash event occurs" + }, + "is_vetoed": { + "type": "boolean", + "title": "is_vetoed is a flag to indicate if this slash is vetoed" + }, + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the proportion of assets that need to be slashed" + }, + "slash_type": { + "type": "integer", + "format": "int64", + "description": "slash_type indicates the slash type of specified AVS." + }, + "execution_info": { + "title": "SlashExecutionInfo stores the slashed execution information", "type": "object", "properties": { - "duplicate_vote_evidence": { - "type": "object", - "properties": { - "vote_a": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "vote_b": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "SIGNED_MSG_TYPE_UNKNOWN", - "SIGNED_MSG_TYPE_PREVOTE", - "SIGNED_MSG_TYPE_PRECOMMIT", - "SIGNED_MSG_TYPE_PROPOSAL" - ], - "default": "SIGNED_MSG_TYPE_UNKNOWN", - "description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals" - }, - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "validator_index": { - "type": "integer", - "format": "int32" - }, - "signature": { - "type": "string", - "format": "byte", - "description": "Vote signature by the validator if they participated in consensus for the\nassociated block." - }, - "extension": { - "type": "string", - "format": "byte", - "description": "Vote extension provided by the application. Only valid for precommit\nmessages." - }, - "extension_signature": { - "type": "string", - "format": "byte", - "description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages." - } - }, - "description": "Vote represents a prevote or precommit vote from validators for\nconsensus." - }, - "total_voting_power": { - "type": "string", - "format": "int64" - }, - "validator_power": { - "type": "string", - "format": "int64" - }, - "timestamp": { - "type": "string", - "format": "date-time" - } - }, - "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the new calculated proportion when execute the slash" }, - "light_client_attack_evidence": { - "type": "object", - "properties": { - "conflicting_block": { - "type": "object", - "properties": { - "signed_header": { - "type": "object", - "properties": { - "header": { - "type": "object", - "properties": { - "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." - }, - "chain_id": { - "type": "string" - }, - "height": { - "type": "string", - "format": "int64" - }, - "time": { - "type": "string", - "format": "date-time" - }, - "last_block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "format": "byte" - } - }, - "description": "Header defines the structure of a block header." - }, - "commit": { - "type": "object", - "properties": { - "height": { - "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" - }, - "block_id": { - "type": "object", - "properties": { - "hash": { - "type": "string", - "format": "byte" - }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } - }, - "description": "CommitSig is a part of the Vote included in a Commit." - } - } - }, - "description": "Commit contains the evidence that a block was committed by a set of validators." - } - } - }, - "validator_set": { - "type": "object", - "properties": { - "validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - } - }, - "proposer": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } - }, - "total_voting_power": { - "type": "string", - "format": "int64" - } - } - } - } - }, - "common_height": { - "type": "string", - "format": "int64" - }, - "byzantine_validators": { - "type": "array", - "items": { - "type": "object", - "properties": { - "address": { - "type": "string", - "format": "byte" - }, - "pub_key": { - "type": "object", - "properties": { - "ed25519": { - "type": "string", - "format": "byte" - }, - "secp256k1": { - "type": "string", - "format": "byte" - } - }, - "title": "PublicKey defines the keys available for use with Validators" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" - } - } + "slash_value": { + "type": "string", + "title": "slash_value is the usd value of all slashed assets" + }, + "slash_undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the undelegation." } }, - "total_voting_power": { - "type": "string", - "format": "int64" + "title": "SlashFromUndelegation records the slash detail from the undelegation" + }, + "title": "SlashUndelegations records all slash info related to the undelegation" + }, + "slash_assets_pool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the assets pool." + } }, - "timestamp": { - "type": "string", - "format": "date-time" - } + "title": "SlashFromAssetsPool records the slash detail from the operator assets pool" }, - "description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client." + "title": "SlashFromAssetsPool records all slash info related to the assets pool" + }, + "undelegation_filter_height": { + "type": "string", + "format": "int64", + "title": "undelegation_filter_height records the height before which undelegations are not slashed" } } } - } + }, + "title": "OperatorSlashInfo is the slash info of operator" } }, - "last_commit": { + "title": "OperatorSlashInfoByID includes the slash information and the slashID" + }, + "title": "all_slash_info is a list of the slash information for the specified operator and AVS" + }, + "pagination": { + "description": "pagination related response.", + "type": "object", + "properties": { + "next_key": { + "type": "string", + "format": "byte", + "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + }, + "total": { + "type": "string", + "format": "uint64", + "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + } + } + } + }, + "title": "QueryOperatorSlashInfoResponse is the response for GetOperatorSlashInfoRequest" + }, + "exocore.operator.v1.QueryOperatorUSDValueResponse": { + "type": "object", + "properties": { + "usd_values": { + "title": "usd_info includes the self and total staking for the operator and AVS", + "type": "object", + "properties": { + "self_usd_value": { + "type": "string", + "description": "self_usd_value is the USD value owned by the operator itself." + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total opted-in USD value for the specified operator and AVS" + }, + "active_usd_value": { + "type": "string", + "description": "active_usd_value is the active opted-in USD value for the specified operator and AVS\nthis field will be zero if the operator's self staking isn't sufficient. Of course, it will\nbe equal to total_usd_value if the operator's self staking meets the AVS requirement." + } + } + } + }, + "description": "QueryOperatorUSDValueResponse is the response to obtain the USD value for operator." + }, + "exocore.operator.v1.QueryValidatorResponse": { + "type": "object", + "properties": { + "validator": { + "description": "validator defines the validator info.", + "type": "object", + "properties": { + "operator_earnings_addr": { + "type": "string", + "description": "earnoperator_earnings_addrings_addr is the earnings address." + }, + "operator_approve_addr": { + "type": "string", + "description": "operator_approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "cons_address": { + "type": "string", + "description": "ConsAddress defines a wrapper around bytes meant to present a consensus node.\nWhen marshaled to a string or JSON, it uses Bech32." + }, + "consensus_pubkey": { "type": "object", "properties": { - "height": { + "type_url": { "type": "string", - "format": "int64" - }, - "round": { - "type": "integer", - "format": "int32" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "block_id": { + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus_pubkey is the consensus public key of the validator, as a Protobuf Any" + }, + "jailed": { + "type": "boolean", + "title": "jailed defined whether the validator has been jailed from bonded status or not" + }, + "status": { + "title": "status is the validator status (bonded/unbonding/unbonded)", + "type": "string", + "enum": [ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED" + ], + "default": "BOND_STATUS_UNSPECIFIED", + "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." + }, + "voting_power": { + "type": "string", + "title": "voting_power define the validator voting power" + }, + "delegator_shares": { + "type": "string", + "title": "delegator_shares defines total shares issued to a validator's delegators" + }, + "commission": { + "description": "commission defines the commission parameters.", + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", "type": "object", "properties": { - "hash": { + "rate": { "type": "string", - "format": "byte" + "description": "rate is the commission rate charged to delegators, as a fraction." }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" - } - }, - "title": "BlockID" - }, - "signatures": { - "type": "array", - "items": { - "type": "object", - "properties": { - "block_id_flag": { - "type": "string", - "enum": [ - "BLOCK_ID_FLAG_UNKNOWN", - "BLOCK_ID_FLAG_ABSENT", - "BLOCK_ID_FLAG_COMMIT", - "BLOCK_ID_FLAG_NIL" - ], - "default": "BLOCK_ID_FLAG_UNKNOWN", - "title": "BlockIdFlag indicates which BlockID the signature is for" - }, - "validator_address": { - "type": "string", - "format": "byte" - }, - "timestamp": { - "type": "string", - "format": "date-time" - }, - "signature": { - "type": "string", - "format": "byte" - } + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." }, - "description": "CommitSig is a part of the Vote included in a Commit." + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + } } + }, + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." } + } + }, + "delegator_tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "title": "asset_id is the asset for which the query is made" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "self_amount": { + "type": "string", + "title": "self_amount is the self amount of the asset which delegation" + }, + "total_amount": { + "type": "string", + "title": "total_amount is the total amount of the asset which delegation" + }, + "self_usd_value": { + "type": "string", + "title": "self_usd_value is the self delegation USD value for the validator" + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total delegation USD value for the validator" + } + }, + "title": "DelegatorInfo records the total opted-in USD value for the specified operator" }, - "description": "Commit contains the evidence that a block was committed by a set of validators." + "title": "delegator_tokens is the list of asset infos" } }, - "description": "Block is tendermint type Block, with the Header proposer address\nfield converted to bech32 string." + "title": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate" } }, - "description": "GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method." + "title": "QueryValidatorResponse is response type for the Query/Validator RPC method" }, - "cosmos.base.tendermint.v1beta1.GetLatestValidatorSetResponse": { + "exocore.operator.v1.QueryValidatorsResponse": { "type": "object", "properties": { - "block_height": { - "type": "string", - "format": "int64" - }, "validators": { "type": "array", "items": { "type": "object", "properties": { - "address": { - "type": "string" + "operator_earnings_addr": { + "type": "string", + "description": "earnoperator_earnings_addrings_addr is the earnings address." }, - "pub_key": { + "operator_approve_addr": { + "type": "string", + "description": "operator_approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "cons_address": { + "type": "string", + "description": "ConsAddress defines a wrapper around bytes meant to present a consensus node.\nWhen marshaled to a string or JSON, it uses Bech32." + }, + "consensus_pubkey": { "type": "object", "properties": { "type_url": { @@ -42100,22 +44883,107 @@ "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus_pubkey is the consensus public key of the validator, as a Protobuf Any" + }, + "jailed": { + "type": "boolean", + "title": "jailed defined whether the validator has been jailed from bonded status or not" + }, + "status": { + "title": "status is the validator status (bonded/unbonding/unbonded)", + "type": "string", + "enum": [ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED" + ], + "default": "BOND_STATUS_UNSPECIFIED", + "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." }, "voting_power": { "type": "string", - "format": "int64" + "title": "voting_power define the validator voting power" }, - "proposer_priority": { + "delegator_shares": { "type": "string", - "format": "int64" + "title": "delegator_shares defines total shares issued to a validator's delegators" + }, + "commission": { + "description": "commission defines the commission parameters.", + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", + "type": "object", + "properties": { + "rate": { + "type": "string", + "description": "rate is the commission rate charged to delegators, as a fraction." + }, + "max_rate": { + "type": "string", + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." + }, + "max_change_rate": { + "type": "string", + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." + } + } + }, + "update_time": { + "type": "string", + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." + } + } + }, + "delegator_tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "title": "asset_id is the asset for which the query is made" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "self_amount": { + "type": "string", + "title": "self_amount is the self amount of the asset which delegation" + }, + "total_amount": { + "type": "string", + "title": "total_amount is the total amount of the asset which delegation" + }, + "self_usd_value": { + "type": "string", + "title": "self_usd_value is the self delegation USD value for the validator" + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total delegation USD value for the validator" + } + }, + "title": "DelegatorInfo records the total opted-in USD value for the specified operator" + }, + "title": "delegator_tokens is the list of asset infos" } }, - "description": "Validator is the type for the validator-set." - } + "title": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate" + }, + "description": "validators contains all the queried validators." }, "pagination": { - "description": "pagination defines an pagination for the response.", + "description": "pagination defines the pagination in the response.", "type": "object", "properties": { "next_key": { @@ -42131,501 +44999,739 @@ } } }, - "description": "GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method." + "title": "QueryValidatorsResponse is response type for the Query/Validators RPC method" }, - "cosmos.base.tendermint.v1beta1.GetNodeInfoResponse": { + "exocore.operator.v1.SlashExecutionInfo": { "type": "object", "properties": { - "default_node_info": { + "slash_proportion": { + "type": "string", + "title": "slash_proportion is the new calculated proportion when execute the slash" + }, + "slash_value": { + "type": "string", + "title": "slash_value is the usd value of all slashed assets" + }, + "slash_undelegations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the undelegation." + } + }, + "title": "SlashFromUndelegation records the slash detail from the undelegation" + }, + "title": "SlashUndelegations records all slash info related to the undelegation" + }, + "slash_assets_pool": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the assets pool." + } + }, + "title": "SlashFromAssetsPool records the slash detail from the operator assets pool" + }, + "title": "SlashFromAssetsPool records all slash info related to the assets pool" + }, + "undelegation_filter_height": { + "type": "string", + "format": "int64", + "title": "undelegation_filter_height records the height before which undelegations are not slashed" + } + }, + "title": "SlashExecutionInfo is the actual execution state for a slash event" + }, + "exocore.operator.v1.SlashFromAssetsPool": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the assets pool." + } + }, + "title": "SlashFromAssetsPool records the slash detail from the operator assets pool" + }, + "exocore.operator.v1.SlashFromUndelegation": { + "type": "object", + "properties": { + "staker_id": { + "type": "string", + "description": "staker_id is the staker id." + }, + "asset_id": { + "type": "string", + "description": "asset_id is the asset id." + }, + "amount": { + "type": "string", + "description": "amount is the slashed amount from the undelegation." + } + }, + "title": "SlashFromUndelegation records the slash detail from the undelegation" + }, + "exocore.operator.v1.SnapshotHelper": { + "type": "object", + "properties": { + "last_changed_height": { + "type": "string", + "format": "int64", + "description": "last_changed_height indicates the height of the most recent change.\nIt is used to set the `last_changed_height` field in `VotingPowerSnapshot`." + }, + "has_opt_out": { + "type": "boolean", + "description": "has_opt_out is used to indicate whether there has been any opt-out operation from\nthe most recently saved snapshot to the current height. This is because,\nwhen an opt-out operation occurs, the related AVS validator information changes,\nand the snapshot needs to be updated.\nCurrently, a boolean variable is used instead of an operator list\nbecause the snapshot is set by default to store all operator information related to AVS.\nTherefore, as long as any operator has opted out, the snapshot needs to be updated.\nIf we later introduce a limit on the maximum number of validators in AVS,\nsimilar to the MaxValidatorNumber in Dogfood, this may need to be changed to an operator list\nto track all operators that have opted out, thereby assisting with the correct snapshot update." + } + }, + "title": "SnapshotHelper is used to record the helper information for voting power snapshot update" + }, + "exocore.operator.v1.Validator": { + "type": "object", + "properties": { + "operator_earnings_addr": { + "type": "string", + "description": "earnoperator_earnings_addrings_addr is the earnings address." + }, + "operator_approve_addr": { + "type": "string", + "description": "operator_approve_addr is the approve address." + }, + "operator_meta_info": { + "type": "string", + "description": "operator_meta_info is the operator meta info." + }, + "cons_address": { + "type": "string", + "description": "ConsAddress defines a wrapper around bytes meant to present a consensus node.\nWhen marshaled to a string or JSON, it uses Bech32." + }, + "consensus_pubkey": { "type": "object", "properties": { - "protocol_version": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }", + "title": "consensus_pubkey is the consensus public key of the validator, as a Protobuf Any" + }, + "jailed": { + "type": "boolean", + "title": "jailed defined whether the validator has been jailed from bonded status or not" + }, + "status": { + "title": "status is the validator status (bonded/unbonding/unbonded)", + "type": "string", + "enum": [ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED" + ], + "default": "BOND_STATUS_UNSPECIFIED", + "description": "BondStatus is the status of a validator.\n\n - BOND_STATUS_UNSPECIFIED: UNSPECIFIED defines an invalid validator status.\n - BOND_STATUS_UNBONDED: UNBONDED defines a validator that is not bonded.\n - BOND_STATUS_UNBONDING: UNBONDING defines a validator that is unbonding.\n - BOND_STATUS_BONDED: BONDED defines a validator that is bonded." + }, + "voting_power": { + "type": "string", + "title": "voting_power define the validator voting power" + }, + "delegator_shares": { + "type": "string", + "title": "delegator_shares defines total shares issued to a validator's delegators" + }, + "commission": { + "description": "commission defines the commission parameters.", + "type": "object", + "properties": { + "commission_rates": { + "description": "commission_rates defines the initial commission rates to be used for creating a validator.", "type": "object", "properties": { - "p2p": { + "rate": { "type": "string", - "format": "uint64" + "description": "rate is the commission rate charged to delegators, as a fraction." }, - "block": { + "max_rate": { "type": "string", - "format": "uint64" + "description": "max_rate defines the maximum commission rate which validator can ever charge, as a fraction." }, - "app": { + "max_change_rate": { "type": "string", - "format": "uint64" + "description": "max_change_rate defines the maximum daily increase of the validator commission, as a fraction." } } }, - "default_node_id": { - "type": "string" - }, - "listen_addr": { - "type": "string" - }, - "network": { - "type": "string" - }, - "version": { - "type": "string" - }, - "channels": { + "update_time": { "type": "string", - "format": "byte" - }, - "moniker": { - "type": "string" - }, - "other": { - "type": "object", - "properties": { - "tx_index": { - "type": "string" - }, - "rpc_address": { - "type": "string" - } - } + "format": "date-time", + "description": "update_time is the last time the commission rate was changed." } } }, - "application_version": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "app_name": { - "type": "string" - }, - "version": { - "type": "string" - }, - "git_commit": { - "type": "string" - }, - "build_tags": { - "type": "string" - }, - "go_version": { - "type": "string" - }, - "build_deps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "title": "module path" - }, - "version": { - "type": "string", - "title": "module version" - }, - "sum": { - "type": "string", - "title": "checksum" - } - }, - "title": "Module is the type for VersionInfo" + "delegator_tokens": { + "type": "array", + "items": { + "type": "object", + "properties": { + "asset_id": { + "type": "string", + "title": "asset_id is the asset for which the query is made" + }, + "symbol": { + "type": "string", + "title": "symbol of the asset, like \"USDT\"" + }, + "name": { + "type": "string", + "title": "name of the asset, like \"Tether USD\"" + }, + "self_amount": { + "type": "string", + "title": "self_amount is the self amount of the asset which delegation" + }, + "total_amount": { + "type": "string", + "title": "total_amount is the total amount of the asset which delegation" + }, + "self_usd_value": { + "type": "string", + "title": "self_usd_value is the self delegation USD value for the validator" + }, + "total_usd_value": { + "type": "string", + "title": "total_usd_value is the total delegation USD value for the validator" } }, - "cosmos_sdk_version": { - "type": "string", - "title": "Since: cosmos-sdk 0.43" - } + "title": "DelegatorInfo records the total opted-in USD value for the specified operator" }, - "description": "VersionInfo is the type for the GetNodeInfoResponse message." - } - }, - "description": "GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method." - }, - "cosmos.base.tendermint.v1beta1.GetSyncingResponse": { - "type": "object", - "properties": { - "syncing": { - "type": "boolean" + "title": "delegator_tokens is the list of asset infos" } }, - "description": "GetSyncingResponse is the response type for the Query/GetSyncing RPC method." + "title": "Validator defines a validator, together with the total amount of the\nValidator's bond shares and their exchange rate to coins. Slashing results in\na decrease in the exchange rate, allowing correct calculation of future\nundelegations without iterating over delegators. When coins are delegated to\nthis validator, the validator is credited with a delegation whose number of\nbond shares is based on the amount of coins delegated divided by the current\nexchange rate. Voting power can be calculated as total bonded shares\nmultiplied by exchange rate" }, - "cosmos.base.tendermint.v1beta1.GetValidatorSetByHeightResponse": { + "exocore.operator.v1.VotingPowerSnapshot": { "type": "object", "properties": { - "block_height": { + "total_voting_power": { "type": "string", - "format": "int64" + "title": "total_voting_power is the total voting power of specified AVS" }, - "validators": { + "operator_voting_powers": { "type": "array", "items": { "type": "object", "properties": { - "address": { - "type": "string" + "operator_addr": { + "type": "string", + "title": "operator_addr is the operator address,its type should be a sdk.AccAddress" }, - "pub_key": { + "voting_power": { + "type": "string", + "title": "voting_power is the active voting power for the above operator address" + } + }, + "title": "OperatorVotingPower represents the voting power for the specified operator address" + }, + "title": "operator_voting_powers records the active voting power of all operators\nfor the specified AVS" + }, + "last_changed_height": { + "type": "string", + "format": "int64", + "description": "last_changed_height is used to indicate the height of most recent change when\nthe operator_voting_powers is nil, which can help to fall back to the correct epoch height." + }, + "epoch_identifier": { + "type": "string", + "title": "epoch_identifier record the epoch info" + }, + "epoch_number": { + "type": "string", + "format": "int64", + "title": "epoch_number indicates which epoch this snapshot serve for" + } + }, + "description": "VotingPowerSnapshot records historical voting power for AVSs at specific epochs\nor after slashing events.These snapshots are created at the end of each epoch and\nwhen slashing occurs, enabling historical queries of operator voting power at\nspecific points in time." + }, + "exocore.operator.v1.VotingPowerSnapshotKeyHeight": { + "type": "object", + "properties": { + "snapshot_key_height": { + "type": "string", + "format": "int64", + "description": "snapshot_key_height when it is used in QuerySpecifiedSnapshot, it's the latest\nheight with a snapshot key found based on the input height; this height is typically\nthe start height of the epoch in which the input height is located.\nwhen it is used in QueryAllSnapshot, it's the height in the current snapshot key." + }, + "snapshot": { + "description": "snapshot when it is used in QuerySpecifiedSnapshot, it is the final retrieved information\ncontaining the voting power set.\nwhen it is used in QueryAllSnapshot, It is the snapshot stored under `snapshot_key_height`,\nand its voting power set may be nil.", + "type": "object", + "properties": { + "total_voting_power": { + "type": "string", + "title": "total_voting_power is the total voting power of specified AVS" + }, + "operator_voting_powers": { + "type": "array", + "items": { "type": "object", "properties": { - "type_url": { + "operator_addr": { "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "title": "operator_addr is the operator address,its type should be a sdk.AccAddress" }, - "value": { + "voting_power": { "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "title": "voting_power is the active voting power for the above operator address" } }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "voting_power": { - "type": "string", - "format": "int64" + "title": "OperatorVotingPower represents the voting power for the specified operator address" }, - "proposer_priority": { - "type": "string", - "format": "int64" - } + "title": "operator_voting_powers records the active voting power of all operators\nfor the specified AVS" }, - "description": "Validator is the type for the validator-set." - } - }, - "pagination": { - "description": "pagination defines an pagination for the response.", - "type": "object", - "properties": { - "next_key": { + "last_changed_height": { "type": "string", - "format": "byte", - "description": "next_key is the key to be passed to PageRequest.key to\nquery the next page most efficiently. It will be empty if\nthere are no more results." + "format": "int64", + "description": "last_changed_height is used to indicate the height of most recent change when\nthe operator_voting_powers is nil, which can help to fall back to the correct epoch height." }, - "total": { + "epoch_identifier": { "type": "string", - "format": "uint64", - "title": "total is total number of results available if PageRequest.count_total\nwas set, its value is undefined otherwise" + "title": "epoch_identifier record the epoch info" + }, + "epoch_number": { + "type": "string", + "format": "int64", + "title": "epoch_number indicates which epoch this snapshot serve for" } } } }, - "description": "GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method." + "title": "VotingPowerSnapshotKeyHeight is used in the response of QuerySpecifiedSnapshot\nand QueryAllSnapshot" }, - "cosmos.base.tendermint.v1beta1.Header": { + "cosmos.upgrade.v1beta1.ModuleVersion": { "type": "object", "properties": { + "name": { + "type": "string", + "title": "name of the app module" + }, "version": { - "title": "basic block info", - "type": "object", - "properties": { - "block": { - "type": "string", - "format": "uint64" - }, - "app": { - "type": "string", - "format": "uint64" - } - }, - "description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine." + "type": "string", + "format": "uint64", + "title": "consensus version of the app module" + } + }, + "description": "ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43" + }, + "cosmos.upgrade.v1beta1.Plan": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit." }, - "chain_id": { - "type": "string" + "time": { + "type": "string", + "format": "date-time", + "description": "Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown." }, "height": { "type": "string", - "format": "int64" + "format": "int64", + "description": "The height at which the upgrade must be performed." }, - "time": { + "info": { "type": "string", - "format": "date-time" + "title": "Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to" }, - "last_block_id": { + "upgraded_client_state": { "type": "object", "properties": { - "hash": { + "type_url": { "type": "string", - "format": "byte" + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." }, - "part_set_header": { - "type": "object", - "properties": { - "total": { - "type": "integer", - "format": "int64" - }, - "hash": { - "type": "string", - "format": "byte" - } - }, - "title": "PartsetHeader" + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." } }, - "title": "BlockID" - }, - "last_commit_hash": { - "type": "string", - "format": "byte", - "title": "hashes of block data" - }, - "data_hash": { - "type": "string", - "format": "byte" - }, - "validators_hash": { - "type": "string", - "format": "byte", - "title": "hashes from the app output from the prev block" - }, - "next_validators_hash": { - "type": "string", - "format": "byte" - }, - "consensus_hash": { - "type": "string", - "format": "byte" - }, - "app_hash": { - "type": "string", - "format": "byte" - }, - "last_results_hash": { - "type": "string", - "format": "byte" - }, - "evidence_hash": { - "type": "string", - "format": "byte", - "title": "consensus info" - }, - "proposer_address": { - "type": "string", - "description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX." + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" } }, - "description": "Header defines the structure of a Tendermint block header." + "description": "Plan specifies information about a planned upgrade and when it should occur." }, - "cosmos.base.tendermint.v1beta1.Module": { + "cosmos.upgrade.v1beta1.QueryAppliedPlanResponse": { "type": "object", "properties": { - "path": { - "type": "string", - "title": "module path" - }, - "version": { - "type": "string", - "title": "module version" - }, - "sum": { + "height": { "type": "string", - "title": "checksum" + "format": "int64", + "description": "height is the block height at which the plan was applied." } }, - "title": "Module is the type for VersionInfo" + "description": "QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC\nmethod." }, - "cosmos.base.tendermint.v1beta1.ProofOp": { + "cosmos.upgrade.v1beta1.QueryAuthorityResponse": { "type": "object", "properties": { - "type": { + "address": { "type": "string" - }, - "key": { - "type": "string", - "format": "byte" - }, - "data": { - "type": "string", - "format": "byte" } }, - "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." + "description": "Since: cosmos-sdk 0.46", + "title": "QueryAuthorityResponse is the response type for Query/Authority" }, - "cosmos.base.tendermint.v1beta1.ProofOps": { + "cosmos.upgrade.v1beta1.QueryCurrentPlanResponse": { "type": "object", "properties": { - "ops": { + "plan": { + "description": "plan is the current upgrade plan.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Sets the name for the upgrade. This name will be used by the upgraded\nversion of the software to apply any special \"on-upgrade\" commands during\nthe first BeginBlock method after the upgrade is applied. It is also used\nto detect whether a software version can handle a given upgrade. If no\nupgrade handler with this name has been set in the software, it will be\nassumed that the software is out-of-date when the upgrade Time or Height is\nreached and the software will exit." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "Deprecated: Time based upgrades have been deprecated. Time based upgrade logic\nhas been removed from the SDK.\nIf this field is not empty, an error will be thrown." + }, + "height": { + "type": "string", + "format": "int64", + "description": "The height at which the upgrade must be performed." + }, + "info": { + "type": "string", + "title": "Any application specific upgrade info to be included on-chain\nsuch as a git commit that validators could automatically upgrade to" + }, + "upgraded_client_state": { + "type": "object", + "properties": { + "type_url": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + }, + "value": { + "type": "string", + "format": "byte", + "description": "Must be a valid serialized protocol buffer of the above specified type." + } + }, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + } + } + } + }, + "description": "QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC\nmethod." + }, + "cosmos.upgrade.v1beta1.QueryModuleVersionsResponse": { + "type": "object", + "properties": { + "module_versions": { "type": "array", "items": { "type": "object", "properties": { - "type": { - "type": "string" - }, - "key": { + "name": { "type": "string", - "format": "byte" + "title": "name of the app module" }, - "data": { + "version": { "type": "string", - "format": "byte" + "format": "uint64", + "title": "consensus version of the app module" } }, - "description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint." - } + "description": "ModuleVersion specifies a module and its consensus version.\n\nSince: cosmos-sdk 0.43" + }, + "description": "module_versions is a list of module names with their consensus versions." } }, - "description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint." + "description": "QueryModuleVersionsResponse is the response type for the Query/ModuleVersions\nRPC method.\n\nSince: cosmos-sdk 0.43" }, - "cosmos.base.tendermint.v1beta1.Validator": { + "cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse": { "type": "object", "properties": { - "address": { - "type": "string" + "upgraded_consensus_state": { + "type": "string", + "format": "byte", + "title": "Since: cosmos-sdk 0.43" + } + }, + "description": "QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState\nRPC method." + }, + "ibc.applications.interchain_accounts.host.v1.Params": { + "type": "object", + "properties": { + "host_enabled": { + "type": "boolean", + "description": "host_enabled enables or disables the host submodule." }, - "pub_key": { + "allow_messages": { + "type": "array", + "items": { + "type": "string" + }, + "description": "allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain." + } + }, + "description": "Params defines the set of on-chain interchain accounts parameters.\nThe following parameters may be used to disable the host submodule." + }, + "ibc.applications.interchain_accounts.host.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params defines the parameters of the module.", "type": "object", "properties": { - "type_url": { - "type": "string", - "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + "host_enabled": { + "type": "boolean", + "description": "host_enabled enables or disables the host submodule." }, - "value": { - "type": "string", - "format": "byte", - "description": "Must be a valid serialized protocol buffer of the above specified type." + "allow_messages": { + "type": "array", + "items": { + "type": "string" + }, + "description": "allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain." } - }, - "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" - }, - "voting_power": { - "type": "string", - "format": "int64" - }, - "proposer_priority": { - "type": "string", - "format": "int64" + } } }, - "description": "Validator is the type for the validator-set." + "description": "QueryParamsResponse is the response type for the Query/Params RPC method." }, - "cosmos.base.tendermint.v1beta1.VersionInfo": { + "cosmos.consensus.v1.QueryParamsResponse": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "app_name": { - "type": "string" - }, - "version": { - "type": "string" - }, - "git_commit": { - "type": "string" - }, - "build_tags": { - "type": "string" - }, - "go_version": { - "type": "string" - }, - "build_deps": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "title": "module path" + "params": { + "description": "params are the tendermint consensus params stored in the consensus module.\nPlease note that `params.version` is not populated in this response, it is\ntracked separately in the x/upgrade module.", + "type": "object", + "properties": { + "block": { + "type": "object", + "properties": { + "max_bytes": { + "type": "string", + "format": "int64", + "title": "Max block size, in bytes.\nNote: must be greater than 0" + }, + "max_gas": { + "type": "string", + "format": "int64", + "title": "Max gas per block.\nNote: must be greater or equal to -1" + } }, - "version": { - "type": "string", - "title": "module version" + "description": "BlockParams contains limits on the block size." + }, + "evidence": { + "type": "object", + "properties": { + "max_age_num_blocks": { + "type": "string", + "format": "int64", + "description": "Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}." + }, + "max_age_duration": { + "type": "string", + "description": "Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)." + }, + "max_bytes": { + "type": "string", + "format": "int64", + "title": "This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB" + } }, - "sum": { - "type": "string", - "title": "checksum" - } + "description": "EvidenceParams determine how we handle evidence of malfeasance." }, - "title": "Module is the type for VersionInfo" + "validator": { + "type": "object", + "properties": { + "pub_key_types": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names." + }, + "version": { + "type": "object", + "properties": { + "app": { + "type": "string", + "format": "uint64" + } + }, + "description": "VersionParams contains the ABCI application version." + } } + } + }, + "description": "QueryParamsResponse defines the response type for querying x/consensus parameters." + }, + "tendermint.types.BlockParams": { + "type": "object", + "properties": { + "max_bytes": { + "type": "string", + "format": "int64", + "title": "Max block size, in bytes.\nNote: must be greater than 0" }, - "cosmos_sdk_version": { + "max_gas": { "type": "string", - "title": "Since: cosmos-sdk 0.43" + "format": "int64", + "title": "Max gas per block.\nNote: must be greater or equal to -1" } }, - "description": "VersionInfo is the type for the GetNodeInfoResponse message." + "description": "BlockParams contains limits on the block size." }, - "tendermint.p2p.DefaultNodeInfo": { + "tendermint.types.ConsensusParams": { "type": "object", "properties": { - "protocol_version": { + "block": { "type": "object", "properties": { - "p2p": { + "max_bytes": { "type": "string", - "format": "uint64" + "format": "int64", + "title": "Max block size, in bytes.\nNote: must be greater than 0" }, - "block": { + "max_gas": { "type": "string", - "format": "uint64" + "format": "int64", + "title": "Max gas per block.\nNote: must be greater or equal to -1" + } + }, + "description": "BlockParams contains limits on the block size." + }, + "evidence": { + "type": "object", + "properties": { + "max_age_num_blocks": { + "type": "string", + "format": "int64", + "description": "Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}." }, - "app": { + "max_age_duration": { "type": "string", - "format": "uint64" + "description": "Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)." + }, + "max_bytes": { + "type": "string", + "format": "int64", + "title": "This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB" } - } - }, - "default_node_id": { - "type": "string" - }, - "listen_addr": { - "type": "string" + }, + "description": "EvidenceParams determine how we handle evidence of malfeasance." }, - "network": { - "type": "string" + "validator": { + "type": "object", + "properties": { + "pub_key_types": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names." }, "version": { - "type": "string" - }, - "channels": { - "type": "string", - "format": "byte" - }, - "moniker": { - "type": "string" - }, - "other": { "type": "object", "properties": { - "tx_index": { - "type": "string" - }, - "rpc_address": { - "type": "string" + "app": { + "type": "string", + "format": "uint64" } - } + }, + "description": "VersionParams contains the ABCI application version." } - } + }, + "description": "ConsensusParams contains consensus critical parameters that determine the\nvalidity of blocks." }, - "tendermint.p2p.DefaultNodeInfoOther": { + "tendermint.types.EvidenceParams": { "type": "object", "properties": { - "tx_index": { - "type": "string" + "max_age_num_blocks": { + "type": "string", + "format": "int64", + "description": "Max age of evidence, in blocks.\n\nThe basic formula for calculating this is: MaxAgeDuration / {average block\ntime}." }, - "rpc_address": { - "type": "string" + "max_age_duration": { + "type": "string", + "description": "Max age of evidence, in time.\n\nIt should correspond with an app's \"unbonding period\" or other similar\nmechanism for handling [Nothing-At-Stake\nattacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed)." + }, + "max_bytes": { + "type": "string", + "format": "int64", + "title": "This sets the maximum size of total evidence in bytes that can be committed in a single block.\nand should fall comfortably under the max block bytes.\nDefault is 1048576 or 1MB" } - } + }, + "description": "EvidenceParams determine how we handle evidence of malfeasance." }, - "tendermint.p2p.ProtocolVersion": { + "tendermint.types.ValidatorParams": { + "type": "object", + "properties": { + "pub_key_types": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "description": "ValidatorParams restrict the public key types validators can use.\nNOTE: uses ABCI pubkey naming, not Amino names." + }, + "tendermint.types.VersionParams": { "type": "object", "properties": { - "p2p": { - "type": "string", - "format": "uint64" - }, - "block": { - "type": "string", - "format": "uint64" - }, "app": { "type": "string", "format": "uint64" } - } + }, + "description": "VersionParams contains the ABCI application version." + }, + "exocore.reward.v1.Params": { + "type": "object", + "description": "Params defines the parameters for the module." + }, + "exocore.reward.v1.QueryParamsResponse": { + "type": "object", + "properties": { + "params": { + "description": "params holds all the parameters of this module.", + "type": "object" + } + }, + "description": "QueryParamsResponse is response type for the Query/Params RPC method." } } } \ No newline at end of file diff --git a/proto/exocore/avs/v1/query.proto b/proto/exocore/avs/v1/query.proto index ce69b552a..3719a73bd 100644 --- a/proto/exocore/avs/v1/query.proto +++ b/proto/exocore/avs/v1/query.proto @@ -76,22 +76,22 @@ message QueryChallengeInfoResponse { service Query { // Parameters queries the parameters of the module. rpc QueryAVSInfo(QueryAVSInfoReq) returns (QueryAVSInfoResponse) { - option (google.api.http).get = "/exocore/avs/QueryAVSInfo"; + option (google.api.http).get = "/exocore/avs/v1/QueryAVSInfo"; } // TaskInfo queries the task information. rpc QueryAVSTaskInfo(QueryAVSTaskInfoReq) returns (TaskInfo) { - option (google.api.http).get = "/exocore/avstask/v1/GetAVSTaskInfoReq"; + option (google.api.http).get = "/exocore/avs/v1/GetAVSTaskInfoReq"; } // QueryAVSAddrByChainID queries the avs address by chain id rpc QueryAVSAddrByChainID(QueryAVSAddrByChainIDReq) returns (QueryAVSAddrByChainIDResponse) { - option (google.api.http).get = "/exocore/avs/QueryAVSAddrByChainID"; + option (google.api.http).get = "/exocore/avs/v1/QueryAVSAddrByChainID"; } // Parameters queries the parameters of the module. rpc QuerySubmitTaskResult(QuerySubmitTaskResultReq) returns (QuerySubmitTaskResultResponse) { - option (google.api.http).get = "/exocore/avs/QuerySubmitTaskResult"; + option (google.api.http).get = "/exocore/avs/v1/QuerySubmitTaskResult"; } // Parameters queries the parameters of the module. rpc QueryChallengeInfo(QueryChallengeInfoReq) returns (QueryChallengeInfoResponse) { - option (google.api.http).get = "/exocore/avs/QueryChallengeInfo"; + option (google.api.http).get = "/exocore/avs/v1/QueryChallengeInfo"; } } diff --git a/proto/exocore/dogfood/v1/query.proto b/proto/exocore/dogfood/v1/query.proto index 3072180ca..3f2a56eb6 100644 --- a/proto/exocore/dogfood/v1/query.proto +++ b/proto/exocore/dogfood/v1/query.proto @@ -13,32 +13,32 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/dogfood/types"; service Query { // Params queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/exocore/dogfood/params"; + option (google.api.http).get = "/exocore/dogfood/v1/params"; } // OptOutsToFinish queries the operators whose opt-outs will finish at the given epoch. rpc OptOutsToFinish(QueryOptOutsToFinishRequest) returns (AccountAddresses) { - option (google.api.http).get = "/exocore/dogfood/opt_outs_to_finish/{epoch}"; + option (google.api.http).get = "/exocore/dogfood/v1/opt_outs_to_finish/{epoch}"; } // OperatorOptOutFinishEpoch queries the epoch when the operator's opt-out will finish. rpc OperatorOptOutFinishEpoch(QueryOperatorOptOutFinishEpochRequest) returns (QueryOperatorOptOutFinishEpochResponse) { - option (google.api.http).get = "/exocore/dogfood/operator_opt_out_finish_epoch/{operator_acc_addr}"; + option (google.api.http).get = "/exocore/dogfood/v1/operator_opt_out_finish_epoch/{operator_acc_addr}"; } // UndelegationsToMature queries the undelegations that will mature at the given epoch. rpc UndelegationsToMature(QueryUndelegationsToMatureRequest) returns (UndelegationRecordKeys) { - option (google.api.http).get = "/exocore/dogfood/undelegations_to_mature/{epoch}"; + option (google.api.http).get = "/exocore/dogfood/v1/undelegations_to_mature/{epoch}"; } // UndelegationMaturityEpoch queries the epoch when the undelegation will mature. rpc UndelegationMaturityEpoch(QueryUndelegationMaturityEpochRequest) returns (QueryUndelegationMaturityEpochResponse) { - option (google.api.http).get = "/exocore/dogfood/undelegation_maturity_epoch/{record_key}"; + option (google.api.http).get = "/exocore/dogfood/v1/undelegation_maturity_epoch/{record_key}"; } // QueryValidator queries the validator for the given consensus address. rpc QueryValidator(QueryValidatorRequest) returns (ExocoreValidator) { - option (google.api.http).get = "/exocore/dogfood/validator/{cons_addr}"; + option (google.api.http).get = "/exocore/dogfood/v1/validator/{cons_addr}"; } } diff --git a/proto/exocore/epochs/v1/query.proto b/proto/exocore/epochs/v1/query.proto index 99a0f8252..e4c7c2357 100644 --- a/proto/exocore/epochs/v1/query.proto +++ b/proto/exocore/epochs/v1/query.proto @@ -14,11 +14,11 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/epochs/types"; service Query { // EpochInfos provide a list of currently running epochs. rpc EpochInfos(QueryEpochsInfoRequest) returns (QueryEpochsInfoResponse) { - option (google.api.http).get = "/exocore/dogfood/v1/epochs"; + option (google.api.http).get = "/exocore/epochs/v1/epochs"; } // CurrentEpoch provide the current epoch for the specified identifier. rpc CurrentEpoch(QueryCurrentEpochRequest) returns (QueryCurrentEpochResponse) { - option (google.api.http).get = "/exocore/dogfood/v1/current_epoch"; + option (google.api.http).get = "/exocore/epochs/v1/current_epoch/{identifier}"; } } diff --git a/proto/exocore/feedistribution/v1/query.proto b/proto/exocore/feedistribution/v1/query.proto index cdaf1fa30..3cafa6225 100644 --- a/proto/exocore/feedistribution/v1/query.proto +++ b/proto/exocore/feedistribution/v1/query.proto @@ -12,7 +12,7 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/feedistribution/types"; service Query { // Parameters queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/feedistribution/params"; + option (google.api.http).get = "/exocore/v1/feedistribution/params"; } } diff --git a/proto/exocore/oracle/v1/query.proto b/proto/exocore/oracle/v1/query.proto index b4ee3963e..a2a48a5a8 100644 --- a/proto/exocore/oracle/v1/query.proto +++ b/proto/exocore/oracle/v1/query.proto @@ -21,77 +21,77 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/oracle/types"; service Query { // TokenIndexes shows the map tells token and its index for further usage rpc TokenIndexes(QueryTokenIndexesRequest) returns (QueryTokenIndexesResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/token_indexes"; + option (google.api.http).get = "/exocore/oracle/v1/token_indexes"; } // StakerList shows all stakers related to the specified asset under native-restaking context rpc StakerList(QueryStakerListRequest) returns (QueryStakerListResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/staker_list"; + option (google.api.http).get = "/exocore/oracle/v1/staker_list"; } // StakerInfos shows the details for all stakers of the specified assets under native-restaking context rpc StakerInfos(QueryStakerInfosRequest) returns (QueryStakerInfosResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/staker_infos/{asset_id}"; + option (google.api.http).get = "/exocore/oracle/v1/staker_infos/{asset_id}"; } // StakerInfo shows the details for one staker required by input parsms of the specified asset rpc StakerInfo(QueryStakerInfoRequest) returns (QueryStakerInfoResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/staker_info/{asset_id}/{staker_addr}"; + option (google.api.http).get = "/exocore/oracle/v1/staker_info/{asset_id}/{staker_addr}"; } // Parameters queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/params"; + option (google.api.http).get = "/exocore/oracle/v1/params"; } // Queries a list of Prices items. rpc Prices(QueryGetPricesRequest) returns (QueryGetPricesResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/prices/{token_id}"; + option (google.api.http).get = "/exocore/oracle/v1/prices/{token_id}"; } // Queries the latest price of a specific token rpc LatestPrice(QueryGetLatestPriceRequest) returns (QueryGetLatestPriceResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/latest_price/{token_id}"; + option (google.api.http).get = "/exocore/oracle/v1/latest_price/{token_id}"; } // rpc PricesAll (QueryAllPricesRequest) returns (QueryAllPricesResponse) { - // option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/prices"; + // option (google.api.http).get = "/exocore/oracle/prices"; // // } // Queries a ValidatorUpdateBlock by index. rpc ValidatorUpdateBlock(QueryGetValidatorUpdateBlockRequest) returns (QueryGetValidatorUpdateBlockResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/validator_update_block"; + option (google.api.http).get = "/exocore/oracle/v1/validator_update_block"; } // Queries a IndexRecentParams by index. rpc IndexRecentParams(QueryGetIndexRecentParamsRequest) returns (QueryGetIndexRecentParamsResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/index_recent_params"; + option (google.api.http).get = "/exocore/oracle/v1/index_recent_params"; } // Queries a IndexRecentMsg by index. rpc IndexRecentMsg(QueryGetIndexRecentMsgRequest) returns (QueryGetIndexRecentMsgResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/index_recent_msg"; + option (google.api.http).get = "/exocore/oracle/v1/index_recent_msg"; } // Queries a list of RecentMsg items. rpc RecentMsg(QueryGetRecentMsgRequest) returns (QueryGetRecentMsgResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/recent_msg/{block}"; + option (google.api.http).get = "/exocore/oracle/v1/recent_msg/{block}"; } // RecentMsgAll all RecentMsg items. rpc RecentMsgAll(QueryAllRecentMsgRequest) returns (QueryAllRecentMsgResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/recent_msg"; + option (google.api.http).get = "/exocore/oracle/v1/recent_msg"; } // Queries a list of RecentParams items. rpc RecentParams(QueryGetRecentParamsRequest) returns (QueryGetRecentParamsResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/recent_params/{block}"; + option (google.api.http).get = "/exocore/oracle/v1/recent_params/{block}"; } // RecentParamsAll query all RecentParams. rpc RecentParamsAll(QueryAllRecentParamsRequest) returns (QueryAllRecentParamsResponse) { - option (google.api.http).get = "/ExocoreNetwork/exocore/oracle/v1/recent_params"; + option (google.api.http).get = "/exocore/oracle/v1/recent_params"; } } diff --git a/proto/exocore/reward/v1/query.proto b/proto/exocore/reward/v1/query.proto index 088f4541a..6b5c444f1 100644 --- a/proto/exocore/reward/v1/query.proto +++ b/proto/exocore/reward/v1/query.proto @@ -10,7 +10,7 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/reward/types"; service Query { // Parameters queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/exocore/reward/params"; + option (google.api.http).get = "/exocore/reward/v1/params"; } } diff --git a/proto/exocore/slash/v1/query.proto b/proto/exocore/slash/v1/query.proto index 41d445dd3..9d8b99a79 100644 --- a/proto/exocore/slash/v1/query.proto +++ b/proto/exocore/slash/v1/query.proto @@ -11,7 +11,7 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/slash/types"; service Query { // Parameters queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/exocore/slash/params"; + option (google.api.http).get = "/exocore/slash/v1/params"; } } diff --git a/x/avs/types/query.pb.go b/x/avs/types/query.pb.go index 3b6c36b2d..4e012f53e 100644 --- a/x/avs/types/query.pb.go +++ b/x/avs/types/query.pb.go @@ -504,49 +504,49 @@ func init() { func init() { proto.RegisterFile("exocore/avs/v1/query.proto", fileDescriptor_fd804655b77429f2) } var fileDescriptor_fd804655b77429f2 = []byte{ - // 669 bytes of a gzipped FileDescriptorProto + // 664 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xeb, 0x42, 0xbf, 0x36, 0xfd, 0x40, 0x4b, 0x51, 0x53, 0x03, 0x0e, 0x35, 0x2d, 0xad, - 0x0a, 0xb1, 0xd5, 0x22, 0x8e, 0x1c, 0x9a, 0x80, 0xaa, 0x5c, 0x10, 0x38, 0x55, 0x0f, 0x5c, 0xaa, - 0x6d, 0xbc, 0x75, 0xad, 0xa6, 0xde, 0xd4, 0xbb, 0x31, 0xe9, 0x0d, 0xf1, 0x04, 0x95, 0xb8, 0x72, - 0xe0, 0x21, 0x90, 0x78, 0x05, 0x8e, 0x15, 0x08, 0x89, 0x53, 0x85, 0x1c, 0x1e, 0x04, 0xed, 0x7a, - 0x1d, 0x6c, 0x27, 0x4e, 0x5b, 0x89, 0x5b, 0x76, 0x3e, 0xfe, 0xf3, 0xdb, 0xf1, 0xcc, 0x06, 0xa8, - 0xb8, 0x43, 0x1a, 0xc4, 0xc7, 0x26, 0x0a, 0xa8, 0x19, 0x6c, 0x98, 0x27, 0x6d, 0xec, 0x9f, 0x1a, - 0x2d, 0x9f, 0x30, 0x02, 0x67, 0xa5, 0xcf, 0x40, 0x01, 0x35, 0x82, 0x0d, 0x75, 0xb1, 0x41, 0xe8, - 0x31, 0xa1, 0x7b, 0xc2, 0x6b, 0x46, 0x87, 0x28, 0x54, 0x5d, 0xc8, 0xc8, 0xb0, 0x8e, 0x74, 0xcc, - 0x3b, 0xc4, 0x21, 0x51, 0x02, 0xff, 0x25, 0xad, 0xf7, 0x1c, 0x42, 0x9c, 0x26, 0x36, 0x51, 0xcb, - 0x35, 0x91, 0xe7, 0x11, 0x86, 0x98, 0x4b, 0x3c, 0x29, 0xa6, 0x57, 0xc0, 0xdc, 0x1b, 0x8e, 0xb1, - 0xb5, 0x5b, 0xaf, 0x79, 0x07, 0xc4, 0xc2, 0x27, 0xd0, 0x04, 0x05, 0x14, 0xd0, 0x3d, 0x64, 0xdb, - 0x3e, 0xa6, 0xb4, 0xa8, 0x3c, 0x50, 0xd6, 0xa6, 0x2a, 0xb3, 0xe1, 0x45, 0x09, 0x6c, 0xed, 0xd6, - 0xb7, 0x22, 0xab, 0x05, 0x50, 0x40, 0xe5, 0x6f, 0xbd, 0x0a, 0xe6, 0xd3, 0x1a, 0xb4, 0x45, 0x3c, - 0x8a, 0xe1, 0x63, 0x70, 0xd3, 0xf5, 0x0e, 0x88, 0x50, 0x28, 0x6c, 0x2e, 0x18, 0xe9, 0x2b, 0x1a, - 0x71, 0xb8, 0x08, 0xd2, 0x2b, 0xa0, 0x18, 0x8b, 0x70, 0xdd, 0xca, 0x69, 0xf5, 0x10, 0xb9, 0x5e, - 0xed, 0x05, 0x27, 0x7a, 0x04, 0x26, 0x1b, 0xfc, 0xb4, 0xe7, 0xda, 0x12, 0xa7, 0x10, 0x5e, 0x94, - 0x26, 0xe2, 0x88, 0x09, 0xe1, 0xac, 0xd9, 0xfa, 0x6b, 0x70, 0x3f, 0x47, 0x43, 0x12, 0x5d, 0xfb, - 0x6a, 0x18, 0xdc, 0x8e, 0x15, 0x77, 0x10, 0x3d, 0x8a, 0x5b, 0xf4, 0x0c, 0x4c, 0x31, 0x44, 0x8f, - 0x84, 0x90, 0x54, 0x29, 0x7e, 0xff, 0x52, 0x9e, 0x97, 0xdf, 0x49, 0x66, 0xd7, 0x99, 0xef, 0x7a, - 0x8e, 0x35, 0xc9, 0x43, 0xb9, 0x09, 0x2e, 0x80, 0x09, 0x91, 0xe6, 0xda, 0xc5, 0x51, 0x9e, 0x64, - 0x8d, 0xf3, 0x63, 0xcd, 0xd6, 0x3f, 0x2b, 0xf2, 0xf6, 0xf5, 0xf6, 0xfe, 0xb1, 0xcb, 0x78, 0x29, - 0x0b, 0xd3, 0x76, 0x93, 0xf1, 0x62, 0x4f, 0xfa, 0x8b, 0xcd, 0x85, 0x17, 0xa5, 0xc2, 0x8e, 0x94, - 0xe5, 0xcc, 0x97, 0xd7, 0x80, 0xcf, 0xc1, 0x0c, 0x69, 0x61, 0x1f, 0x31, 0xe2, 0x47, 0x52, 0x37, - 0x2e, 0xe1, 0x9e, 0x8e, 0xc3, 0xb9, 0x59, 0xff, 0xaa, 0x80, 0x3b, 0x02, 0xb1, 0x7a, 0x88, 0x9a, - 0x4d, 0xec, 0x39, 0x38, 0x6e, 0xc6, 0xf5, 0xf8, 0x36, 0x32, 0x7c, 0x43, 0x00, 0xfe, 0x13, 0x79, - 0x5d, 0x4e, 0x45, 0x7f, 0x6f, 0xe5, 0x54, 0x6c, 0xa6, 0xe6, 0x54, 0xcb, 0xce, 0xe9, 0xbf, 0x8c, - 0xc4, 0xb8, 0x56, 0x81, 0x3a, 0xa8, 0x1b, 0x52, 0x71, 0x05, 0xcc, 0x36, 0x62, 0x47, 0xa2, 0x2f, - 0xd6, 0x4c, 0xcf, 0xca, 0xc9, 0x36, 0x7f, 0x8e, 0x81, 0x31, 0xa1, 0x02, 0x3b, 0x60, 0x3a, 0xb9, - 0x42, 0xb0, 0x94, 0x85, 0xc8, 0x2c, 0xa9, 0xba, 0x3c, 0x3c, 0x20, 0xe2, 0xd0, 0x97, 0x3e, 0xfc, - 0xf8, 0xf3, 0x71, 0xf4, 0x2e, 0x5c, 0x34, 0x93, 0x6f, 0x46, 0xaa, 0xd2, 0x7b, 0x05, 0xdc, 0xca, - 0x8e, 0x38, 0x7c, 0x98, 0xa7, 0x9e, 0x58, 0x02, 0xb5, 0x38, 0xa8, 0x51, 0xdc, 0xa9, 0x97, 0x45, - 0xd9, 0x55, 0xb8, 0x92, 0x2c, 0xcb, 0x3f, 0x26, 0x7f, 0xae, 0xb6, 0x31, 0xcb, 0x6c, 0xd3, 0xa7, - 0x78, 0xb4, 0xb2, 0x7b, 0x0b, 0xd7, 0xf2, 0x38, 0xb2, 0x4f, 0x84, 0x5a, 0xbe, 0x62, 0xa4, 0x6c, - 0xcc, 0xba, 0x20, 0x5c, 0x86, 0xfa, 0xc0, 0xc6, 0xa4, 0x21, 0x7a, 0x78, 0xd9, 0x01, 0xca, 0xc1, - 0x1b, 0xb0, 0xc3, 0x39, 0x78, 0x79, 0x13, 0x39, 0x0c, 0xaf, 0x0f, 0xe2, 0x4c, 0x01, 0xb0, 0x7f, - 0x14, 0xe1, 0xca, 0xc0, 0x8a, 0xd9, 0xe5, 0x55, 0xd7, 0xaf, 0x12, 0x26, 0xa9, 0x56, 0x05, 0xd5, - 0x12, 0x2c, 0xf5, 0x53, 0xa5, 0x12, 0x2a, 0xdb, 0xdf, 0x42, 0x4d, 0x39, 0x0f, 0x35, 0xe5, 0x77, - 0xa8, 0x29, 0x67, 0x5d, 0x6d, 0xe4, 0xbc, 0xab, 0x8d, 0xfc, 0xea, 0x6a, 0x23, 0x6f, 0xcb, 0x8e, - 0xcb, 0x0e, 0xdb, 0xfb, 0x46, 0x83, 0x1c, 0x9b, 0x2f, 0x23, 0x91, 0x57, 0x98, 0xbd, 0x23, 0xfe, - 0x51, 0x4f, 0xb3, 0x23, 0x54, 0xd9, 0x69, 0x0b, 0xd3, 0xfd, 0x71, 0xf1, 0x27, 0xf5, 0xf4, 0x6f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x2f, 0x76, 0x3f, 0x3a, 0x07, 0x00, 0x00, + 0x10, 0xc7, 0xeb, 0x42, 0xbf, 0x36, 0xfd, 0x40, 0x4b, 0x51, 0x83, 0x55, 0x1c, 0x70, 0x5b, 0x28, + 0x85, 0xd8, 0x6a, 0x11, 0x47, 0x0e, 0x4d, 0x40, 0x55, 0x2e, 0x08, 0x9c, 0xaa, 0x07, 0x2e, 0xd5, + 0x36, 0xde, 0xba, 0x56, 0x53, 0x6f, 0xea, 0xdd, 0x98, 0x56, 0x70, 0xe2, 0x09, 0x90, 0xfa, 0x00, + 0xf0, 0x10, 0x48, 0xbc, 0x02, 0xc7, 0x0a, 0x2e, 0x1c, 0x50, 0x85, 0x5c, 0x1e, 0x04, 0xed, 0x7a, + 0x1d, 0xe2, 0x4d, 0xdc, 0xb4, 0x12, 0x37, 0x7b, 0x67, 0xe6, 0x3f, 0xbf, 0x9d, 0xfc, 0xc7, 0x01, + 0x3a, 0x3e, 0x22, 0x0d, 0x12, 0x62, 0x1b, 0x45, 0xd4, 0x8e, 0x56, 0xed, 0xc3, 0x36, 0x0e, 0x8f, + 0xad, 0x56, 0x48, 0x18, 0x81, 0xd3, 0x32, 0x66, 0xa1, 0x88, 0x5a, 0xd1, 0xaa, 0x7e, 0xbb, 0x41, + 0xe8, 0x01, 0xa1, 0xdb, 0x22, 0x6a, 0x27, 0x2f, 0x49, 0xaa, 0x3e, 0xa7, 0xc8, 0xb0, 0x23, 0x19, + 0x98, 0xf5, 0x88, 0x47, 0x92, 0x02, 0xfe, 0x24, 0x4f, 0xe7, 0x3d, 0x42, 0xbc, 0x26, 0xb6, 0x51, + 0xcb, 0xb7, 0x51, 0x10, 0x10, 0x86, 0x98, 0x4f, 0x02, 0x29, 0x66, 0x56, 0xc0, 0xcc, 0x6b, 0x8e, + 0xb1, 0xbe, 0x55, 0xaf, 0x05, 0xbb, 0xc4, 0xc1, 0x87, 0xd0, 0x06, 0x05, 0x14, 0xd1, 0x6d, 0xe4, + 0xba, 0x21, 0xa6, 0xb4, 0xa8, 0xdd, 0xd5, 0x96, 0x27, 0x2a, 0xd3, 0xf1, 0x59, 0x09, 0xac, 0x6f, + 0xd5, 0xd7, 0x93, 0x53, 0x07, 0xa0, 0x88, 0xca, 0x67, 0xb3, 0x0a, 0x66, 0xb3, 0x1a, 0xb4, 0x45, + 0x02, 0x8a, 0xe1, 0x23, 0x70, 0xdd, 0x0f, 0x76, 0x89, 0x50, 0x28, 0xac, 0xcd, 0x59, 0xd9, 0x2b, + 0x5a, 0x69, 0xba, 0x48, 0x32, 0x2b, 0xa0, 0x98, 0x8a, 0x70, 0xdd, 0xca, 0x71, 0x75, 0x0f, 0xf9, + 0x41, 0xed, 0x39, 0x27, 0xba, 0x0f, 0xc6, 0x1b, 0xfc, 0x6d, 0xdb, 0x77, 0x25, 0x4e, 0x21, 0x3e, + 0x2b, 0x8d, 0xa5, 0x19, 0x63, 0x22, 0x58, 0x73, 0xcd, 0x57, 0xe0, 0x4e, 0x8e, 0x86, 0x24, 0xba, + 0xf2, 0xd5, 0x30, 0xb8, 0x99, 0x2a, 0x6e, 0x22, 0xba, 0x9f, 0x8e, 0xe8, 0x29, 0x98, 0x60, 0x88, + 0xee, 0x0b, 0x21, 0xa9, 0x52, 0xfc, 0xfe, 0xa5, 0x3c, 0x2b, 0x7f, 0x27, 0x59, 0x5d, 0x67, 0xa1, + 0x1f, 0x78, 0xce, 0x38, 0x4f, 0xe5, 0x47, 0x70, 0x0e, 0x8c, 0x89, 0x32, 0xdf, 0x2d, 0x0e, 0xf3, + 0x22, 0x67, 0x94, 0xbf, 0xd6, 0x5c, 0xf3, 0xb3, 0x26, 0x6f, 0x5f, 0x6f, 0xef, 0x1c, 0xf8, 0x8c, + 0xb7, 0x72, 0x30, 0x6d, 0x37, 0x19, 0x6f, 0xf6, 0xb8, 0xb7, 0xd9, 0x4c, 0x7c, 0x56, 0x2a, 0x6c, + 0x4a, 0x59, 0xce, 0x3c, 0xb8, 0x07, 0x7c, 0x06, 0xa6, 0x48, 0x0b, 0x87, 0x88, 0x91, 0x30, 0x91, + 0xba, 0x36, 0x80, 0x7b, 0x32, 0x4d, 0xe7, 0xc7, 0xe6, 0x57, 0x0d, 0xdc, 0x12, 0x88, 0xd5, 0x3d, + 0xd4, 0x6c, 0xe2, 0xc0, 0xc3, 0xe9, 0x30, 0xae, 0xc6, 0xb7, 0xaa, 0xf0, 0x5d, 0x00, 0xf0, 0x9f, + 0xc8, 0xeb, 0xd2, 0x15, 0xbd, 0xb3, 0x95, 0xae, 0x58, 0xcb, 0xf8, 0xd4, 0x50, 0x7d, 0xfa, 0xaf, + 0xa2, 0xcb, 0xae, 0x55, 0xa0, 0xf7, 0x9b, 0x86, 0x54, 0x5c, 0x02, 0xd3, 0x8d, 0x34, 0xd0, 0x35, + 0x17, 0x67, 0xaa, 0x73, 0xca, 0xc9, 0xd6, 0x7e, 0x8d, 0x80, 0x11, 0xa1, 0x02, 0xdf, 0x81, 0xc9, + 0xee, 0x15, 0x82, 0x25, 0x15, 0x42, 0x59, 0x52, 0x7d, 0xf1, 0xe2, 0x84, 0x84, 0xc3, 0x5c, 0xfc, + 0xf0, 0xe3, 0xcf, 0xc9, 0xb0, 0x01, 0xe7, 0x6d, 0xe5, 0x9b, 0x91, 0x69, 0xf6, 0x1e, 0xdc, 0x50, + 0x4d, 0x0e, 0x17, 0xf2, 0xf4, 0xbb, 0xd6, 0x40, 0x2f, 0xf6, 0x1b, 0x15, 0x0f, 0x9a, 0x0f, 0x45, + 0xe3, 0x05, 0x78, 0x4f, 0x6d, 0xbc, 0x81, 0x99, 0xb2, 0x4b, 0x9f, 0x52, 0x63, 0xa9, 0x5b, 0x0b, + 0x97, 0xf3, 0x18, 0xd4, 0x0f, 0x84, 0x5e, 0xbe, 0x64, 0xa6, 0x1c, 0x4b, 0x59, 0xd0, 0x3d, 0x80, + 0x4b, 0x79, 0x63, 0xc9, 0x72, 0x74, 0x08, 0x55, 0x07, 0xe5, 0x10, 0xf6, 0x59, 0xe2, 0x1c, 0xc2, + 0x3c, 0x4b, 0x0e, 0x20, 0xec, 0xe1, 0x38, 0xd1, 0x00, 0xec, 0xb5, 0x23, 0x5c, 0xea, 0xdb, 0x54, + 0x5d, 0x60, 0x7d, 0xe5, 0x32, 0x69, 0x12, 0x6c, 0x45, 0x80, 0x2d, 0x42, 0xb3, 0x2f, 0x58, 0xa6, + 0xa6, 0xb2, 0xf1, 0x2d, 0x36, 0xb4, 0xd3, 0xd8, 0xd0, 0x7e, 0xc7, 0x86, 0xf6, 0xf1, 0xdc, 0x18, + 0x3a, 0x3d, 0x37, 0x86, 0x7e, 0x9e, 0x1b, 0x43, 0x6f, 0xca, 0x9e, 0xcf, 0xf6, 0xda, 0x3b, 0x56, + 0x83, 0x1c, 0xd8, 0x2f, 0x12, 0x9d, 0x97, 0x98, 0xbd, 0x25, 0xe1, 0x7e, 0x47, 0xf6, 0x48, 0x08, + 0xb3, 0xe3, 0x16, 0xa6, 0x3b, 0xa3, 0xe2, 0xbf, 0xea, 0xc9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xa5, 0xdb, 0x08, 0x99, 0x41, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/avs/types/query.pb.gw.go b/x/avs/types/query.pb.gw.go index 2e24ae868..8295ea147 100644 --- a/x/avs/types/query.pb.gw.go +++ b/x/avs/types/query.pb.gw.go @@ -479,15 +479,15 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_QueryAVSInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"exocore", "avs", "QueryAVSInfo"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_QueryAVSInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "QueryAVSInfo"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_QueryAVSTaskInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avstask", "v1", "GetAVSTaskInfoReq"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_QueryAVSTaskInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "GetAVSTaskInfoReq"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_QueryAVSAddrByChainID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"exocore", "avs", "QueryAVSAddrByChainID"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_QueryAVSAddrByChainID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "QueryAVSAddrByChainID"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_QuerySubmitTaskResult_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"exocore", "avs", "QuerySubmitTaskResult"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_QuerySubmitTaskResult_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "QuerySubmitTaskResult"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_QueryChallengeInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"exocore", "avs", "QueryChallengeInfo"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_QueryChallengeInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "QueryChallengeInfo"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( diff --git a/x/epochs/types/query.pb.go b/x/epochs/types/query.pb.go index b6061a85f..8a902d5cb 100644 --- a/x/epochs/types/query.pb.go +++ b/x/epochs/types/query.pb.go @@ -250,40 +250,40 @@ func init() { func init() { proto.RegisterFile("exocore/epochs/v1/query.proto", fileDescriptor_9e74fdf7cde95576) } var fileDescriptor_9e74fdf7cde95576 = []byte{ - // 517 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x41, 0x6f, 0xd3, 0x30, - 0x14, 0xc7, 0xeb, 0x16, 0x26, 0xe6, 0x8d, 0x03, 0x16, 0x82, 0x12, 0x95, 0x74, 0x74, 0x12, 0x6c, - 0x03, 0xd9, 0xb4, 0xdc, 0x76, 0x42, 0x9d, 0x06, 0x82, 0x03, 0x82, 0x88, 0x13, 0x97, 0x91, 0xa4, - 0xaf, 0x59, 0xb4, 0x35, 0x2f, 0x8b, 0x9d, 0xb2, 0x5d, 0xb9, 0x70, 0x9d, 0x04, 0x1f, 0x82, 0x8f, - 0xb2, 0xe3, 0x24, 0x2e, 0x9c, 0x00, 0xb5, 0x7c, 0x10, 0x14, 0xdb, 0x19, 0xad, 0x1a, 0xc4, 0x6e, - 0x8e, 0xdf, 0xfb, 0x3f, 0xff, 0x7f, 0x7f, 0x3b, 0xf4, 0x2e, 0x1c, 0x63, 0x88, 0x19, 0x08, 0x48, - 0x31, 0xdc, 0x97, 0x62, 0xdc, 0x15, 0x47, 0x39, 0x64, 0x27, 0x3c, 0xcd, 0x50, 0x21, 0xbb, 0x61, - 0xcb, 0xdc, 0x94, 0xf9, 0xb8, 0xeb, 0x6c, 0x85, 0x28, 0x47, 0x28, 0x45, 0xe0, 0x4b, 0x30, 0xbd, - 0x62, 0xdc, 0x0d, 0x40, 0xf9, 0x5d, 0x91, 0xfa, 0x51, 0x9c, 0xf8, 0x2a, 0xc6, 0xc4, 0xc8, 0x9d, - 0xf6, 0xe2, 0xf4, 0x08, 0x12, 0x90, 0xb1, 0xb4, 0x0d, 0x37, 0x23, 0x8c, 0x50, 0x2f, 0x45, 0xb1, - 0xb2, 0xbb, 0xad, 0x08, 0x31, 0x3a, 0x04, 0xe1, 0xa7, 0xb1, 0xf0, 0x93, 0x04, 0x95, 0x9e, 0x59, - 0x6a, 0xda, 0xb6, 0xaa, 0xbf, 0x82, 0x7c, 0x28, 0x54, 0x3c, 0x02, 0xa9, 0xfc, 0x51, 0x6a, 0x1a, - 0x3a, 0xef, 0xe9, 0xad, 0x37, 0x85, 0xaf, 0x5d, 0x7d, 0xe8, 0x8b, 0x64, 0x88, 0x1e, 0x1c, 0xe5, - 0x20, 0x15, 0x7b, 0x46, 0xe9, 0x5f, 0x8f, 0x4d, 0xb2, 0x46, 0x36, 0x56, 0x7a, 0xf7, 0xb9, 0x01, - 0xe2, 0x05, 0x10, 0x37, 0xf0, 0x16, 0x88, 0xbf, 0xf6, 0x23, 0xb0, 0x5a, 0x6f, 0x46, 0xd9, 0x99, - 0x12, 0x7a, 0x7b, 0xe1, 0x08, 0x99, 0x62, 0x22, 0x81, 0x6d, 0xd3, 0x25, 0x43, 0xdb, 0x24, 0x6b, - 0x8d, 0x8d, 0x95, 0x5e, 0x8b, 0x2f, 0x64, 0xc8, 0xb5, 0xac, 0x50, 0xf5, 0xaf, 0x9c, 0xfd, 0x68, - 0xd7, 0x3c, 0xab, 0x60, 0x3b, 0x94, 0x06, 0x87, 0x18, 0x1e, 0xec, 0x15, 0x48, 0xcd, 0xba, 0xf6, - 0xe7, 0x70, 0xc3, 0xcb, 0x4b, 0x5e, 0xfe, 0xb6, 0xe4, 0xed, 0x5f, 0x2b, 0xd4, 0xa7, 0x3f, 0xdb, - 0xc4, 0x5b, 0xd6, 0xba, 0xa2, 0xc2, 0x9e, 0xcf, 0x41, 0x36, 0xf4, 0x90, 0x07, 0xff, 0x85, 0x34, - 0xee, 0xe7, 0x28, 0xb7, 0x69, 0x53, 0x43, 0xee, 0xe4, 0x59, 0x06, 0x89, 0xd2, 0xa6, 0xcb, 0x24, - 0x5d, 0x4a, 0xe3, 0x01, 0x24, 0x2a, 0x1e, 0xc6, 0x90, 0xe9, 0x24, 0x97, 0xbd, 0x99, 0x9d, 0xce, - 0x53, 0x7a, 0xa7, 0x42, 0x6b, 0x23, 0x5a, 0xa7, 0xd7, 0x43, 0xb3, 0xbf, 0xa7, 0xc1, 0xb5, 0xbe, - 0xe1, 0xad, 0x86, 0x33, 0xcd, 0xbd, 0xaf, 0x75, 0x7a, 0x55, 0x8f, 0x60, 0x9f, 0x08, 0xa5, 0x17, - 0x89, 0x49, 0xb6, 0x59, 0x11, 0x68, 0xf5, 0x7d, 0x3b, 0x5b, 0x97, 0x69, 0x35, 0xa6, 0x3a, 0x9d, - 0x8f, 0xdf, 0x7e, 0x7f, 0xae, 0xb7, 0x98, 0x23, 0xca, 0x47, 0x3b, 0xc0, 0x68, 0x88, 0x38, 0x28, - 0x5e, 0xad, 0xbd, 0x9f, 0x2f, 0x84, 0xae, 0xce, 0x12, 0xb1, 0x87, 0xff, 0x3a, 0xa0, 0x22, 0x33, - 0xe7, 0xd1, 0xe5, 0x9a, 0xad, 0x9f, 0x4d, 0xed, 0x67, 0x9d, 0xdd, 0xab, 0xf2, 0x33, 0x17, 0x5f, - 0xff, 0xe5, 0xd9, 0xc4, 0x25, 0xe7, 0x13, 0x97, 0xfc, 0x9a, 0xb8, 0xe4, 0x74, 0xea, 0xd6, 0xce, - 0xa7, 0x6e, 0xed, 0xfb, 0xd4, 0xad, 0xbd, 0x7b, 0x1c, 0xc5, 0x6a, 0x3f, 0x0f, 0x78, 0x88, 0x23, - 0xb1, 0x6b, 0xc6, 0xbc, 0x02, 0xf5, 0x01, 0xb3, 0x83, 0x8b, 0xa9, 0xc7, 0xe5, 0xcf, 0xa9, 0x4e, - 0x52, 0x90, 0xc1, 0x92, 0x7e, 0x66, 0x4f, 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0x97, 0x39, 0x02, - 0x56, 0x19, 0x04, 0x00, 0x00, + // 518 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0xc1, 0x6e, 0xd3, 0x40, + 0x10, 0x86, 0xb3, 0x09, 0x54, 0x74, 0x5b, 0x0e, 0xac, 0x10, 0xa4, 0xa6, 0x38, 0x25, 0x48, 0x50, + 0x0a, 0xec, 0x92, 0x20, 0x2e, 0x3d, 0xa1, 0x54, 0x05, 0xc1, 0x01, 0x81, 0xc5, 0x89, 0x4b, 0xb1, + 0xcd, 0xc4, 0xb5, 0xda, 0x78, 0x5c, 0xef, 0x3a, 0xb4, 0x42, 0x5c, 0x38, 0x70, 0xae, 0xc4, 0x0b, + 0xf0, 0x0e, 0xbc, 0x44, 0x8f, 0x95, 0xb8, 0x70, 0x02, 0x94, 0xf0, 0x20, 0xc8, 0xbb, 0xeb, 0x36, + 0x51, 0x8c, 0xe8, 0xcd, 0xde, 0x99, 0x7f, 0xe6, 0xff, 0xfe, 0x5d, 0x7a, 0x1d, 0xf6, 0x31, 0xc4, + 0x0c, 0x04, 0xa4, 0x18, 0x6e, 0x4b, 0x31, 0xec, 0x88, 0xbd, 0x1c, 0xb2, 0x03, 0x9e, 0x66, 0xa8, + 0x90, 0x5d, 0xb2, 0x65, 0x6e, 0xca, 0x7c, 0xd8, 0x71, 0xd6, 0x42, 0x94, 0x03, 0x94, 0x22, 0xf0, + 0x25, 0x98, 0x5e, 0x31, 0xec, 0x04, 0xa0, 0xfc, 0x8e, 0x48, 0xfd, 0x28, 0x4e, 0x7c, 0x15, 0x63, + 0x62, 0xe4, 0x4e, 0x6b, 0x76, 0x7a, 0x04, 0x09, 0xc8, 0x58, 0xda, 0x86, 0xcb, 0x11, 0x46, 0xa8, + 0x3f, 0x45, 0xf1, 0x65, 0x4f, 0x97, 0x23, 0xc4, 0x68, 0x17, 0x84, 0x9f, 0xc6, 0xc2, 0x4f, 0x12, + 0x54, 0x7a, 0x66, 0xa9, 0x69, 0xd9, 0xaa, 0xfe, 0x0b, 0xf2, 0xbe, 0x50, 0xf1, 0x00, 0xa4, 0xf2, + 0x07, 0xa9, 0x69, 0x68, 0xbf, 0xa5, 0x57, 0x5e, 0x15, 0xbe, 0x36, 0xf5, 0xd2, 0x67, 0x49, 0x1f, + 0x3d, 0xd8, 0xcb, 0x41, 0x2a, 0xf6, 0x84, 0xd2, 0x53, 0x8f, 0x4d, 0xb2, 0x42, 0x56, 0x17, 0xba, + 0xb7, 0xb8, 0x01, 0xe2, 0x05, 0x10, 0x37, 0xf0, 0x16, 0x88, 0xbf, 0xf4, 0x23, 0xb0, 0x5a, 0x6f, + 0x42, 0xd9, 0x1e, 0x13, 0x7a, 0x75, 0x66, 0x85, 0x4c, 0x31, 0x91, 0xc0, 0xd6, 0xe9, 0x9c, 0xa1, + 0x6d, 0x92, 0x95, 0xc6, 0xea, 0x42, 0x77, 0x99, 0xcf, 0x64, 0xc8, 0xb5, 0xac, 0x50, 0xf5, 0xce, + 0x1d, 0xfd, 0x6c, 0xd5, 0x3c, 0xab, 0x60, 0x1b, 0x94, 0x06, 0xbb, 0x18, 0xee, 0x6c, 0x15, 0x48, + 0xcd, 0xba, 0xf6, 0xe7, 0x70, 0xc3, 0xcb, 0x4b, 0x5e, 0xfe, 0xba, 0xe4, 0xed, 0x5d, 0x28, 0xd4, + 0x87, 0xbf, 0x5a, 0xc4, 0x9b, 0xd7, 0xba, 0xa2, 0xc2, 0x9e, 0x4e, 0x41, 0x36, 0xf4, 0x90, 0xdb, + 0xff, 0x85, 0x34, 0xee, 0xa7, 0x28, 0xd7, 0x69, 0x53, 0x43, 0x6e, 0xe4, 0x59, 0x06, 0x89, 0xd2, + 0xa6, 0xcb, 0x24, 0x5d, 0x4a, 0xe3, 0x77, 0x90, 0xa8, 0xb8, 0x1f, 0x43, 0xa6, 0x93, 0x9c, 0xf7, + 0x26, 0x4e, 0xda, 0x8f, 0xe9, 0x52, 0x85, 0xd6, 0x46, 0x74, 0x93, 0x5e, 0x0c, 0xcd, 0xf9, 0x96, + 0x06, 0xd7, 0xfa, 0x86, 0xb7, 0x18, 0x4e, 0x34, 0x77, 0xbf, 0xd5, 0xe9, 0x79, 0x3d, 0x82, 0x7d, + 0x26, 0x94, 0x9e, 0x24, 0x26, 0xd9, 0x9d, 0x8a, 0x40, 0xab, 0xef, 0xdb, 0x59, 0x3b, 0x4b, 0xab, + 0x31, 0xd5, 0xbe, 0xf1, 0xe9, 0xfb, 0x9f, 0x2f, 0xf5, 0x6b, 0x6c, 0x49, 0xcc, 0x3e, 0x5a, 0x7b, + 0x3d, 0x5f, 0x09, 0x5d, 0x9c, 0x04, 0x62, 0x77, 0xff, 0x35, 0xbf, 0x22, 0x32, 0xe7, 0xde, 0xd9, + 0x9a, 0xad, 0x9d, 0x47, 0xda, 0x8e, 0x60, 0xf7, 0x2b, 0xec, 0x4c, 0x85, 0x27, 0x3e, 0x9c, 0xc6, + 0xfe, 0xb1, 0xf7, 0xfc, 0x68, 0xe4, 0x92, 0xe3, 0x91, 0x4b, 0x7e, 0x8f, 0x5c, 0x72, 0x38, 0x76, + 0x6b, 0xc7, 0x63, 0xb7, 0xf6, 0x63, 0xec, 0xd6, 0xde, 0x3c, 0x88, 0x62, 0xb5, 0x9d, 0x07, 0x3c, + 0xc4, 0x81, 0xd8, 0x34, 0x23, 0x5f, 0x80, 0x7a, 0x8f, 0xd9, 0xce, 0xc9, 0x86, 0xfd, 0x72, 0x87, + 0x3a, 0x48, 0x41, 0x06, 0x73, 0xfa, 0xc5, 0x3d, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xd4, 0xc9, + 0x47, 0xbe, 0x24, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/epochs/types/query.pb.gw.go b/x/epochs/types/query.pb.gw.go index ef1c167d3..e87d592da 100644 --- a/x/epochs/types/query.pb.gw.go +++ b/x/epochs/types/query.pb.gw.go @@ -69,19 +69,26 @@ func local_request_Query_EpochInfos_0(ctx context.Context, marshaler runtime.Mar } -var ( - filter_Query_CurrentEpoch_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_Query_CurrentEpoch_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq QueryCurrentEpochRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["identifier"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "identifier") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_CurrentEpoch_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.Identifier, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "identifier", err) } msg, err := client.CurrentEpoch(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -93,11 +100,22 @@ func local_request_Query_CurrentEpoch_0(ctx context.Context, marshaler runtime.M var protoReq QueryCurrentEpochRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["identifier"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "identifier") } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Query_CurrentEpoch_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.Identifier, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "identifier", err) } msg, err := server.CurrentEpoch(ctx, &protoReq) @@ -242,9 +260,9 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_EpochInfos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "dogfood", "v1", "epochs"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_EpochInfos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 1}, []string{"exocore", "epochs", "v1"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_CurrentEpoch_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "dogfood", "v1", "current_epoch"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_CurrentEpoch_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "epochs", "v1", "current_epoch", "identifier"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( diff --git a/x/feedistribution/types/query.pb.go b/x/feedistribution/types/query.pb.go index a5592c443..ab4536bf0 100644 --- a/x/feedistribution/types/query.pb.go +++ b/x/feedistribution/types/query.pb.go @@ -123,7 +123,7 @@ func init() { } var fileDescriptor_edb03890e8a3c1c7 = []byte{ - // 307 bytes of a gzipped FileDescriptorProto + // 311 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4b, 0xad, 0xc8, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0x4b, 0x4d, 0x4d, 0xc9, 0x2c, 0x2e, 0x29, 0xca, 0x4c, 0x2a, 0x2d, 0xc9, 0xcc, 0xcf, 0xd3, 0x2f, 0x33, 0xd4, 0x2f, 0x2c, 0x4d, 0x2d, 0xaa, 0xd4, 0x2b, 0x28, 0xca, @@ -135,15 +135,15 @@ var fileDescriptor_edb03890e8a3c1c7 = []byte{ 0x05, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x28, 0xc5, 0x70, 0x09, 0xa3, 0x88, 0x16, 0x17, 0xe4, 0xe7, 0x15, 0xa7, 0x0a, 0xb9, 0x72, 0xb1, 0x41, 0x2c, 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x36, 0x52, 0xd2, 0xc3, 0xed, 0x13, 0x3d, 0x88, 0x5e, 0x27, 0xce, 0x13, 0xf7, 0xe4, 0x19, 0x56, 0x3c, - 0xdf, 0xa0, 0xc5, 0x18, 0x04, 0xd5, 0x6c, 0xb4, 0x9a, 0x91, 0x8b, 0x15, 0x6c, 0xbc, 0xd0, 0x42, + 0xdf, 0xa0, 0xc5, 0x18, 0x04, 0xd5, 0x6c, 0x34, 0x9f, 0x91, 0x8b, 0x15, 0x6c, 0xbc, 0xd0, 0x54, 0x46, 0x2e, 0x36, 0x88, 0x3a, 0x21, 0x3d, 0x7c, 0x66, 0x61, 0x3a, 0x51, 0x4a, 0x9f, 0x68, 0xf5, - 0x10, 0xc7, 0x2b, 0x99, 0x35, 0x5d, 0x7e, 0x32, 0x99, 0xc9, 0x40, 0x48, 0x4f, 0xdf, 0x15, 0xa2, - 0xd1, 0x2f, 0xb5, 0xa4, 0x3c, 0xbf, 0x28, 0x5b, 0x1f, 0x57, 0xf0, 0x42, 0x5c, 0xeb, 0x14, 0x7c, - 0xe2, 0x91, 0x1c, 0xe3, 0x85, 0x47, 0x72, 0x8c, 0x0f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, - 0x70, 0xe1, 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0x96, 0xe9, 0x99, 0x25, 0x19, 0xa5, - 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xb8, 0xcc, 0xac, 0xc0, 0x30, 0xb5, 0xa4, 0xb2, 0x20, 0xb5, 0x38, - 0x89, 0x0d, 0x1c, 0xfa, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x54, 0x28, 0x79, 0x61, 0x33, - 0x02, 0x00, 0x00, + 0x10, 0xc7, 0x2b, 0x69, 0x35, 0x5d, 0x7e, 0x32, 0x99, 0x49, 0x45, 0x48, 0x49, 0x1f, 0x16, 0x9e, + 0x65, 0x86, 0x18, 0x41, 0x0a, 0x71, 0xa1, 0x53, 0xf0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, + 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, + 0xcb, 0x31, 0x44, 0x59, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, + 0x42, 0xcc, 0xf1, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0x86, 0x1b, 0x5b, 0x81, 0x61, 0x6a, 0x49, + 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0x38, 0xc4, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x14, + 0xa5, 0xe8, 0x3f, 0x27, 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/feedistribution/types/query.pb.gw.go b/x/feedistribution/types/query.pb.gw.go index 3e8aa682f..1795f4c3d 100644 --- a/x/feedistribution/types/query.pb.gw.go +++ b/x/feedistribution/types/query.pb.gw.go @@ -145,7 +145,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"ExocoreNetwork", "exocore", "feedistribution", "params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "v1", "feedistribution", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( diff --git a/x/oracle/types/query.pb.go b/x/oracle/types/query.pb.go index a486abc4a..2490f45cb 100644 --- a/x/oracle/types/query.pb.go +++ b/x/oracle/types/query.pb.go @@ -1493,94 +1493,93 @@ func init() { func init() { proto.RegisterFile("exocore/oracle/v1/query.proto", fileDescriptor_b8cba1249806967d) } var fileDescriptor_b8cba1249806967d = []byte{ - // 1379 bytes of a gzipped FileDescriptorProto + // 1368 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x98, 0xdf, 0x6f, 0xdb, 0x54, - 0x14, 0xc7, 0xeb, 0xfe, 0x1a, 0x3d, 0xed, 0x06, 0xbd, 0x2b, 0xa3, 0x35, 0x6d, 0xda, 0x99, 0x76, - 0xcb, 0xda, 0xce, 0x6e, 0xfa, 0x63, 0xd9, 0x0f, 0x06, 0x4b, 0x25, 0x56, 0x3a, 0x8d, 0xaa, 0x0d, - 0x05, 0x89, 0x69, 0x22, 0x72, 0x92, 0xbb, 0x60, 0xea, 0xc4, 0x99, 0xed, 0x86, 0x4e, 0x55, 0x85, - 0xc4, 0x1b, 0xe2, 0x05, 0x89, 0xb7, 0xbd, 0x20, 0x21, 0x24, 0x84, 0x78, 0x00, 0xb4, 0x67, 0xde, - 0xc7, 0xdb, 0x24, 0x5e, 0x78, 0x42, 0xa8, 0xe5, 0x0f, 0xe0, 0x4f, 0x40, 0xbe, 0x3e, 0x4e, 0xec, - 0xf8, 0x3a, 0x76, 0x50, 0xdf, 0x62, 0xdf, 0xf3, 0xe3, 0x73, 0xce, 0x3d, 0xf7, 0xfa, 0xab, 0xc0, - 0x14, 0x3d, 0x30, 0x4a, 0x86, 0x49, 0x15, 0xc3, 0x54, 0x4b, 0x3a, 0x55, 0x1a, 0x19, 0xe5, 0xf1, - 0x3e, 0x35, 0x9f, 0xc8, 0x75, 0xd3, 0xb0, 0x0d, 0x32, 0x8a, 0xcb, 0xb2, 0xbb, 0x2c, 0x37, 0x32, - 0xe2, 0x7c, 0xc9, 0xb0, 0xaa, 0x86, 0xa5, 0x14, 0x55, 0x8b, 0xba, 0xb6, 0x4a, 0x23, 0x53, 0xa4, - 0xb6, 0x9a, 0x51, 0xea, 0x6a, 0x45, 0xab, 0xa9, 0xb6, 0x66, 0xd4, 0x5c, 0x77, 0x31, 0x1d, 0x8e, - 0xae, 0xd5, 0xca, 0xf4, 0xa0, 0x60, 0xd2, 0x12, 0xad, 0xd9, 0x85, 0xaa, 0x55, 0x41, 0xcb, 0x85, - 0x18, 0xcb, 0xba, 0x6a, 0xaa, 0x55, 0x0b, 0x8d, 0x67, 0xc3, 0xc6, 0x4e, 0xda, 0x06, 0x2d, 0xd8, - 0xc6, 0x1e, 0xf5, 0x92, 0xa7, 0xc2, 0x56, 0x81, 0x28, 0x9c, 0xd2, 0xeb, 0xa6, 0x56, 0xa2, 0x1d, - 0xdc, 0x9d, 0x65, 0xcf, 0x5d, 0x0a, 0xaf, 0x87, 0xaa, 0x9a, 0x8b, 0xb4, 0x09, 0x90, 0xc8, 0x61, - 0xb3, 0x86, 0xaa, 0x6b, 0x65, 0xd5, 0x36, 0xcc, 0xc2, 0x7e, 0xbd, 0xac, 0xda, 0xb4, 0x50, 0xd4, - 0x8d, 0xd2, 0x1e, 0xda, 0x8f, 0x55, 0x8c, 0x8a, 0xc1, 0x7e, 0x2a, 0xce, 0x2f, 0x7c, 0x3b, 0x59, - 0x31, 0x8c, 0x8a, 0x4e, 0x15, 0xb5, 0xae, 0x29, 0x6a, 0xad, 0x66, 0xd8, 0x6c, 0x27, 0x30, 0x87, - 0x74, 0x1d, 0x60, 0xd7, 0x69, 0xce, 0xa6, 0xd3, 0x55, 0x32, 0x06, 0x03, 0xac, 0x55, 0xe3, 0xc2, - 0x8c, 0x90, 0x1e, 0xca, 0xbb, 0x0f, 0xce, 0x5b, 0xd6, 0xf4, 0xf1, 0xde, 0x19, 0x21, 0xdd, 0x9f, - 0x77, 0x1f, 0x24, 0x11, 0xc6, 0x77, 0x9c, 0x6d, 0x6e, 0xb9, 0x53, 0x2b, 0x4f, 0x1f, 0xef, 0x53, - 0xcb, 0x96, 0x0a, 0x30, 0xc1, 0x59, 0xb3, 0xea, 0x46, 0xcd, 0xa2, 0x64, 0x1d, 0xce, 0xb2, 0xb8, - 0x05, 0xcd, 0x5d, 0x18, 0x17, 0x66, 0xfa, 0xd2, 0xc3, 0xcb, 0x53, 0x72, 0x68, 0xa8, 0xe4, 0x96, - 0x7f, 0x7e, 0xc4, 0xf6, 0xc5, 0x92, 0x56, 0xe0, 0x02, 0x4b, 0xf0, 0xbe, 0xad, 0xee, 0x51, 0xf3, - 0xbe, 0x66, 0xd9, 0x98, 0x9a, 0x4c, 0xc0, 0x4b, 0xaa, 0x65, 0x51, 0xbb, 0xa0, 0x95, 0xb1, 0x8a, - 0x33, 0xec, 0x79, 0xb3, 0x2c, 0x7d, 0x04, 0xaf, 0x85, 0x9c, 0x90, 0xe9, 0x2d, 0x18, 0xb6, 0xd8, - 0xdb, 0x82, 0xae, 0x59, 0x36, 0x73, 0xe4, 0x13, 0xf9, 0x7c, 0xc1, 0x6a, 0xfe, 0x96, 0x76, 0x03, - 0x3c, 0x9b, 0xb5, 0x47, 0x46, 0x3c, 0x0f, 0x99, 0x6e, 0x26, 0x55, 0xcb, 0x65, 0x93, 0x75, 0x77, - 0xc8, 0x8b, 0x9a, 0x2b, 0x97, 0xcd, 0x36, 0x60, 0x37, 0x6a, 0x08, 0x58, 0xab, 0x3d, 0x32, 0x62, - 0x81, 0x99, 0x2f, 0x86, 0x76, 0x7e, 0x4b, 0xab, 0xa1, 0xd0, 0x56, 0x82, 0x0e, 0x3e, 0xc4, 0x3d, - 0x0f, 0x78, 0x21, 0xd1, 0x1d, 0x18, 0xf1, 0x11, 0x75, 0xda, 0x55, 0x1f, 0xd2, 0x70, 0x0b, 0xc9, - 0x92, 0xc6, 0x80, 0xb0, 0xe8, 0xdb, 0xec, 0x10, 0x78, 0xb3, 0xb4, 0x05, 0xe7, 0x03, 0x6f, 0x31, - 0x5d, 0x16, 0x06, 0xdd, 0xc3, 0x82, 0xb5, 0x4f, 0x70, 0x12, 0xb9, 0x2e, 0xeb, 0xfd, 0xcf, 0xff, - 0x9a, 0xee, 0xc9, 0xa3, 0xb9, 0xb4, 0x0c, 0xaf, 0xb2, 0x78, 0x1b, 0xd4, 0xde, 0x66, 0x07, 0xd7, - 0x57, 0x37, 0xce, 0xa5, 0x5b, 0x77, 0x7f, 0xfe, 0x8c, 0x3b, 0x73, 0x65, 0x29, 0x0b, 0xa2, 0xe7, - 0x73, 0x5f, 0xb5, 0xa9, 0xe5, 0x7a, 0x26, 0x70, 0xdc, 0xc1, 0xb9, 0xf0, 0x25, 0xf3, 0xf1, 0xb3, - 0x37, 0x9d, 0xf8, 0x99, 0x41, 0x93, 0x9f, 0x3d, 0x49, 0x0f, 0xe1, 0x75, 0x2e, 0x0b, 0xc6, 0xbd, - 0x0d, 0x03, 0xcc, 0x10, 0xc3, 0x5e, 0x8c, 0x0a, 0xbb, 0xab, 0x55, 0x69, 0xde, 0xd8, 0xaf, 0x95, - 0x31, 0xbc, 0xeb, 0x25, 0x15, 0xb0, 0x3b, 0x39, 0x5d, 0x0f, 0x76, 0xe7, 0x2e, 0x40, 0xeb, 0x1e, - 0xc7, 0xe0, 0x97, 0x64, 0xf7, 0xd2, 0x97, 0x9d, 0x4b, 0x5f, 0x76, 0x3f, 0x10, 0x78, 0xe9, 0xcb, - 0xdb, 0x6a, 0xc5, 0x6b, 0x50, 0xde, 0xe7, 0x29, 0x3d, 0x15, 0xb0, 0x25, 0xbe, 0x0c, 0x9c, 0x96, - 0xf4, 0x75, 0xd1, 0x12, 0xb2, 0x11, 0x60, 0xeb, 0x65, 0x6c, 0x97, 0x63, 0xd9, 0xdc, 0xac, 0x01, - 0xb8, 0x39, 0x78, 0xc3, 0xeb, 0xed, 0x87, 0xde, 0x4d, 0xfb, 0x01, 0xbb, 0x68, 0xd7, 0x9d, 0x7b, - 0xd6, 0x1b, 0xc9, 0xaf, 0x04, 0x98, 0xed, 0x6c, 0x87, 0x15, 0x95, 0xe0, 0x02, 0xff, 0xc6, 0xc6, - 0x06, 0x5e, 0xe6, 0x54, 0xc8, 0x0b, 0x88, 0xf5, 0x8e, 0x35, 0x38, 0x6b, 0x92, 0x04, 0x33, 0x1e, - 0x8c, 0x7b, 0x55, 0xb2, 0x4f, 0x49, 0xf0, 0x10, 0x7d, 0x0e, 0x17, 0x3b, 0xd8, 0x20, 0xed, 0x03, - 0x38, 0xcf, 0xf9, 0xb8, 0x22, 0xea, 0x2c, 0x07, 0x35, 0x14, 0x0a, 0x39, 0x47, 0xb5, 0xf6, 0x05, - 0x69, 0x1a, 0xa6, 0x38, 0x00, 0xef, 0x59, 0x15, 0x8f, 0xd0, 0x82, 0x54, 0x94, 0x01, 0xe2, 0xed, - 0xc0, 0x2b, 0xed, 0x2a, 0xa1, 0xc3, 0x90, 0x07, 0x83, 0x20, 0xd8, 0x39, 0x2d, 0xf0, 0x56, 0x5a, - 0xc2, 0xfb, 0x6c, 0x83, 0xda, 0xed, 0x40, 0xce, 0x57, 0xaf, 0xb5, 0x55, 0xfd, 0x79, 0xf7, 0x41, - 0xfa, 0x18, 0xbf, 0x6c, 0x41, 0x0f, 0x24, 0xcc, 0x01, 0x84, 0xd8, 0x26, 0x39, 0x6c, 0xed, 0x58, - 0x43, 0x66, 0x93, 0xa8, 0x88, 0x44, 0x39, 0x5d, 0x0f, 0x11, 0x9d, 0xd6, 0x11, 0xfc, 0x41, 0xc0, - 0x22, 0x82, 0x49, 0x22, 0x8a, 0xe8, 0xeb, 0xba, 0x88, 0xd3, 0x3b, 0x8f, 0x2b, 0xad, 0xbb, 0x8e, - 0x33, 0xd5, 0x11, 0x5b, 0xf4, 0x29, 0x4c, 0xf2, 0x9d, 0xb0, 0xc0, 0x7b, 0x70, 0x96, 0x37, 0xe0, - 0xd3, 0x91, 0x35, 0x06, 0x66, 0x7b, 0xc4, 0xf4, 0x8f, 0x35, 0x45, 0xc0, 0x66, 0x27, 0x83, 0x80, - 0xa7, 0xb5, 0x63, 0xcf, 0x04, 0xac, 0x29, 0x94, 0x27, 0xba, 0xa6, 0xbe, 0xff, 0x59, 0xd3, 0xa9, - 0xed, 0xde, 0xf2, 0xbf, 0x04, 0x06, 0x18, 0x35, 0xf9, 0x4e, 0x80, 0x11, 0xbf, 0x16, 0x24, 0x0b, - 0x1c, 0xb0, 0x28, 0x35, 0x29, 0x2e, 0x26, 0x33, 0x76, 0x09, 0xa4, 0xec, 0x17, 0x7f, 0xfc, 0xf3, - 0x4d, 0x6f, 0x86, 0x28, 0xca, 0x3b, 0xae, 0xd7, 0x16, 0xb5, 0x3f, 0x33, 0xcc, 0x3d, 0x25, 0xac, - 0xa6, 0x03, 0x32, 0x94, 0x3c, 0x15, 0x00, 0x5a, 0xf2, 0x8e, 0x5c, 0x89, 0xca, 0x1a, 0xd2, 0x9c, - 0xe2, 0x7c, 0x12, 0x53, 0xc4, 0x5b, 0x63, 0x78, 0x0a, 0xb9, 0x1a, 0x8f, 0xe7, 0x53, 0xa4, 0xe4, - 0x47, 0x01, 0x86, 0x7d, 0xaa, 0x8b, 0xc4, 0xa4, 0xf4, 0x0b, 0x3a, 0x71, 0x21, 0x91, 0x2d, 0xf2, - 0xe5, 0x18, 0xdf, 0x2d, 0x72, 0x23, 0x31, 0x1f, 0x93, 0x7b, 0xca, 0xa1, 0xa7, 0x19, 0x8f, 0xc8, - 0xb3, 0x66, 0x23, 0x9d, 0xd0, 0x71, 0x8d, 0xf4, 0x89, 0x65, 0x71, 0x3e, 0x89, 0x29, 0x82, 0x6e, - 0x31, 0xd0, 0x77, 0xc9, 0xdd, 0xae, 0x40, 0x7d, 0x9c, 0xca, 0xa1, 0x4f, 0x7d, 0x1f, 0x91, 0x2f, - 0x05, 0x18, 0xc4, 0x13, 0x30, 0x17, 0x85, 0x11, 0x38, 0xdd, 0xe2, 0xa5, 0x38, 0x33, 0x24, 0x5d, - 0x62, 0xa4, 0xf3, 0x24, 0x1d, 0x4f, 0xea, 0x9e, 0x5e, 0x67, 0x14, 0x07, 0x5d, 0xa5, 0x43, 0xd2, - 0x51, 0x49, 0xda, 0xf5, 0xab, 0x78, 0x25, 0x81, 0x25, 0x12, 0xdd, 0x62, 0x44, 0x6b, 0x64, 0x25, - 0x01, 0x11, 0xf3, 0x54, 0x0e, 0x3d, 0x85, 0x7b, 0x44, 0x7e, 0x16, 0x60, 0xd8, 0xa7, 0x3c, 0xc9, - 0xd5, 0x0e, 0x79, 0xc3, 0x6a, 0x59, 0x94, 0x93, 0x9a, 0x77, 0x3f, 0x90, 0x3a, 0x73, 0x2f, 0x30, - 0x64, 0x3f, 0xf1, 0xef, 0x02, 0x8c, 0xf1, 0x64, 0x15, 0xb9, 0xd6, 0x81, 0xa5, 0x83, 0x00, 0x14, - 0xb3, 0x5d, 0xfb, 0x61, 0x31, 0x77, 0x58, 0x31, 0x37, 0xc9, 0xf5, 0xf8, 0x62, 0xf8, 0xc2, 0x91, - 0xfc, 0x26, 0xc0, 0x68, 0x48, 0x77, 0x91, 0x95, 0x0e, 0x40, 0x51, 0xa2, 0x50, 0x5c, 0xed, 0xce, - 0x09, 0x4b, 0xb8, 0xcd, 0x4a, 0xc8, 0x92, 0xb5, 0xf8, 0x12, 0x38, 0x6a, 0x92, 0xfc, 0x2a, 0xc0, - 0xb9, 0xa0, 0x36, 0x23, 0x4b, 0xc9, 0x38, 0x5a, 0x4a, 0x48, 0xcc, 0x74, 0xe1, 0x81, 0xd8, 0x37, - 0x19, 0xf6, 0x2a, 0x59, 0xee, 0x12, 0xbb, 0x6a, 0x55, 0xc8, 0xf7, 0x02, 0x0c, 0xb5, 0x70, 0x17, - 0x3a, 0x24, 0x0f, 0x91, 0x2e, 0x26, 0x33, 0x46, 0xc8, 0x37, 0x19, 0xe4, 0x35, 0xb2, 0x1a, 0x0f, - 0xd9, 0xc2, 0x53, 0x0e, 0xd9, 0x64, 0x1c, 0x91, 0x6f, 0x05, 0x18, 0x69, 0xc6, 0xcc, 0xe9, 0x7a, - 0x34, 0x29, 0x47, 0x5d, 0x46, 0x93, 0xf2, 0x54, 0xa2, 0xb4, 0xca, 0x48, 0x65, 0xb2, 0xd8, 0x0d, - 0x29, 0xf9, 0xa5, 0x49, 0x88, 0x73, 0x2b, 0xc7, 0xb6, 0x27, 0x38, 0xb2, 0x4a, 0x62, 0x7b, 0xe4, - 0x7c, 0x9b, 0x71, 0xde, 0x20, 0xd9, 0xc4, 0x9c, 0xee, 0x9c, 0x36, 0x9b, 0xfa, 0x93, 0x00, 0x2f, - 0xfb, 0x23, 0x3b, 0x7d, 0x95, 0x63, 0x5b, 0x95, 0x90, 0x3a, 0x42, 0xce, 0x75, 0xa3, 0x61, 0x02, - 0xd4, 0xeb, 0xf7, 0x9e, 0x1f, 0xa7, 0x84, 0x17, 0xc7, 0x29, 0xe1, 0xef, 0xe3, 0x94, 0xf0, 0xf5, - 0x49, 0xaa, 0xe7, 0xc5, 0x49, 0xaa, 0xe7, 0xcf, 0x93, 0x54, 0xcf, 0x83, 0xa5, 0x8a, 0x66, 0x7f, - 0xb2, 0x5f, 0x94, 0x4b, 0x46, 0x35, 0x2a, 0xe8, 0x81, 0x17, 0xd6, 0x7e, 0x52, 0xa7, 0x56, 0x71, - 0x90, 0xfd, 0x43, 0xb8, 0xf2, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x57, 0x6e, 0x11, 0x04, 0x0c, - 0x16, 0x00, 0x00, + 0x14, 0xc7, 0xeb, 0xf5, 0xc7, 0xe8, 0x69, 0x37, 0xe8, 0x5d, 0x19, 0xad, 0xd7, 0xa6, 0xa9, 0xd7, + 0xb4, 0x69, 0xd3, 0xf9, 0x36, 0xed, 0x44, 0xe1, 0x81, 0x1f, 0xad, 0x04, 0x55, 0xa7, 0x31, 0xb5, + 0xa1, 0x20, 0x31, 0x4d, 0x44, 0x4e, 0x72, 0x17, 0x4c, 0xdd, 0x38, 0xb3, 0xdd, 0xd0, 0x51, 0x55, + 0x48, 0xbc, 0xee, 0x65, 0xd2, 0xc4, 0xcb, 0x04, 0x12, 0x20, 0x24, 0xde, 0x78, 0xe1, 0x8d, 0xbf, + 0x60, 0x8f, 0x93, 0x78, 0xe1, 0x09, 0xa1, 0x96, 0x3f, 0x04, 0xf9, 0xfa, 0x38, 0xb1, 0xe3, 0x6b, + 0xc7, 0x45, 0x7d, 0x8b, 0x7d, 0xcf, 0x8f, 0xcf, 0x39, 0xf7, 0xf8, 0xfa, 0x1b, 0xc3, 0x34, 0x3b, + 0x32, 0xab, 0xa6, 0xc5, 0xa8, 0x69, 0x69, 0x55, 0x83, 0xd1, 0x56, 0x91, 0x3e, 0x3a, 0x64, 0xd6, + 0x63, 0xb5, 0x69, 0x99, 0x8e, 0x49, 0xc6, 0x70, 0x59, 0xf5, 0x96, 0xd5, 0x56, 0x51, 0x5e, 0xaa, + 0x9a, 0xf6, 0x81, 0x69, 0xd3, 0x8a, 0x66, 0x33, 0xcf, 0x96, 0xb6, 0x8a, 0x15, 0xe6, 0x68, 0x45, + 0xda, 0xd4, 0xea, 0x7a, 0x43, 0x73, 0x74, 0xb3, 0xe1, 0xb9, 0xcb, 0xf9, 0x68, 0x74, 0xbd, 0x51, + 0x63, 0x47, 0x65, 0x8b, 0x55, 0x59, 0xc3, 0x29, 0x1f, 0xd8, 0x75, 0xb4, 0x2c, 0xf4, 0xb0, 0x6c, + 0x6a, 0x96, 0x76, 0x60, 0xa3, 0xf1, 0x5c, 0xd4, 0xd8, 0x4d, 0xdb, 0x62, 0x65, 0xc7, 0xdc, 0x67, + 0x7e, 0xf2, 0x4c, 0xd4, 0x2a, 0x14, 0x45, 0x50, 0x7a, 0xd3, 0xd2, 0xab, 0x2c, 0xc1, 0xdd, 0x5d, + 0xf6, 0xdd, 0x95, 0xe8, 0x7a, 0xa4, 0xaa, 0x5c, 0xac, 0x4d, 0x88, 0x44, 0x8d, 0x9a, 0xb5, 0x34, + 0x43, 0xaf, 0x69, 0x8e, 0x69, 0x95, 0x0f, 0x9b, 0x35, 0xcd, 0x61, 0xe5, 0x8a, 0x61, 0x56, 0xf7, + 0xd1, 0x7e, 0xbc, 0x6e, 0xd6, 0x4d, 0xfe, 0x93, 0xba, 0xbf, 0xf0, 0xee, 0x54, 0xdd, 0x34, 0xeb, + 0x06, 0xa3, 0x5a, 0x53, 0xa7, 0x5a, 0xa3, 0x61, 0x3a, 0x7c, 0x27, 0x30, 0x87, 0xf2, 0x16, 0xc0, + 0x9e, 0xdb, 0x9c, 0x6d, 0xb7, 0xab, 0x64, 0x1c, 0x06, 0x79, 0xab, 0x26, 0xa4, 0xac, 0x94, 0x1f, + 0x2e, 0x79, 0x17, 0xee, 0x5d, 0xde, 0xf4, 0x89, 0x4b, 0x59, 0x29, 0x3f, 0x50, 0xf2, 0x2e, 0x14, + 0x19, 0x26, 0x76, 0xdd, 0x6d, 0xee, 0xb8, 0x33, 0xbb, 0xc4, 0x1e, 0x1d, 0x32, 0xdb, 0x51, 0xca, + 0x30, 0x29, 0x58, 0xb3, 0x9b, 0x66, 0xc3, 0x66, 0x64, 0x13, 0xae, 0xf0, 0xb8, 0x65, 0xdd, 0x5b, + 0x98, 0x90, 0xb2, 0xfd, 0xf9, 0x91, 0xd5, 0x69, 0x35, 0x32, 0x54, 0x6a, 0xc7, 0xbf, 0x34, 0xea, + 0x04, 0x62, 0x29, 0x6b, 0x70, 0x9d, 0x27, 0xf8, 0xd8, 0xd1, 0xf6, 0x99, 0x75, 0x57, 0xb7, 0x1d, + 0x4c, 0x4d, 0x26, 0xe1, 0x15, 0xcd, 0xb6, 0x99, 0x53, 0xd6, 0x6b, 0x58, 0xc5, 0x65, 0x7e, 0xbd, + 0x5d, 0x53, 0x3e, 0x83, 0x37, 0x22, 0x4e, 0xc8, 0xf4, 0x2e, 0x8c, 0xd8, 0xfc, 0x6e, 0xd9, 0xd0, + 0x6d, 0x87, 0x3b, 0x8a, 0x89, 0x02, 0xbe, 0x60, 0xb7, 0x7f, 0x2b, 0x7b, 0x21, 0x9e, 0xed, 0xc6, + 0x43, 0xb3, 0x37, 0x0f, 0x99, 0x69, 0x27, 0xd5, 0x6a, 0x35, 0x8b, 0x77, 0x77, 0xd8, 0x8f, 0xba, + 0x51, 0xab, 0x59, 0x5d, 0xc0, 0x5e, 0xd4, 0x08, 0xb0, 0xde, 0x78, 0x68, 0xf6, 0x04, 0xe6, 0xbe, + 0x18, 0xda, 0xfd, 0xad, 0xdc, 0x8e, 0x84, 0xb6, 0x53, 0x74, 0xf0, 0x01, 0xee, 0x79, 0xc8, 0x0b, + 0x89, 0xde, 0x87, 0xd1, 0x00, 0x51, 0xd2, 0xae, 0x06, 0x90, 0x46, 0x3a, 0x48, 0xb6, 0x32, 0x0e, + 0x84, 0x47, 0xdf, 0xe1, 0x0f, 0x81, 0x3f, 0x4b, 0xf7, 0xe0, 0x5a, 0xe8, 0x2e, 0xa6, 0x5b, 0x87, + 0x21, 0xef, 0x61, 0xc1, 0xda, 0x27, 0x05, 0x89, 0x3c, 0x97, 0xcd, 0x81, 0x17, 0x7f, 0xcf, 0xf4, + 0x95, 0xd0, 0x5c, 0x59, 0x85, 0xd7, 0x79, 0xbc, 0x2d, 0xe6, 0xec, 0xf0, 0x07, 0x37, 0x50, 0x37, + 0xce, 0xa5, 0x57, 0xf7, 0x40, 0xe9, 0xb2, 0x37, 0x73, 0x35, 0x65, 0x1d, 0x64, 0xdf, 0xe7, 0xae, + 0xe6, 0x30, 0xdb, 0xf3, 0x4c, 0xe1, 0xb8, 0x8b, 0x73, 0x11, 0x48, 0x16, 0xe0, 0xe7, 0x77, 0x92, + 0xf8, 0xb9, 0x41, 0x9b, 0x9f, 0x5f, 0x29, 0x0f, 0xe0, 0x86, 0x90, 0x05, 0xe3, 0xbe, 0x03, 0x83, + 0xdc, 0x10, 0xc3, 0xce, 0xc6, 0x85, 0xdd, 0xd3, 0x0f, 0x58, 0xc9, 0x3c, 0x6c, 0xd4, 0x30, 0xbc, + 0xe7, 0xa5, 0x94, 0xb1, 0x3b, 0x1b, 0x86, 0x11, 0xee, 0xce, 0x87, 0x00, 0x9d, 0x73, 0x1c, 0x83, + 0xcf, 0xab, 0xde, 0xa1, 0xaf, 0xba, 0x87, 0xbe, 0xea, 0xbd, 0x20, 0xf0, 0xd0, 0x57, 0x77, 0xb4, + 0xba, 0xdf, 0xa0, 0x52, 0xc0, 0x53, 0x79, 0x2e, 0x61, 0x4b, 0x02, 0x19, 0x04, 0x2d, 0xe9, 0x3f, + 0x47, 0x4b, 0xc8, 0x56, 0x88, 0xed, 0x12, 0x67, 0x5b, 0xe8, 0xc9, 0xe6, 0x65, 0x0d, 0xc1, 0xe5, + 0xe0, 0xa6, 0xdf, 0xdb, 0x4f, 0xfd, 0x93, 0xf6, 0x13, 0x7e, 0xd0, 0x6e, 0xba, 0xe7, 0xac, 0x3f, + 0x92, 0x4f, 0x24, 0x98, 0x4b, 0xb6, 0xc3, 0x8a, 0xaa, 0x70, 0x5d, 0x7c, 0x62, 0x63, 0x03, 0x17, + 0x04, 0x15, 0x8a, 0x02, 0x62, 0xbd, 0xe3, 0x2d, 0xc1, 0x9a, 0xa2, 0x40, 0xd6, 0x87, 0xf1, 0x8e, + 0x4a, 0xfe, 0x2a, 0x09, 0x3f, 0x44, 0xdf, 0xc0, 0x6c, 0x82, 0x0d, 0xd2, 0xde, 0x87, 0x6b, 0x82, + 0x97, 0x2b, 0xa2, 0xce, 0x09, 0x50, 0x23, 0xa1, 0x90, 0x73, 0x4c, 0xef, 0x5e, 0x50, 0x66, 0x60, + 0x5a, 0x00, 0xf0, 0x91, 0x5d, 0xf7, 0x09, 0x6d, 0xc8, 0xc4, 0x19, 0x20, 0xde, 0x2e, 0xbc, 0xd6, + 0xad, 0x12, 0x12, 0x86, 0x3c, 0x1c, 0x04, 0xc1, 0xae, 0xea, 0xa1, 0xbb, 0xca, 0x0a, 0x9e, 0x67, + 0x5b, 0xcc, 0xe9, 0x06, 0x72, 0xdf, 0x7a, 0x9d, 0xad, 0x1a, 0x28, 0x79, 0x17, 0xca, 0xe7, 0xf8, + 0x66, 0x0b, 0x7b, 0x20, 0xe1, 0x06, 0x40, 0x84, 0x6d, 0x4a, 0xc0, 0xd6, 0x8d, 0x35, 0x6c, 0xb5, + 0x89, 0x2a, 0x48, 0xb4, 0x61, 0x18, 0x11, 0xa2, 0x8b, 0x7a, 0x04, 0x7f, 0x95, 0xb0, 0x88, 0x70, + 0x92, 0x98, 0x22, 0xfa, 0xcf, 0x5d, 0xc4, 0xc5, 0x3d, 0x8f, 0x6b, 0x9d, 0xb3, 0x4e, 0x30, 0xd5, + 0x31, 0x5b, 0xf4, 0x25, 0x4c, 0x89, 0x9d, 0xb0, 0xc0, 0x3b, 0x70, 0x45, 0x34, 0xe0, 0x33, 0xb1, + 0x35, 0x86, 0x66, 0x7b, 0xd4, 0x0a, 0x8e, 0x35, 0x43, 0xc0, 0x76, 0x27, 0xc3, 0x80, 0x17, 0xb5, + 0x63, 0xbf, 0x4b, 0x58, 0x53, 0x24, 0x4f, 0x7c, 0x4d, 0xfd, 0xff, 0xb3, 0xa6, 0x0b, 0xdb, 0xbd, + 0xd5, 0x1f, 0xc6, 0x60, 0x90, 0x53, 0x93, 0x67, 0x12, 0x8c, 0x06, 0xb5, 0x20, 0x29, 0x08, 0xc0, + 0xe2, 0xd4, 0xa4, 0xbc, 0x9c, 0xce, 0xd8, 0x23, 0x50, 0xf2, 0xdf, 0xfe, 0xf9, 0xef, 0xb3, 0x4b, + 0x0a, 0xc9, 0xd2, 0xa8, 0x7c, 0x0e, 0xe9, 0x4e, 0xf2, 0x44, 0x02, 0xe8, 0xe8, 0x39, 0xb2, 0x18, + 0x97, 0x26, 0x22, 0x32, 0xe5, 0xa5, 0x34, 0xa6, 0xc8, 0x33, 0xcf, 0x79, 0xb2, 0x24, 0x23, 0xe0, + 0x09, 0x68, 0x4e, 0xf2, 0x5c, 0x82, 0x91, 0x80, 0xae, 0x22, 0x3d, 0x72, 0x04, 0x25, 0x9b, 0x5c, + 0x48, 0x65, 0x8b, 0x40, 0xab, 0x1c, 0x68, 0x99, 0x2c, 0xc5, 0x03, 0x71, 0x05, 0x47, 0x8f, 0x7d, + 0x19, 0x78, 0x42, 0x7e, 0x69, 0xb7, 0xca, 0x8d, 0xd5, 0xab, 0x55, 0x01, 0xfd, 0x2b, 0x2f, 0xa5, + 0x31, 0x45, 0xb2, 0xf7, 0x38, 0xd9, 0xdb, 0x64, 0x3d, 0x99, 0x2c, 0x00, 0x46, 0x8f, 0x03, 0x0a, + 0xfa, 0x84, 0x7c, 0x0d, 0x43, 0x38, 0xc4, 0xb9, 0xb8, 0xb4, 0xa1, 0x07, 0x54, 0x9e, 0xef, 0x65, + 0x86, 0x64, 0xb3, 0x9c, 0xec, 0x06, 0x99, 0xa4, 0x71, 0xff, 0x1e, 0xdd, 0x69, 0x1a, 0xf2, 0xd4, + 0x09, 0xc9, 0xc7, 0x45, 0xed, 0xd6, 0x9c, 0xf2, 0x62, 0x0a, 0x4b, 0x44, 0x58, 0xe6, 0x08, 0xf3, + 0x64, 0x8e, 0xc6, 0xfd, 0x03, 0xa5, 0xc7, 0xbe, 0x0c, 0x3d, 0x21, 0x3f, 0x4a, 0x30, 0x12, 0x90, + 0x87, 0xe4, 0x56, 0x42, 0xa2, 0xa8, 0xa4, 0x95, 0xd5, 0xb4, 0xe6, 0x29, 0x66, 0xca, 0xe0, 0xf6, + 0x65, 0xce, 0x18, 0x44, 0xfc, 0x43, 0x82, 0x71, 0x91, 0xd8, 0x21, 0x6f, 0x26, 0x24, 0x4f, 0x90, + 0x65, 0xf2, 0xfa, 0xb9, 0xfd, 0x90, 0xbe, 0xc8, 0xe9, 0x0b, 0x64, 0x91, 0xa6, 0xfd, 0xc7, 0x4d, + 0x7e, 0x93, 0x60, 0x2c, 0x22, 0x7f, 0xc8, 0x5a, 0x02, 0x41, 0x9c, 0x36, 0x93, 0x6f, 0x9f, 0xcf, + 0x09, 0x99, 0x55, 0xce, 0x9c, 0x27, 0xf3, 0x34, 0xd5, 0x27, 0x12, 0xf2, 0xb3, 0x04, 0x57, 0xc3, + 0x9a, 0x88, 0xac, 0xa4, 0x4b, 0xdc, 0x51, 0x20, 0x72, 0xf1, 0x1c, 0x1e, 0xc8, 0x59, 0xe0, 0x9c, + 0x39, 0x72, 0x93, 0xf6, 0xfe, 0xe8, 0x43, 0xbe, 0x93, 0x60, 0xb8, 0xc3, 0x57, 0x48, 0xc8, 0x16, + 0x41, 0x5b, 0x4e, 0x67, 0x8c, 0x54, 0xb7, 0x38, 0xd5, 0x02, 0xc9, 0xd1, 0xa4, 0xcf, 0x35, 0xf4, + 0x98, 0x6f, 0xf6, 0x09, 0x79, 0x2a, 0xc1, 0x68, 0x3b, 0xc8, 0x86, 0x61, 0xc4, 0xa3, 0x09, 0x74, + 0x5b, 0x3c, 0x9a, 0x48, 0x7f, 0x29, 0x39, 0x8e, 0x36, 0x43, 0xa6, 0x13, 0xd1, 0xc8, 0x4f, 0x6d, + 0x24, 0x9c, 0x3d, 0xb5, 0x67, 0x03, 0xc2, 0x63, 0x47, 0x53, 0xdb, 0x23, 0xd8, 0x0a, 0x07, 0x5b, + 0x22, 0x79, 0xda, 0xe3, 0xf3, 0x55, 0xbb, 0x6d, 0xdf, 0x4b, 0xf0, 0x6a, 0x30, 0x94, 0xdb, 0x39, + 0xb5, 0x67, 0x33, 0x52, 0x62, 0xc6, 0x48, 0xa1, 0xc4, 0xf7, 0x7f, 0x08, 0x73, 0xf3, 0xce, 0x8b, + 0xd3, 0x8c, 0xf4, 0xf2, 0x34, 0x23, 0xfd, 0x73, 0x9a, 0x91, 0x9e, 0x9e, 0x65, 0xfa, 0x5e, 0x9e, + 0x65, 0xfa, 0xfe, 0x3a, 0xcb, 0xf4, 0xdd, 0x5f, 0xa9, 0xeb, 0xce, 0x17, 0x87, 0x15, 0xb5, 0x6a, + 0x1e, 0xd0, 0x0f, 0xbc, 0x28, 0xf7, 0x98, 0xf3, 0x95, 0x69, 0xed, 0xb7, 0x83, 0x1e, 0xf9, 0x61, + 0x9d, 0xc7, 0x4d, 0x66, 0x57, 0x86, 0xf8, 0xe7, 0xb4, 0xb5, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, + 0x94, 0xbe, 0xb7, 0xd4, 0x39, 0x15, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/oracle/types/query.pb.gw.go b/x/oracle/types/query.pb.gw.go index cb43aecfa..95f91fabd 100644 --- a/x/oracle/types/query.pb.gw.go +++ b/x/oracle/types/query.pb.gw.go @@ -1230,33 +1230,33 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_TokenIndexes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "token_indexes"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_TokenIndexes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "token_indexes"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_StakerList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "staker_list"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_StakerList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "staker_list"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_StakerInfos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "staker_infos", "asset_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_StakerInfos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "oracle", "v1", "staker_infos", "asset_id"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_StakerInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "staker_info", "asset_id", "staker_addr"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_StakerInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 1, 0, 4, 1, 5, 5}, []string{"exocore", "oracle", "v1", "staker_info", "asset_id", "staker_addr"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "params"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_Prices_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "prices", "token_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Prices_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "oracle", "v1", "prices", "token_id"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_LatestPrice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "latest_price", "token_id"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_LatestPrice_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "oracle", "v1", "latest_price", "token_id"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_ValidatorUpdateBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "validator_update_block"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_ValidatorUpdateBlock_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "validator_update_block"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_IndexRecentParams_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "index_recent_params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_IndexRecentParams_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "index_recent_params"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_IndexRecentMsg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "index_recent_msg"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_IndexRecentMsg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "index_recent_msg"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_RecentMsg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "recent_msg", "block"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_RecentMsg_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "oracle", "v1", "recent_msg", "block"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_RecentMsgAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "recent_msg"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_RecentMsgAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "recent_msg"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_RecentParams_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "recent_params", "block"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_RecentParams_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "oracle", "v1", "recent_params", "block"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_RecentParamsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"ExocoreNetwork", "exocore", "oracle", "v1", "recent_params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_RecentParamsAll_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "oracle", "v1", "recent_params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( diff --git a/x/reward/types/query.pb.go b/x/reward/types/query.pb.go index 3f82aef2d..f38fd88a9 100644 --- a/x/reward/types/query.pb.go +++ b/x/reward/types/query.pb.go @@ -119,7 +119,7 @@ func init() { func init() { proto.RegisterFile("exocore/reward/v1/query.proto", fileDescriptor_aedacf398060103e) } var fileDescriptor_aedacf398060103e = []byte{ - // 262 bytes of a gzipped FileDescriptorProto + // 260 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4d, 0xad, 0xc8, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x2f, 0x4a, 0x2d, 0x4f, 0x2c, 0x4a, 0xd1, 0x2f, 0x33, 0xd4, 0x2f, 0x2c, 0x4d, 0x2d, 0xaa, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x84, 0x4a, 0xeb, 0x41, 0xa4, @@ -128,15 +128,15 @@ var fileDescriptor_aedacf398060103e = []byte{ 0x97, 0x24, 0x96, 0x64, 0xe6, 0xe7, 0x41, 0x65, 0x95, 0x44, 0xb8, 0x84, 0x02, 0x41, 0xe6, 0x07, 0x80, 0xb5, 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x28, 0x79, 0x70, 0x09, 0xa3, 0x88, 0x16, 0x17, 0xe4, 0xe7, 0x15, 0xa7, 0x0a, 0x19, 0x72, 0xb1, 0x41, 0x8c, 0x96, 0x60, 0x54, 0x60, 0xd4, - 0xe0, 0x36, 0x92, 0xd4, 0xc3, 0x70, 0x8e, 0x1e, 0x54, 0x0b, 0x54, 0xa1, 0x51, 0x03, 0x23, 0x17, - 0x2b, 0xd8, 0x28, 0xa1, 0x72, 0x2e, 0x36, 0x88, 0x9c, 0x90, 0x2a, 0x16, 0x6d, 0x98, 0x8e, 0x90, - 0x52, 0x23, 0xa4, 0x0c, 0xe2, 0x2a, 0x25, 0xb9, 0xa6, 0xcb, 0x4f, 0x26, 0x33, 0x49, 0x08, 0x89, - 0xe9, 0xa3, 0x85, 0x04, 0xc4, 0x09, 0x4e, 0x5e, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x78, 0x24, 0xc7, - 0xf8, 0xe0, 0x91, 0x1c, 0xe3, 0x84, 0xc7, 0x72, 0x0c, 0x17, 0x1e, 0xcb, 0x31, 0xdc, 0x78, 0x2c, - 0xc7, 0x10, 0x65, 0x90, 0x9e, 0x59, 0x92, 0x51, 0x9a, 0xa4, 0x97, 0x9c, 0x9f, 0xab, 0xef, 0x0a, - 0xd1, 0xeb, 0x97, 0x5a, 0x52, 0x9e, 0x5f, 0x94, 0x0d, 0x37, 0xaa, 0x02, 0x66, 0x58, 0x49, 0x65, - 0x41, 0x6a, 0x71, 0x12, 0x1b, 0x38, 0xd4, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x67, 0xec, - 0x6b, 0x75, 0xa7, 0x01, 0x00, 0x00, + 0xe0, 0x36, 0x92, 0xd4, 0xc3, 0x70, 0x8e, 0x1e, 0x54, 0x0b, 0x54, 0xa1, 0x51, 0x33, 0x23, 0x17, + 0x2b, 0xd8, 0x28, 0xa1, 0x2a, 0x2e, 0x36, 0x88, 0x9c, 0x90, 0x2a, 0x16, 0x6d, 0x98, 0x8e, 0x90, + 0x52, 0x23, 0xa4, 0x0c, 0xe2, 0x2a, 0x25, 0xc5, 0xa6, 0xcb, 0x4f, 0x26, 0x33, 0x49, 0x0b, 0x49, + 0xea, 0xe3, 0x0a, 0x09, 0x27, 0xaf, 0x13, 0x8f, 0xe4, 0x18, 0x2f, 0x3c, 0x92, 0x63, 0x7c, 0xf0, + 0x48, 0x8e, 0x71, 0xc2, 0x63, 0x39, 0x86, 0x0b, 0x8f, 0xe5, 0x18, 0x6e, 0x3c, 0x96, 0x63, 0x88, + 0x32, 0x48, 0xcf, 0x2c, 0xc9, 0x28, 0x4d, 0xd2, 0x4b, 0xce, 0xcf, 0xd5, 0x77, 0x85, 0x68, 0xf7, + 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0x86, 0x9b, 0x56, 0x01, 0x33, 0xaf, 0xa4, 0xb2, 0x20, 0xb5, + 0x38, 0x89, 0x0d, 0x1c, 0x70, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x4e, 0x93, 0x5d, + 0xaa, 0x01, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/reward/types/query.pb.gw.go b/x/reward/types/query.pb.gw.go index 331681ea4..a9cd7c64e 100644 --- a/x/reward/types/query.pb.gw.go +++ b/x/reward/types/query.pb.gw.go @@ -145,7 +145,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"exocore", "reward", "params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "reward", "v1", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( diff --git a/x/slash/types/query.pb.go b/x/slash/types/query.pb.go index 1e844d6f6..a89274d0d 100644 --- a/x/slash/types/query.pb.go +++ b/x/slash/types/query.pb.go @@ -119,7 +119,7 @@ func init() { func init() { proto.RegisterFile("exocore/slash/v1/query.proto", fileDescriptor_07a035b9da23fe1a) } var fileDescriptor_07a035b9da23fe1a = []byte{ - // 260 bytes of a gzipped FileDescriptorProto + // 259 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xad, 0xc8, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x2f, 0xce, 0x49, 0x2c, 0xce, 0xd0, 0x2f, 0x33, 0xd4, 0x2f, 0x2c, 0x4d, 0x2d, 0xaa, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x12, 0x80, 0xca, 0xea, 0x81, 0x65, 0xf5, @@ -128,15 +128,15 @@ var fileDescriptor_07a035b9da23fe1a = []byte{ 0x24, 0x96, 0x64, 0xe6, 0xe7, 0x41, 0x65, 0x95, 0x44, 0xb8, 0x84, 0x02, 0x41, 0xa6, 0x07, 0x80, 0xb5, 0x04, 0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0x28, 0xb9, 0x73, 0x09, 0xa3, 0x88, 0x16, 0x17, 0xe4, 0xe7, 0x15, 0xa7, 0x0a, 0x19, 0x70, 0xb1, 0x41, 0x8c, 0x96, 0x60, 0x54, 0x60, 0xd4, 0xe0, - 0x36, 0x92, 0xd0, 0x43, 0x77, 0x8c, 0x1e, 0x54, 0x07, 0x54, 0x9d, 0x51, 0x2d, 0x17, 0x2b, 0xd8, - 0x20, 0xa1, 0x12, 0x2e, 0x36, 0x88, 0x94, 0x90, 0x0a, 0xa6, 0x26, 0x4c, 0x17, 0x48, 0xa9, 0x12, - 0x50, 0x05, 0x71, 0x91, 0x92, 0x6c, 0xd3, 0xe5, 0x27, 0x93, 0x99, 0xc4, 0x85, 0x44, 0xf5, 0x51, - 0x03, 0x01, 0x62, 0xbd, 0x93, 0xe7, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, - 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, - 0xe9, 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0x42, 0xb4, 0xfa, - 0xa5, 0x96, 0x94, 0xe7, 0x17, 0x65, 0xc3, 0x4d, 0xaa, 0x80, 0x9a, 0x55, 0x52, 0x59, 0x90, 0x5a, - 0x9c, 0xc4, 0x06, 0x0e, 0x2f, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe3, 0xae, 0xe4, 0xb8, - 0x9e, 0x01, 0x00, 0x00, + 0x36, 0x92, 0xd0, 0x43, 0x77, 0x8c, 0x1e, 0x54, 0x07, 0x54, 0x9d, 0x51, 0x03, 0x23, 0x17, 0x2b, + 0xd8, 0x24, 0xa1, 0x72, 0x2e, 0x36, 0x88, 0x9c, 0x90, 0x0a, 0xa6, 0x2e, 0x4c, 0x27, 0x48, 0xa9, + 0x12, 0x50, 0x05, 0x71, 0x92, 0x92, 0x42, 0xd3, 0xe5, 0x27, 0x93, 0x99, 0xa4, 0x84, 0x24, 0xf4, + 0x71, 0x84, 0x82, 0x93, 0xe7, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0x3e, 0x78, 0x24, + 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, 0xcb, 0x31, 0x44, 0xe9, + 0xa7, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, 0x42, 0x74, 0xfb, 0xa5, + 0x96, 0x94, 0xe7, 0x17, 0x65, 0xc3, 0x0d, 0xab, 0x80, 0x1a, 0x57, 0x52, 0x59, 0x90, 0x5a, 0x9c, + 0xc4, 0x06, 0x0e, 0x33, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x41, 0x99, 0xd3, 0x8b, 0xa2, + 0x01, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/slash/types/query.pb.gw.go b/x/slash/types/query.pb.gw.go index 4f7a11491..8eab6b8b7 100644 --- a/x/slash/types/query.pb.gw.go +++ b/x/slash/types/query.pb.gw.go @@ -145,7 +145,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"exocore", "slash", "params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "slash", "v1", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( From 0261887ffc69dc83160f817c8fad46531489d808 Mon Sep 17 00:00:00 2001 From: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com> Date: Thu, 19 Dec 2024 04:42:08 +0000 Subject: [PATCH 2/5] commit the updated script --- scripts/protoc-swagger-gen.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/protoc-swagger-gen.sh b/scripts/protoc-swagger-gen.sh index efc47f324..a45a35909 100755 --- a/scripts/protoc-swagger-gen.sh +++ b/scripts/protoc-swagger-gen.sh @@ -12,6 +12,7 @@ cp ./proto/buf.gen.swagger.yaml "$SWAGGER_DIR/proto/buf.gen.swagger.yaml" # copy existing proto files cp -r ./proto/evmos "$SWAGGER_DIR/proto" cp -r ./proto/ethermint "$SWAGGER_DIR/proto" +cp -r ./proto/exocore "$SWAGGER_DIR/proto" # create temporary folder to store intermediate results from `buf generate` mkdir -p ./tmp-swagger-gen From 220a7c4514881de4b6d4ff42634006f746ebe515 Mon Sep 17 00:00:00 2001 From: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com> Date: Thu, 19 Dec 2024 04:46:35 +0000 Subject: [PATCH 3/5] fix: use correct fee dist endpoint --- client/docs/swagger-ui/swagger.json | 2 +- proto/exocore/feedistribution/v1/query.proto | 2 +- x/feedistribution/types/query.pb.go | 15 +++++++-------- x/feedistribution/types/query.pb.gw.go | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/client/docs/swagger-ui/swagger.json b/client/docs/swagger-ui/swagger.json index c02ee9dbf..e490e5490 100644 --- a/client/docs/swagger-ui/swagger.json +++ b/client/docs/swagger-ui/swagger.json @@ -20229,7 +20229,7 @@ ] } }, - "/exocore/v1/feedistribution/params": { + "/exocore/feedistribution/v1/params": { "get": { "summary": "Parameters queries the parameters of the module.", "operationId": "FeeDistributionParams", diff --git a/proto/exocore/feedistribution/v1/query.proto b/proto/exocore/feedistribution/v1/query.proto index 3cafa6225..9a9a89c23 100644 --- a/proto/exocore/feedistribution/v1/query.proto +++ b/proto/exocore/feedistribution/v1/query.proto @@ -12,7 +12,7 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/feedistribution/types"; service Query { // Parameters queries the parameters of the module. rpc Params(QueryParamsRequest) returns (QueryParamsResponse) { - option (google.api.http).get = "/exocore/v1/feedistribution/params"; + option (google.api.http).get = "/exocore/feedistribution/v1/params"; } } diff --git a/x/feedistribution/types/query.pb.go b/x/feedistribution/types/query.pb.go index ab4536bf0..5dd945e3a 100644 --- a/x/feedistribution/types/query.pb.go +++ b/x/feedistribution/types/query.pb.go @@ -123,7 +123,7 @@ func init() { } var fileDescriptor_edb03890e8a3c1c7 = []byte{ - // 311 bytes of a gzipped FileDescriptorProto + // 304 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4b, 0xad, 0xc8, 0x4f, 0xce, 0x2f, 0x4a, 0xd5, 0x4f, 0x4b, 0x4d, 0x4d, 0xc9, 0x2c, 0x2e, 0x29, 0xca, 0x4c, 0x2a, 0x2d, 0xc9, 0xcc, 0xcf, 0xd3, 0x2f, 0x33, 0xd4, 0x2f, 0x2c, 0x4d, 0x2d, 0xaa, 0xd4, 0x2b, 0x28, 0xca, @@ -137,13 +137,12 @@ var fileDescriptor_edb03890e8a3c1c7 = []byte{ 0x52, 0xd2, 0xc3, 0xed, 0x13, 0x3d, 0x88, 0x5e, 0x27, 0xce, 0x13, 0xf7, 0xe4, 0x19, 0x56, 0x3c, 0xdf, 0xa0, 0xc5, 0x18, 0x04, 0xd5, 0x6c, 0x34, 0x9f, 0x91, 0x8b, 0x15, 0x6c, 0xbc, 0xd0, 0x54, 0x46, 0x2e, 0x36, 0x88, 0x3a, 0x21, 0x3d, 0x7c, 0x66, 0x61, 0x3a, 0x51, 0x4a, 0x9f, 0x68, 0xf5, - 0x10, 0xc7, 0x2b, 0x69, 0x35, 0x5d, 0x7e, 0x32, 0x99, 0x49, 0x45, 0x48, 0x49, 0x1f, 0x16, 0x9e, - 0x65, 0x86, 0x18, 0x41, 0x0a, 0x71, 0xa1, 0x53, 0xf0, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, - 0x31, 0x3e, 0x78, 0x24, 0xc7, 0x38, 0xe1, 0xb1, 0x1c, 0xc3, 0x85, 0xc7, 0x72, 0x0c, 0x37, 0x1e, - 0xcb, 0x31, 0x44, 0x59, 0xa6, 0x67, 0x96, 0x64, 0x94, 0x26, 0xe9, 0x25, 0xe7, 0xe7, 0xea, 0xbb, - 0x42, 0xcc, 0xf1, 0x4b, 0x2d, 0x29, 0xcf, 0x2f, 0xca, 0x86, 0x1b, 0x5b, 0x81, 0x61, 0x6a, 0x49, - 0x65, 0x41, 0x6a, 0x71, 0x12, 0x1b, 0x38, 0xc4, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x14, - 0xa5, 0xe8, 0x3f, 0x27, 0x02, 0x00, 0x00, + 0x10, 0xc7, 0x2b, 0x69, 0x35, 0x5d, 0x7e, 0x32, 0x99, 0x49, 0x45, 0x48, 0x49, 0x9f, 0x60, 0x78, + 0x3a, 0x05, 0x9f, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, + 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, 0x1c, 0x43, 0x94, 0x65, 0x7a, 0x66, + 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0xbe, 0x2b, 0xc4, 0x1c, 0xbf, 0xd4, 0x92, 0xf2, + 0xfc, 0xa2, 0x6c, 0xb8, 0xb1, 0x15, 0x18, 0x06, 0x97, 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, + 0x43, 0xdc, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xce, 0x06, 0xa4, 0x07, 0x27, 0x02, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/feedistribution/types/query.pb.gw.go b/x/feedistribution/types/query.pb.gw.go index 1795f4c3d..623f9e202 100644 --- a/x/feedistribution/types/query.pb.gw.go +++ b/x/feedistribution/types/query.pb.gw.go @@ -145,7 +145,7 @@ func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, clie } var ( - pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "v1", "feedistribution", "params"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_Params_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "feedistribution", "v1", "params"}, "", runtime.AssumeColonVerbOpt(false))) ) var ( From 62669592ee7a9ab61e6746ba1960b1be53fccf14 Mon Sep 17 00:00:00 2001 From: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com> Date: Thu, 19 Dec 2024 04:47:57 +0000 Subject: [PATCH 4/5] fix avs endpoint with v1 --- client/docs/swagger-ui/swagger.json | 132 ++++++++++++++-------------- proto/exocore/avs/v1/query.proto | 2 +- x/avs/types/query.pb.go | 84 +++++++++--------- x/avs/types/query.pb.gw.go | 2 +- 4 files changed, 110 insertions(+), 110 deletions(-) diff --git a/client/docs/swagger-ui/swagger.json b/client/docs/swagger-ui/swagger.json index e490e5490..5ad64f1ee 100644 --- a/client/docs/swagger-ui/swagger.json +++ b/client/docs/swagger-ui/swagger.json @@ -20907,72 +20907,6 @@ ] } }, - "/exocore/avs/QueryAVSAddrByChainID/{chain}": { - "get": { - "summary": "QueryAVSAddrByChainID queries the avs address by chain id", - "operationId": "QueryAVSAddrByChainID", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "type": "object", - "properties": { - "avs_address": { - "type": "string", - "title": "avs_address is the hex address of avs" - } - }, - "title": "QueryAVSAddrByChainIDResponse is the response of avs address by chain id" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "type": "object", - "properties": { - "error": { - "type": "string" - }, - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type_url": { - "type": "string" - }, - "value": { - "type": "string", - "format": "byte" - } - } - } - } - } - } - } - }, - "parameters": [ - { - "name": "chain", - "description": "chain is the chain id of the chain, with or without the version suffix.", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "Query" - ] - } - }, "/exocore/avs/v1/GetAVSTaskInfoReq": { "get": { "summary": "TaskInfo queries the task information.", @@ -21146,6 +21080,72 @@ ] } }, + "/exocore/avs/v1/QueryAVSAddrByChainID/{chain}": { + "get": { + "summary": "QueryAVSAddrByChainID queries the avs address by chain id", + "operationId": "QueryAVSAddrByChainID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "type": "object", + "properties": { + "avs_address": { + "type": "string", + "title": "avs_address is the hex address of avs" + } + }, + "title": "QueryAVSAddrByChainIDResponse is the response of avs address by chain id" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "type": "object", + "properties": { + "error": { + "type": "string" + }, + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type_url": { + "type": "string" + }, + "value": { + "type": "string", + "format": "byte" + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "chain", + "description": "chain is the chain id of the chain, with or without the version suffix.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Query" + ] + } + }, "/exocore/avs/v1/QueryAVSInfo": { "get": { "summary": "Parameters queries the parameters of the module.", diff --git a/proto/exocore/avs/v1/query.proto b/proto/exocore/avs/v1/query.proto index 9366cfecf..4db2d453e 100644 --- a/proto/exocore/avs/v1/query.proto +++ b/proto/exocore/avs/v1/query.proto @@ -84,7 +84,7 @@ service Query { } // QueryAVSAddrByChainID queries the avs address by chain id rpc QueryAVSAddrByChainID(QueryAVSAddrByChainIDReq) returns (QueryAVSAddrByChainIDResponse) { - option (google.api.http).get = "/exocore/avs/QueryAVSAddrByChainID/{chain}"; + option (google.api.http).get = "/exocore/avs/v1/QueryAVSAddrByChainID/{chain}"; } // Parameters queries the parameters of the module. rpc QuerySubmitTaskResult(QuerySubmitTaskResultReq) returns (QuerySubmitTaskResultResponse) { diff --git a/x/avs/types/query.pb.go b/x/avs/types/query.pb.go index bedf34423..70fa39e25 100644 --- a/x/avs/types/query.pb.go +++ b/x/avs/types/query.pb.go @@ -505,48 +505,48 @@ func init() { proto.RegisterFile("exocore/avs/v1/query.proto", fileDescriptor_fd var fileDescriptor_fd804655b77429f2 = []byte{ // 666 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0x4d, 0x6f, 0xd3, 0x30, - 0x18, 0xc7, 0x97, 0xc1, 0x06, 0xf3, 0xde, 0x90, 0x29, 0x5a, 0x89, 0x46, 0x06, 0xd9, 0x26, 0xc6, - 0x58, 0x13, 0x56, 0xc4, 0x91, 0xc3, 0x5a, 0xd0, 0xb4, 0x0b, 0x82, 0x74, 0xda, 0x81, 0xcb, 0xe4, - 0xb5, 0x5e, 0x16, 0xad, 0x8d, 0xbb, 0xd8, 0x0d, 0xad, 0x06, 0x17, 0x3e, 0x01, 0xd2, 0x3e, 0x00, - 0x1c, 0xf8, 0x08, 0x48, 0x7c, 0x05, 0x8e, 0x13, 0x5c, 0x38, 0x4d, 0xd0, 0xf2, 0x41, 0x90, 0x1d, - 0x67, 0x34, 0x6e, 0xb2, 0x17, 0x89, 0x5b, 0x6d, 0x3f, 0xcf, 0xff, 0xf9, 0xf9, 0xc9, 0xff, 0x71, - 0x81, 0x8e, 0xdb, 0xa4, 0x4a, 0x02, 0x6c, 0xa3, 0x90, 0xda, 0xe1, 0xaa, 0x7d, 0xd0, 0xc2, 0x41, - 0xc7, 0x6a, 0x06, 0x84, 0x11, 0x38, 0x25, 0xcf, 0x2c, 0x14, 0x52, 0x2b, 0x5c, 0xd5, 0x6f, 0x57, - 0x09, 0x6d, 0x10, 0xba, 0x2d, 0x4e, 0xed, 0x68, 0x11, 0x85, 0xea, 0x33, 0x8a, 0x0c, 0x6b, 0xcb, - 0x83, 0x9c, 0x4b, 0x5c, 0x12, 0x25, 0xf0, 0x5f, 0x72, 0x77, 0xd6, 0x25, 0xc4, 0xad, 0x63, 0x1b, - 0x35, 0x3d, 0x1b, 0xf9, 0x3e, 0x61, 0x88, 0x79, 0xc4, 0x97, 0x62, 0x66, 0x09, 0x4c, 0xbf, 0xe2, - 0x18, 0x6b, 0x5b, 0x95, 0x0d, 0x7f, 0x97, 0x38, 0xf8, 0x00, 0xda, 0x60, 0x1c, 0x85, 0x74, 0x1b, - 0xd5, 0x6a, 0x01, 0xa6, 0x34, 0xaf, 0xdd, 0xd5, 0x96, 0xc6, 0x4a, 0x53, 0xdd, 0x93, 0x39, 0xb0, - 0xb6, 0x55, 0x59, 0x8b, 0x76, 0x1d, 0x80, 0x42, 0x2a, 0x7f, 0x9b, 0x65, 0x90, 0x4b, 0x6a, 0xd0, - 0x26, 0xf1, 0x29, 0x86, 0x0f, 0xc1, 0x55, 0xcf, 0xdf, 0x25, 0x42, 0x61, 0xbc, 0x38, 0x63, 0x25, - 0xaf, 0x68, 0xc5, 0xe1, 0x22, 0xc8, 0x7c, 0x04, 0xf2, 0xb1, 0x08, 0xd7, 0x2d, 0x75, 0xca, 0x7b, - 0xc8, 0xf3, 0x37, 0x9e, 0x71, 0xa2, 0x1c, 0x18, 0xa9, 0xf2, 0x55, 0xc4, 0xe2, 0x44, 0x0b, 0xf3, - 0x25, 0xb8, 0x93, 0x91, 0x21, 0xeb, 0x5f, 0xfa, 0x22, 0x18, 0xdc, 0x8c, 0x15, 0x37, 0x11, 0xdd, - 0x8f, 0x1b, 0xf2, 0x04, 0x8c, 0x31, 0x44, 0xf7, 0x85, 0x90, 0x54, 0xc9, 0x7f, 0xff, 0x52, 0xc8, - 0xc9, 0xaf, 0x22, 0xb3, 0x2b, 0x2c, 0xf0, 0x7c, 0xd7, 0xb9, 0xce, 0x43, 0xf9, 0x16, 0x9c, 0x01, - 0xd7, 0x44, 0x9a, 0x57, 0xcb, 0x0f, 0x0b, 0xee, 0x51, 0xbe, 0xdc, 0xa8, 0x99, 0x9f, 0x34, 0x79, - 0xd7, 0x4a, 0x6b, 0xa7, 0xe1, 0x31, 0x5e, 0xca, 0xc1, 0xb4, 0x55, 0x67, 0xbc, 0xd8, 0xca, 0x60, - 0xb1, 0xe9, 0xee, 0xc9, 0xdc, 0xf8, 0xa6, 0x94, 0xe5, 0xcc, 0xe7, 0xd7, 0x80, 0x4f, 0xc1, 0x24, - 0x69, 0xe2, 0x00, 0x31, 0x12, 0x44, 0x52, 0x57, 0xce, 0xe1, 0x9e, 0x88, 0xc3, 0xf9, 0xb6, 0xf9, - 0x55, 0x03, 0xb7, 0x04, 0x62, 0x79, 0x0f, 0xd5, 0xeb, 0xd8, 0x77, 0x71, 0xdc, 0x8c, 0xcb, 0xf1, - 0xad, 0x2a, 0x7c, 0x67, 0x00, 0xfc, 0x27, 0xf2, 0x8a, 0x74, 0xc5, 0x60, 0x6f, 0xa5, 0x2b, 0x8a, - 0x09, 0x57, 0x1a, 0xaa, 0x2b, 0xff, 0x65, 0xf4, 0x99, 0xb3, 0x0c, 0xf4, 0xb4, 0x6e, 0x48, 0xc5, - 0x45, 0x30, 0x55, 0x8d, 0x0f, 0xfa, 0xfa, 0xe2, 0x4c, 0x9e, 0xee, 0x72, 0xb2, 0xe2, 0xef, 0x11, - 0x30, 0x22, 0x54, 0xe0, 0x21, 0x98, 0xe8, 0x1f, 0x18, 0x38, 0xa7, 0x42, 0x28, 0x23, 0xa9, 0x2f, - 0x9c, 0x1d, 0x10, 0x71, 0x98, 0x0b, 0xef, 0x7f, 0xfc, 0x39, 0x1a, 0x36, 0xe0, 0xac, 0xad, 0xbc, - 0x10, 0x89, 0x62, 0x6f, 0xc1, 0x0d, 0xd5, 0xe4, 0x70, 0x3e, 0x4b, 0xbf, 0x6f, 0x0c, 0xf4, 0x7c, - 0x5a, 0xab, 0xf8, 0xa1, 0xf9, 0x40, 0x14, 0x9e, 0x87, 0xf7, 0xd4, 0xc2, 0xeb, 0x98, 0x29, 0xb3, - 0xf4, 0x39, 0x36, 0x96, 0x3a, 0xb5, 0x70, 0x29, 0x8b, 0x41, 0x7d, 0x0e, 0xf4, 0xc2, 0x05, 0x23, - 0x65, 0x5b, 0x8a, 0x82, 0x6e, 0x05, 0x2e, 0x27, 0xe8, 0x52, 0x73, 0xec, 0x43, 0xf1, 0xb4, 0xbc, - 0x83, 0x1f, 0x63, 0x4c, 0xd5, 0x46, 0x19, 0x98, 0x29, 0x93, 0x9c, 0x81, 0x99, 0xe5, 0x4b, 0xb3, - 0x20, 0x30, 0xef, 0xc3, 0xc5, 0xd4, 0xaf, 0x37, 0xc0, 0x71, 0xa4, 0x01, 0x38, 0xe8, 0x49, 0xb8, - 0x98, 0x5a, 0x54, 0x9d, 0x62, 0x7d, 0xf9, 0x22, 0x61, 0x12, 0x6c, 0x59, 0x80, 0x2d, 0x40, 0x33, - 0x15, 0x2c, 0x91, 0x53, 0x5a, 0xff, 0xd6, 0x35, 0xb4, 0xe3, 0xae, 0xa1, 0xfd, 0xea, 0x1a, 0xda, - 0x87, 0x9e, 0x31, 0x74, 0xdc, 0x33, 0x86, 0x7e, 0xf6, 0x8c, 0xa1, 0xd7, 0x05, 0xd7, 0x63, 0x7b, - 0xad, 0x1d, 0xab, 0x4a, 0x1a, 0xf6, 0xf3, 0x48, 0xe7, 0x05, 0x66, 0x6f, 0x48, 0xb0, 0x7f, 0x2a, - 0xdb, 0x16, 0xc2, 0xac, 0xd3, 0xc4, 0x74, 0x67, 0x54, 0xfc, 0x3d, 0x3d, 0xfe, 0x1b, 0x00, 0x00, - 0xff, 0xff, 0x47, 0x70, 0x51, 0x1f, 0x34, 0x07, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0x4d, 0x4f, 0x13, 0x41, + 0x18, 0xc7, 0x59, 0x14, 0x94, 0xe1, 0xcd, 0x8c, 0x35, 0xd4, 0x0d, 0x2e, 0xba, 0x40, 0x44, 0xb4, + 0xbb, 0x82, 0xe1, 0xe8, 0x81, 0x56, 0x43, 0xb8, 0x18, 0xdd, 0x12, 0x0e, 0x5e, 0xc8, 0xd0, 0x0e, + 0xcb, 0xa6, 0xed, 0x4e, 0xd9, 0x99, 0xae, 0x6d, 0xd0, 0x8b, 0x9f, 0xc0, 0x84, 0x0f, 0xa0, 0x37, + 0xbf, 0x80, 0x89, 0x5f, 0xc1, 0x23, 0xd1, 0x8b, 0x27, 0x62, 0x5a, 0x3e, 0x88, 0x99, 0xd9, 0x59, + 0xec, 0x4e, 0x77, 0x79, 0x49, 0xbc, 0xed, 0xcc, 0x3c, 0xcf, 0xff, 0xf9, 0xcd, 0xd3, 0xff, 0x33, + 0x05, 0x3a, 0x6e, 0x93, 0x0a, 0x09, 0xb0, 0x8d, 0x42, 0x6a, 0x87, 0x2b, 0xf6, 0x41, 0x0b, 0x07, + 0x1d, 0xab, 0x19, 0x10, 0x46, 0xe0, 0x94, 0x3c, 0xb3, 0x50, 0x48, 0xad, 0x70, 0x45, 0xbf, 0x5b, + 0x21, 0xb4, 0x41, 0xe8, 0x8e, 0x38, 0xb5, 0xa3, 0x45, 0x14, 0xaa, 0xcf, 0x28, 0x32, 0xac, 0x2d, + 0x0f, 0x72, 0x2e, 0x71, 0x49, 0x94, 0xc0, 0xbf, 0xe4, 0xee, 0xac, 0x4b, 0x88, 0x5b, 0xc7, 0x36, + 0x6a, 0x7a, 0x36, 0xf2, 0x7d, 0xc2, 0x10, 0xf3, 0x88, 0x2f, 0xc5, 0xcc, 0x22, 0x98, 0x7e, 0xc3, + 0x31, 0xd6, 0xb7, 0xcb, 0x9b, 0xfe, 0x1e, 0x71, 0xf0, 0x01, 0xb4, 0xc1, 0x38, 0x0a, 0xe9, 0x0e, + 0xaa, 0x56, 0x03, 0x4c, 0x69, 0x5e, 0xbb, 0xaf, 0x2d, 0x8d, 0x15, 0xa7, 0xba, 0x27, 0x73, 0x60, + 0x7d, 0xbb, 0xbc, 0x1e, 0xed, 0x3a, 0x00, 0x85, 0x54, 0x7e, 0x9b, 0x25, 0x90, 0x4b, 0x6a, 0xd0, + 0x26, 0xf1, 0x29, 0x86, 0x8f, 0xc1, 0x75, 0xcf, 0xdf, 0x23, 0x42, 0x61, 0x7c, 0x75, 0xc6, 0x4a, + 0x5e, 0xd1, 0x8a, 0xc3, 0x45, 0x90, 0xf9, 0x14, 0xe4, 0x63, 0x11, 0xae, 0x5b, 0xec, 0x94, 0xf6, + 0x91, 0xe7, 0x6f, 0xbe, 0xe0, 0x44, 0x39, 0x30, 0x52, 0xe1, 0xab, 0x88, 0xc5, 0x89, 0x16, 0xe6, + 0x6b, 0x70, 0x2f, 0x23, 0x43, 0xd6, 0xbf, 0xf2, 0x45, 0x30, 0xb8, 0x1d, 0x2b, 0x6e, 0x21, 0x5a, + 0x8b, 0x1b, 0xb2, 0x06, 0xc6, 0x18, 0xa2, 0x35, 0x21, 0x24, 0x55, 0xf2, 0x3f, 0xbf, 0x15, 0x72, + 0xf2, 0x57, 0x91, 0xd9, 0x65, 0x16, 0x78, 0xbe, 0xeb, 0xdc, 0xe4, 0xa1, 0x7c, 0x0b, 0xce, 0x80, + 0x1b, 0x22, 0xcd, 0xab, 0xe6, 0x87, 0x05, 0xf7, 0x28, 0x5f, 0x6e, 0x56, 0xcd, 0x2f, 0x9a, 0xbc, + 0x6b, 0xb9, 0xb5, 0xdb, 0xf0, 0x18, 0x2f, 0xe5, 0x60, 0xda, 0xaa, 0x33, 0x5e, 0xec, 0xc9, 0x60, + 0xb1, 0xe9, 0xee, 0xc9, 0xdc, 0xf8, 0x96, 0x94, 0xe5, 0xcc, 0x17, 0xd7, 0x80, 0xcf, 0xc1, 0x24, + 0x69, 0xe2, 0x00, 0x31, 0x12, 0x44, 0x52, 0xd7, 0x2e, 0xe0, 0x9e, 0x88, 0xc3, 0xf9, 0xb6, 0xf9, + 0x5d, 0x03, 0x77, 0x04, 0x62, 0x69, 0x1f, 0xd5, 0xeb, 0xd8, 0x77, 0x71, 0xdc, 0x8c, 0xab, 0xf1, + 0xad, 0x28, 0x7c, 0xe7, 0x00, 0xfc, 0x27, 0xf2, 0xb2, 0x74, 0xc5, 0x60, 0x6f, 0xa5, 0x2b, 0x56, + 0x13, 0xae, 0x34, 0x54, 0x57, 0xfe, 0xcb, 0xe8, 0x33, 0x67, 0x09, 0xe8, 0x69, 0xdd, 0x90, 0x8a, + 0x8b, 0x60, 0xaa, 0x12, 0x1f, 0xf4, 0xf5, 0xc5, 0x99, 0x3c, 0xdb, 0xe5, 0x64, 0xab, 0xa7, 0x23, + 0x60, 0x44, 0xa8, 0xc0, 0x43, 0x30, 0xd1, 0x3f, 0x30, 0x70, 0x4e, 0x85, 0x50, 0x46, 0x52, 0x5f, + 0x38, 0x3f, 0x20, 0xe2, 0x30, 0x17, 0x3e, 0xfe, 0x3a, 0x3d, 0x1a, 0x36, 0xe0, 0xac, 0xad, 0xbc, + 0x10, 0x89, 0x62, 0xef, 0xc1, 0x2d, 0xd5, 0xe4, 0x70, 0x3e, 0x4b, 0xbf, 0x6f, 0x0c, 0xf4, 0x7c, + 0x5a, 0xab, 0xf8, 0xa1, 0xf9, 0x48, 0x14, 0x9e, 0x87, 0x0f, 0xd4, 0xc2, 0x1b, 0x98, 0x29, 0xb3, + 0xf4, 0x35, 0x36, 0x96, 0x3a, 0xb5, 0x70, 0x29, 0x8b, 0x41, 0x7d, 0x0e, 0xf4, 0xc2, 0x25, 0x23, + 0x65, 0x5b, 0xd6, 0x04, 0x9d, 0x0d, 0x0b, 0x59, 0x6d, 0x49, 0xa4, 0xd9, 0x87, 0xe2, 0x75, 0xf9, + 0x00, 0x3f, 0xc7, 0xa4, 0xaa, 0x93, 0x32, 0x48, 0x53, 0x86, 0x39, 0x83, 0x34, 0xcb, 0x9a, 0x66, + 0x41, 0x90, 0x3e, 0x84, 0x8b, 0xa9, 0xa4, 0x03, 0x1c, 0x47, 0x1a, 0x80, 0x83, 0xb6, 0x84, 0x8b, + 0xa9, 0x45, 0xd5, 0x41, 0xd6, 0x97, 0x2f, 0x13, 0x26, 0xc1, 0x96, 0x05, 0xd8, 0x02, 0x34, 0x53, + 0xc1, 0x12, 0x39, 0xc5, 0x8d, 0x1f, 0x5d, 0x43, 0x3b, 0xee, 0x1a, 0xda, 0x9f, 0xae, 0xa1, 0x7d, + 0xea, 0x19, 0x43, 0xc7, 0x3d, 0x63, 0xe8, 0x77, 0xcf, 0x18, 0x7a, 0x5b, 0x70, 0x3d, 0xb6, 0xdf, + 0xda, 0xb5, 0x2a, 0xa4, 0x61, 0xbf, 0x8c, 0x74, 0x5e, 0x61, 0xf6, 0x8e, 0x04, 0xb5, 0x33, 0xd9, + 0xb6, 0x10, 0x66, 0x9d, 0x26, 0xa6, 0xbb, 0xa3, 0xe2, 0x1f, 0xea, 0xd9, 0xdf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xca, 0x6f, 0x63, 0xfb, 0x37, 0x07, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/avs/types/query.pb.gw.go b/x/avs/types/query.pb.gw.go index 9c4c69966..40a28e73f 100644 --- a/x/avs/types/query.pb.gw.go +++ b/x/avs/types/query.pb.gw.go @@ -501,7 +501,7 @@ var ( pattern_Query_QueryAVSTaskInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "GetAVSTaskInfoReq"}, "", runtime.AssumeColonVerbOpt(false))) - pattern_Query_QueryAVSAddrByChainID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"exocore", "avs", "QueryAVSAddrByChainID", "chain"}, "", runtime.AssumeColonVerbOpt(false))) + pattern_Query_QueryAVSAddrByChainID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"exocore", "avs", "v1", "QueryAVSAddrByChainID", "chain"}, "", runtime.AssumeColonVerbOpt(false))) pattern_Query_QuerySubmitTaskResult_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"exocore", "avs", "v1", "QuerySubmitTaskResult"}, "", runtime.AssumeColonVerbOpt(false))) From 5959e0b8ebb28366c8192db6203a945494af3196 Mon Sep 17 00:00:00 2001 From: MaxMustermann2 <82761650+MaxMustermann2@users.noreply.github.com> Date: Thu, 19 Dec 2024 04:53:51 +0000 Subject: [PATCH 5/5] update script with shfmt --- scripts/protoc-swagger-gen.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/protoc-swagger-gen.sh b/scripts/protoc-swagger-gen.sh index a45a35909..128fb042b 100755 --- a/scripts/protoc-swagger-gen.sh +++ b/scripts/protoc-swagger-gen.sh @@ -5,8 +5,8 @@ set -eo pipefail # prepare swagger generation mkdir -p "$SWAGGER_DIR/proto" -printf "version: v1\ndirectories:\n - proto\n - third_party" > "$SWAGGER_DIR/buf.work.yaml" -printf "version: v1\nname: buf.build/evmos/evmos\n" > "$SWAGGER_DIR/proto/buf.yaml" +printf "version: v1\ndirectories:\n - proto\n - third_party" >"$SWAGGER_DIR/buf.work.yaml" +printf "version: v1\nname: buf.build/ExocoreNetwork/exocore\n" >"$SWAGGER_DIR/proto/buf.yaml" cp ./proto/buf.gen.swagger.yaml "$SWAGGER_DIR/proto/buf.gen.swagger.yaml" # copy existing proto files @@ -23,11 +23,11 @@ cd "$SWAGGER_DIR" # create swagger files on an individual basis w/ `buf build` and `buf generate` (needed for `swagger-combine`) proto_dirs=$(find ./proto ./third_party -path -prune -o -name '*.proto' -print0 | xargs -0 -n1 dirname | sort | uniq) for dir in $proto_dirs; do - # generate swagger files (filter query files) - query_file=$(find "${dir}" -maxdepth 1 \( -name 'query.proto' -o -name 'service.proto' \)) - if [[ -n "$query_file" ]]; then - buf generate --template proto/buf.gen.swagger.yaml "$query_file" - fi + # generate swagger files (filter query files) + query_file=$(find "${dir}" -maxdepth 1 \( -name 'query.proto' -o -name 'service.proto' \)) + if [[ -n "$query_file" ]]; then + buf generate --template proto/buf.gen.swagger.yaml "$query_file" + fi done cd ..