Cosmos · Schema

Cosmos SDK cosmos.gov.v1 Schemas

JSON Schema definitions for the cosmos.gov.v1 module of the Cosmos SDK gRPC-gateway REST API.

BlockchainCosmosIBCStakingGovernanceDeFiWeb3
View JSON Schema on GitHub

JSON Schema

cosmos-gov-v1.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Cosmos SDK cosmos.gov.v1 Schemas",
  "description": "JSON Schema definitions for the cosmos.gov.v1 module of the Cosmos SDK gRPC-gateway REST API.",
  "definitions": {
    "cosmos.gov.v1.Deposit": {
      "type": "object",
      "properties": {
        "proposalId": {
          "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."
    },
    "cosmos.gov.v1.DepositParams": {
      "type": "object",
      "properties": {
        "minDeposit": {
          "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."
        },
        "maxDepositPeriod": {
          "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.v1.Params": {
      "type": "object",
      "properties": {
        "minDeposit": {
          "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."
        },
        "maxDepositPeriod": {
          "type": "string",
          "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths."
        },
        "votingPeriod": {
          "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."
        },
        "vetoThreshold": {
          "type": "string",
          "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3."
        },
        "minInitialDepositRatio": {
          "type": "string",
          "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission."
        },
        "proposalCancelRatio": {
          "type": "string",
          "description": "The cancel ratio which will not be returned back to the depositors when a proposal is cancelled."
        },
        "proposalCancelDest": {
          "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."
        },
        "expeditedVotingPeriod": {
          "type": "string",
          "description": "Duration of the voting period of an expedited proposal."
        },
        "expeditedThreshold": {
          "type": "string",
          "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.67."
        },
        "expeditedMinDeposit": {
          "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."
        },
        "burnVoteQuorum": {
          "type": "boolean",
          "title": "burn deposits if a proposal does not meet quorum"
        },
        "burnProposalDepositPrevote": {
          "type": "boolean",
          "title": "burn deposits if the proposal does not enter voting period"
        },
        "burnVoteVeto": {
          "type": "boolean",
          "title": "burn deposits if quorum with vote type no_veto is met"
        },
        "minDepositRatio": {
          "type": "string",
          "description": "The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired."
        }
      },
      "description": "Params defines the parameters for the x/gov module."
    },
    "cosmos.gov.v1.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": {
                "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\": <string>,\n      \"lastName\": <string>\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"
        },
        "finalTallyResult": {
          "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": {
            "yesCount": {
              "type": "string",
              "description": "yes_count is the number of yes votes on a proposal."
            },
            "abstainCount": {
              "type": "string",
              "description": "abstain_count is the number of abstain votes on a proposal."
            },
            "noCount": {
              "type": "string",
              "description": "no_count is the number of no votes on a proposal."
            },
            "noWithVetoCount": {
              "type": "string",
              "description": "no_with_veto_count is the number of no with veto votes on a proposal."
            }
          }
        },
        "submitTime": {
          "type": "string",
          "format": "date-time",
          "description": "submit_time is the time of proposal submission."
        },
        "depositEndTime": {
          "type": "string",
          "format": "date-time",
          "description": "deposit_end_time is the end time for deposition."
        },
        "totalDeposit": {
          "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."
        },
        "votingStartTime": {
          "type": "string",
          "format": "date-time",
          "description": "voting_start_time is the starting time to vote on a proposal."
        },
        "votingEndTime": {
          "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",
          "title": "title is the title of the proposal"
        },
        "summary": {
          "type": "string",
          "title": "summary is a short summary of the proposal"
        },
        "proposer": {
          "type": "string",
          "title": "proposer is the address of the proposal submitter"
        },
        "expedited": {
          "type": "boolean",
          "title": "expedited defines if the proposal is expedited"
        },
        "failedReason": {
          "type": "string",
          "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": "QueryConstitutionResponse is the response type for the Query/Constitution RPC method"
    },
    "cosmos.gov.v1.QueryDepositResponse": {
      "type": "object",
      "properties": {
        "deposit": {
          "description": "deposit defines the requested deposit.",
          "type": "object",
          "properties": {
            "proposalId": {
              "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": "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": {
              "proposalId": {
                "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": {
            "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": "QueryDepositsResponse is the response type for the Query/Deposits RPC method."
    },
    "cosmos.gov.v1.QueryParamsResponse": {
      "type": "object",
      "properties": {
        "votingParams": {
          "description": "Deprecated: Prefer to use `params` instead.\nvoting_params defines the parameters related to voting.",
          "type": "object",
          "properties": {
            "votingPeriod": {
              "type": "string",
              "description": "Duration of the voting period."
            }
          }
        },
        "depositParams": {
          "description": "Deprecated: Prefer to use `params` instead.\ndeposit_params defines the parameters related to deposit.",
          "type": "object",
          "properties": {
            "minDeposit": {
              "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."
            },
            "maxDepositPeriod": {
              "type": "string",
              "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths."
            }
          }
        },
        "tallyParams": {
          "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."
            },
            "vetoThreshold": {
              "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 parameters of x/gov module.",
          "type": "object",
          "properties": {
            "minDeposit": {
              "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."
            },
            "maxDepositPeriod": {
              "type": "string",
              "description": "Maximum period for Atom holders to deposit on a proposal. Initial value: 2\nmonths."
            },
            "votingPeriod": {
              "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."
            },
            "vetoThreshold": {
              "type": "string",
              "description": "Minimum value of Veto votes to Total votes ratio for proposal to be\n vetoed. Default value: 1/3."
            },
            "minInitialDepositRatio": {
              "type": "string",
              "description": "The ratio representing the proportion of the deposit value that must be paid at proposal submission."
            },
            "proposalCancelRatio": {
              "type": "string",
              "description": "The cancel ratio which will not be returned back to the depositors when a proposal is cancelled."
            },
            "proposalCancelDest": {
              "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."
            },
            "expeditedVotingPeriod": {
              "type": "string",
              "description": "Duration of the voting period of an expedited proposal."
            },
            "expeditedThreshold": {
              "type": "string",
              "description": "Minimum proportion of Yes votes for proposal to pass. Default value: 0.67."
            },
            "expeditedMinDeposit": {
              "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."
            },
            "burnVoteQuorum": {
              "type": "boolean",
              "title": "burn deposits if a proposal does not meet quorum"
            },
            "burnProposalDepositPrevote": {
              "type": "boolean",
              "title": "burn deposits if the proposal does not enter voting period"
            },
            "burnVoteVeto": {
              "type": "boolean",
              "title": "burn deposits if quorum with vote type no_veto is met"
            },
            "minDepositRatio": {
              "type": "string",
              "description": "The ratio representing the proportion of the deposit value minimum that must be met when making a deposit.\nDefault value: 0.01. Meaning that for a chain with a min_deposit of 100stake, a deposit of 1stake would be\nrequired."
            }
          }
        }
      },
      "description": "QueryParamsResponse is the response type for the Query/Params RPC method."
    },
    "cosmos.gov.v1.QueryProposalResponse": {
      "type": "object",
      "properties": {
        "proposal": {
          "description": "proposal is the requested governance 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": {
                    "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\": <string>,\n      \"lastName\": <string>\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"
            },
            "finalTallyResult": {
              "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": {
                "yesCount": {
                  "type": "string",
                  "description": "yes_count is the number of yes votes on a proposal."
                },
                "abstainCount": {
                  "type": "string",
                  "description": "abstain_count is the number of abstain votes on a proposal."
                },
                "noCount": {
                  "type": "string",
                  "description": "no_count is the number of no votes on a proposal."
                },
                "noWithVetoCount": {
                  "type": "string",
                  "description": "no_with_veto_count is the number of no with veto votes on a proposal."
                }
              }
            },
            "submitTime": {
              "type": "string",
              "format": "date-time",
              "description": "submit_time is the time of proposal submission."
            },
            "depositEndTime": {
              "typ

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cosmos/refs/heads/main/json-schema/cosmos-gov-v1.json