Cosmos · Schema

Cosmos SDK cosmos.base.abci Schemas

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

BlockchainCosmosIBCStakingGovernanceDeFiWeb3
View JSON Schema on GitHub

JSON Schema

cosmos-base-abci.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Cosmos SDK cosmos.base.abci Schemas",
  "description": "JSON Schema definitions for the cosmos.base.abci module of the Cosmos SDK gRPC-gateway REST API.",
  "definitions": {
    "cosmos.base.abci.v1beta1.ABCIMessageLog": {
      "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."
    },
    "cosmos.base.abci.v1beta1.Attribute": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "value": {
          "type": "string"
        }
      },
      "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes."
    },
    "cosmos.base.abci.v1beta1.GasInfo": {
      "type": "object",
      "properties": {
        "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."
        }
      },
      "description": "GasInfo defines tx execution gas context."
    },
    "cosmos.base.abci.v1beta1.Result": {
      "type": "object",
      "properties": {
        "data": {
          "type": "string",
          "format": "byte",
          "description": "Data is any data returned from message or handler execution. It MUST be\nlength prefixed in order to separate data from multiple message executions.\nDeprecated. This field is still populated, but prefer msg_response instead\nbecause it also contains the Msg response typeURL."
        },
        "log": {
          "type": "string",
          "description": "Log contains the log information from message or handler execution."
        },
        "events": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "index": {
                      "type": "boolean",
                      "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\": <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": "msg_responses contains the Msg handler responses type packed in Anys."
        }
      },
      "description": "Result is the union of ResponseFormat and ResponseCheckTx."
    },
    "cosmos.base.abci.v1beta1.StringEvent": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "value": {
                "type": "string"
              }
            },
            "description": "Attribute defines an attribute wrapper where the key and value are\nstrings instead of raw bytes."
          }
        }
      },
      "description": "StringEvent defines en Event object wrapper where all the attributes\ncontain key/value pairs that are strings instead of raw bytes."
    },
    "cosmos.base.abci.v1beta1.TxResponse": {
      "type": "object",
      "properties": {
        "height": {
          "type": "string",
          "format": "int64",
          "title": "The block height"
        },
        "txhash": {
          "type": "string",
          "description": "The transaction hash."
        },
        "codespace": {
          "type": "string",
          "title": "Namespace for the Code"
        },
        "code": {
          "type": "integer",
          "format": "int64",
          "description": "Response code."
        },
        "data": {
          "type": "string",
          "description": "Result bytes, if any."
        },
        "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."
    }
  }
}