{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Cosmos SDK cosmos.tx.v1beta1 Schemas", "description": "JSON Schema definitions for the cosmos.tx.v1beta1 module of the Cosmos SDK gRPC-gateway REST API.", "definitions": { "cosmos.tx.v1beta1.AuthInfo": { "type": "object", "properties": { "signerInfos": { "type": "array", "items": { "type": "object", "$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.", "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 coins to be paid as a fee" }, "gasLimit": { "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\nspecified account must pay the fees. the payer must be a tx signer (and\nthus have signed this field in AuthInfo). setting this field does *not*\nchange 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\nfield) requests that a fee grant be used to pay fees instead of the fee\npayer's own balance. If an appropriate fee grant does not exist or the\nchain does not 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.", "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": "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": { "txBytes": { "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": { "txResponse": { "description": "tx_response is the queried TxResponses.", "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." }, "rawLog": { "type": "string", "description": "The output of the application's logger (raw string). May be\nnon-deterministic." }, "logs": { "type": "array", "items": { "type": "object", "properties": { "msgIndex": { "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." }, "gasWanted": { "type": "string", "format": "int64", "description": "Amount of gas requested for transaction." }, "gasUsed": { "type": "string", "format": "int64", "description": "Amount of gas consumed by transaction." }, "tx": { "description": "The request transaction bytes.", "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {} }, "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", "title": "nondeterministic" } }, "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." } } } }, "description": "BroadcastTxResponse is the response type for the\nService.BroadcastTx method." }, "cosmos.tx.v1beta1.Fee": { "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 coins to be paid as a fee" }, "gasLimit": { "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\nspecified account must pay the fees. the payer must be a tx signer (and\nthus have signed this field in AuthInfo). setting this field does *not*\nchange 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\nfield) requests that a fee grant be used to pay fees instead of the fee\npayer's own balance. If an appropriate fee grant does not exist or the\nchain does not support fee grants, this will fail" } }, "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 minimum to be accepted into the mempool." }, "cosmos.tx.v1beta1.GetBlockWithTxsResponse": { "type": "object", "properties": { "txs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/cosmos.tx.v1beta1.Tx" }, "description": "txs are the transactions in the block." }, "blockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID" }, "block": { "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." }, "chainId": { "type": "string" }, "height": { "type": "string", "format": "int64" }, "time": { "type": "string", "format": "date-time" }, "lastBlockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID" }, "lastCommitHash": { "type": "string", "format": "byte", "description": "commit from validators from the last block", "title": "hashes of block data" }, "dataHash": { "type": "string", "format": "byte", "title": "transactions" }, "validatorsHash": { "type": "string", "format": "byte", "description": "validators for the current block", "title": "hashes from the app output from the prev block" }, "nextValidatorsHash": { "type": "string", "format": "byte", "title": "validators for the next block" }, "consensusHash": { "type": "string", "format": "byte", "title": "consensus params for current block" }, "appHash": { "type": "string", "format": "byte", "title": "state after txs from the previous block" }, "lastResultsHash": { "type": "string", "format": "byte", "title": "root hash of all results from the txs from the previous block" }, "evidenceHash": { "type": "string", "format": "byte", "description": "evidence included in the block", "title": "consensus info" }, "proposerAddress": { "type": "string", "format": "byte", "title": "original proposer of the block" } }, "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": { "duplicateVoteEvidence": { "type": "object", "properties": { "voteA": { "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" }, "blockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID", "description": "zero if vote is nil." }, "timestamp": { "type": "string", "format": "date-time" }, "validatorAddress": { "type": "string", "format": "byte" }, "validatorIndex": { "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." }, "extensionSignature": { "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." }, "voteB": { "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" }, "blockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID", "description": "zero if vote is nil." }, "timestamp": { "type": "string", "format": "date-time" }, "validatorAddress": { "type": "string", "format": "byte" }, "validatorIndex": { "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." }, "extensionSignature": { "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." }, "totalVotingPower": { "type": "string", "format": "int64" }, "validatorPower": { "type": "string", "format": "int64" }, "timestamp": { "type": "string", "format": "date-time" } }, "description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes." }, "lightClientAttackEvidence": { "type": "object", "properties": { "conflictingBlock": { "type": "object", "properties": { "signedHeader": { "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." }, "chainId": { "type": "string" }, "height": { "type": "string", "format": "int64" }, "time": { "type": "string", "format": "date-time" }, "lastBlockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID" }, "lastCommitHash": { "type": "string", "format": "byte", "description": "commit from validators from the last block", "title": "hashes of block data" }, "dataHash": { "type": "string", "format": "byte", "title": "transactions" }, "validatorsHash": { "type": "string", "format": "byte", "description": "validators for the current block", "title": "hashes from the app output from the prev block" }, "nextValidatorsHash": { "type": "string", "format": "byte", "title": "validators for the next block" }, "consensusHash": { "type": "string", "format": "byte", "title": "consensus params for current block" }, "appHash": { "type": "string", "format": "byte", "title": "state after txs from the previous block" }, "lastResultsHash": { "type": "string", "format": "byte", "title": "root hash of all results from the txs from the previous block" }, "evidenceHash": { "type": "string", "format": "byte", "description": "evidence included in the block", "title": "consensus info" }, "proposerAddress": { "type": "string", "format": "byte", "title": "original proposer of the block" } }, "description": "Header defines the structure of a block header." }, "commit": { "type": "object", "properties": { "height": { "type": "string", "format": "int64" }, "round": { "type": "integer", "format": "int32" }, "blockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID" }, "signatures": { "type": "array", "items": { "type": "object", "properties": { "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", "description": "- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil", "title": "BlockIdFlag indicates which BlockID the signature is for" }, "validatorAddress": { "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." } } }, "validatorSet": { "type": "object", "properties": { "validators": { "type": "array", "items": { "type": "object", "properties": { "address": { "type": "string", "format": "byte" }, "pubKey": { "type": "object", "properties": { "ed25519": { "type": "string", "format": "byte" }, "secp256k1": { "type": "string", "format": "byte" } }, "title": "PublicKey defines the keys available for use with Validators" }, "votingPower": { "type": "string", "format": "int64" }, "proposerPriority": { "type": "string", "format": "int64" } } } }, "proposer": { "type": "object", "properties": { "address": { "type": "string", "format": "byte" }, "pubKey": { "type": "object", "properties": { "ed25519": { "type": "string", "format": "byte" }, "secp256k1": { "type": "string", "format": "byte" } }, "title": "PublicKey defines the keys available for use with Validators" }, "votingPower": { "type": "string", "format": "int64" }, "proposerPriority": { "type": "string", "format": "int64" } } }, "totalVotingPower": { "type": "string", "format": "int64" } } } } }, "commonHeight": { "type": "string", "format": "int64" }, "byzantineValidators": { "type": "array", "items": { "type": "object", "properties": { "address": { "type": "string", "format": "byte" }, "pubKey": { "type": "object", "properties": { "ed25519": { "type": "string", "format": "byte" }, "secp256k1": { "type": "string", "format": "byte" } }, "title": "PublicKey defines the keys available for use with Validators" }, "votingPower": { "type": "string", "format": "int64" }, "proposerPriority": { "type": "string", "format": "int64" } } } }, "totalVotingPower": { "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." } } } } } }, "lastCommit": { "type": "object", "properties": { "height": { "type": "string", "format": "int64" }, "round": { "type": "integer", "format": "int32" }, "blockId": { "type": "object", "properties": { "hash": { "type": "string", "format": "byte" }, "partSetHeader": { "type": "object", "properties": { "total": { "type": "integer", "format": "int64" }, "hash": { "type": "string", "format": "byte" } }, "title": "PartsetHeader" } }, "title": "BlockID" }, "signatures": { "type": "array", "items": { "type": "object", "properties": { "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", "description": "- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil", "title": "BlockIdFlag indicates which BlockID the signature is for" }, "validatorAddress": { "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." } } }, "pagination": { "description": "pagination defines a pagination for the response.", "type": "object", "properties": { "nextKey": { "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." }, "cosmos.tx.v1beta1.GetTxResponse": { "type": "object", "properties": { "tx": { "$ref": "#/definitions/cosmos.tx.v1beta1.Tx", "description": "tx is the queried transaction." }, "txResponse": { "description": "tx_response is the queried TxResponses.", "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." }, "rawLog": { "type": "string", "description": "The output of the application's logger (raw string). May be\nnon-deterministic." }, "logs": { "type": "array", "items": { "type": "object", "properties": { "msgIndex": { "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." }, "gasWanted": { "type": "string", "format": "int64", "description": "Amount of gas requested for transaction." }, "gasUsed": { "type": "string", "format": "int64", "description": "Amount of gas consumed by transaction." }, "tx": { "description": "The request transaction bytes.", "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {} }, "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", "title": "nondeterministic" } }, "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." } } } }, "description": "GetTxResponse is the response type for the Service.GetTx method." }, "cosmos.tx.v1beta1.GetTxsEventResponse": { "type": "object", "properties": { "txs": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/cosmos.tx.v1beta1.Tx" }, "description": "txs is the list of queried transactions." }, "txResponses": { "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." }, "rawLog": { "type": "string", "description": "The output of the application's logger (raw string). May be\nnon-deterministic." }, "logs": { "type": "array", "items": { "type": "object", "properties": { "msgIndex": { "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." }, "gasWanted": { "type": "string", "format": "int64", "description": "Amount of gas requested for transaction." }, "gasUsed": { "type": "string", "format": "int64", "description": "Amount of gas consumed by transaction." }, "tx": { "description": "The request transaction bytes.", "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {} }, "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", "title": "nondeterministic" } }, "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." } }, "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": { "nextKey": { "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", "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.\n\nSince: cosmos-sdk 0.50\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`.\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": { "extraBitsStored": { "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." }, "modeInfos": { "type": "array", "items": { "type": "object", "$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.\n\nSince: cosmos-sdk 0.50\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`.\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": { "publicKey": { "description": "public_key is the public key of the signer. It is optional for accounts\nthat already exist in state. If unset, the verifier can use the required \\\nsigner address for this position and lookup the public key.", "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {} }, "modeInfo": { "$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." }, "txBytes": { "type": "string", "format": "byte", "description": "tx_bytes is the raw transaction." } }, "description": "SimulateRequest is the request type for the Service.Simulate\nRPC method." }, "cosmos.tx.v1beta1.SimulateResponse": { "type": "object", "properties": { "gasInfo": { "description": "gas_info is the information about gas used in the simulation.", "type": "object", "properties": { "gasWanted": { "type": "string", "format": "uint64", "description": "GasWanted is the maximum units of work we allow this tx to perform." }, "gasUsed": { "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", "title": "nondeterministic" } }, "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." }, "msgResponses": { "type": "array", "items": { "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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." } } } }, "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." }, "title": "amount is the amount of the tip" }, "tipper": { "type": "string", "title": "tipper is the address of the account paying for the tip" } }, "description": "Tip is the tip used for meta-transactions." }, "cosmos.tx.v1beta1.Tx": { "type": "object", "properties": { "body": { "title": "body is the processable content of the transaction", "type": "object", "properties": { "messages": { "type": "array", "items": { "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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\nhttps://github.com/cosmos/cosmos-sdk/issues/9122)." }, "timeoutHeight": { "type": "string", "format": "uint64", "description": "timeout_height is the block height after which this transaction will not\nbe processed by the chain." }, "unordered": { "type": "boolean", "description": "unordered, when set to true, indicates that the transaction signer(s)\nintend for the transaction to be evaluated and executed in an un-ordered\nfashion. Specifically, the account's nonce will NOT be checked or\nincremented, which allows for fire-and-forget as well as concurrent\ntransaction execution.\n\nNote, when set to true, the existing 'timeout_timestamp' value must\nbe set and will be used to correspond to a timestamp in which the transaction is deemed\nvalid.\n\nWhen true, the sequence value MUST be 0, and any transaction with unordered=true and a non-zero sequence value will\nbe rejected.\nExternal services that make assumptions about sequence values may need to be updated because of this." }, "timeoutTimestamp": { "type": "string", "format": "date-time", "description": "timeout_timestamp is the block time after which this transaction will not\nbe processed by the chain.\n\nNote, if unordered=true this value MUST be set\nand will act as a short-lived TTL in which the transaction is deemed valid\nand kept in memory to prevent duplicates." }, "extensionOptions": { "type": "array", "items": { "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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" }, "nonCriticalExtensionOptions": { "type": "array", "items": { "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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." }, "authInfo": { "$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." } }, "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": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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\nhttps://github.com/cosmos/cosmos-sdk/issues/9122)." }, "timeoutHeight": { "type": "string", "format": "uint64", "description": "timeout_height is the block height after which this transaction will not\nbe processed by the chain." }, "unordered": { "type": "boolean", "description": "unordered, when set to true, indicates that the transaction signer(s)\nintend for the transaction to be evaluated and executed in an un-ordered\nfashion. Specifically, the account's nonce will NOT be checked or\nincremented, which allows for fire-and-forget as well as concurrent\ntransaction execution.\n\nNote, when set to true, the existing 'timeout_timestamp' value must\nbe set and will be used to correspond to a timestamp in which the transaction is deemed\nvalid.\n\nWhen true, the sequence value MUST be 0, and any transaction with unordered=true and a non-zero sequence value will\nbe rejected.\nExternal services that make assumptions about sequence values may need to be updated because of this." }, "timeoutTimestamp": { "type": "string", "format": "date-time", "description": "timeout_timestamp is the block time after which this transaction will not\nbe processed by the chain.\n\nNote, if unordered=true this value MUST be set\nand will act as a short-lived TTL in which the transaction is deemed valid\nand kept in memory to prevent duplicates." }, "extensionOptions": { "type": "array", "items": { "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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" }, "nonCriticalExtensionOptions": { "type": "array", "items": { "type": "object", "properties": { "@type": { "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. As of May 2023, there are no widely used type server\nimplementations and no plans to implement one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." } }, "additionalProperties": {}, "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 // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 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\n Example 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\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": { "aminoBinary": { "type": "string", "format": "byte" } }, "description": "TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino\nRPC method." }, "cosmos.tx.v1beta1.TxDecodeAminoResponse": { "type": "object", "properties": { "aminoJson": { "type": "string" } }, "description": "TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino\nRPC method." }, "cosmos.tx.v1beta1.TxDecodeRequest": { "type": "object", "properties": { "txBytes": { "type": "string", "format": "byte", "description": "tx_bytes is the raw transaction." } }, "description": "TxDecodeRequest is the request type for the Service.TxDecode\nRPC method." }, "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." }, "cosmos.tx.v1beta1.TxEncodeAminoRequest": { "type": "object", "properties": { "aminoJson": { "type": "string" } }, "description": "TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino\nRPC method." }, "cosmos.tx.v1beta1.TxEncodeAminoResponse": { "type": "object", "properties": { "aminoBinary": { "type": "string", "format": "byte" } }, "description": "TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino\nRPC method." }, "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." }, "cosmos.tx.v1beta1.TxEncodeResponse": { "type": "object", "properties": { "txBytes": { "type": "string", "format": "byte", "description": "tx_bytes is the encoded transaction bytes." } }, "description": "TxEncodeResponse is the response type for the\nService.TxEncode method." } } }