swagger: '2.0'
info:
  title: HTTP API Console
  name: ''
  description: ''
paths:
  /cosmos.auth.v1beta1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a (governance) operation for updating the x/auth
        module

        parameters. The authority defaults to the x/gov module account.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosAuthV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/auth parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  max_memo_characters:
                    type: string
                    format: uint64
                  tx_sig_limit:
                    type: string
                    format: uint64
                  tx_size_cost_per_byte:
                    type: string
                    format: uint64
                  sig_verify_cost_ed25519:
                    type: string
                    format: uint64
                  sig_verify_cost_secp256k1:
                    type: string
                    format: uint64
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.authz.v1beta1.Msg/Exec:
    post:
      summary: |-
        Exec attempts to execute the provided messages using
        authorizations granted to the grantee. Each message should have only
        one signer corresponding to the granter of the authorization.
      operationId: CosmosAuthzV1Beta1Msg_Exec
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              results:
                type: array
                items:
                  type: string
                  format: byte
            description: MsgExecResponse defines the Msg/MsgExecResponse response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgExec attempts to execute the provided messages using
            authorizations granted to the grantee. Each message should have only
            one signer corresponding to the granter of the authorization.
          in: body
          required: true
          schema:
            type: object
            properties:
              grantee:
                type: string
              msgs:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
                description: >-
                  Execute Msg.

                  The x/authz will try to find a grant matching (msg.signers[0],
                  grantee, MsgTypeURL(msg))

                  triple and validate it.
            description: >-
              MsgExec attempts to execute the provided messages using

              authorizations granted to the grantee. Each message should have
              only

              one signer corresponding to the granter of the authorization.
      tags:
        - Msg
  /cosmos.authz.v1beta1.Msg/Grant:
    post:
      summary: |-
        Grant grants the provided authorization to the grantee on the granter's
        account with the provided expiration time. If there is already a grant
        for the given (granter, grantee, Authorization) triple, then the grant
        will be overwritten.
      operationId: CosmosAuthzV1Beta1Msg_Grant
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgGrantResponse defines the Msg/MsgGrant response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgGrant is a request type for Grant method. It declares
            authorization to the grantee

            on behalf of the granter with the provided expiration time.
          in: body
          required: true
          schema:
            type: object
            properties:
              granter:
                type: string
              grantee:
                type: string
              grant:
                type: object
                properties:
                  authorization:
                    type: object
                    properties:
                      '@type':
                        type: string
                        description: >-
                          A URL/resource name that uniquely identifies the type
                          of the serialized

                          protocol buffer message. This string must contain at
                          least

                          one "/" character. The last segment of the URL's path
                          must represent

                          the fully qualified name of the type (as in

                          `path/google.protobuf.Duration`). The name should be
                          in a canonical form

                          (e.g., leading "." is not accepted).


                          In practice, teams usually precompile into the binary
                          all types that they

                          expect it to use in the context of Any. However, for
                          URLs which use the

                          scheme `http`, `https`, or no scheme, one can
                          optionally set up a type

                          server that maps type URLs to message definitions as
                          follows:


                          * If no scheme is provided, `https` is assumed.

                          * An HTTP GET on the URL must yield a
                          [google.protobuf.Type][]
                            value in binary format, or produce an error.
                          * Applications are allowed to cache lookup results
                          based on the
                            URL, or have them precompiled into a binary to avoid any
                            lookup. Therefore, binary compatibility needs to be preserved
                            on changes to types. (Use versioned type names to manage
                            breaking changes.)

                          Note: this functionality is not currently available in
                          the official

                          protobuf release, and it is not used for type URLs
                          beginning with

                          type.googleapis.com. As of May 2023, there are no
                          widely used type server

                          implementations and no plans to implement one.


                          Schemes other than `http`, `https` (or the empty
                          scheme) might be

                          used with implementation specific semantics.
                    additionalProperties: {}
                    description: >-
                      `Any` contains an arbitrary serialized protocol buffer
                      message along with a

                      URL that describes the type of the serialized message.


                      Protobuf library provides support to pack/unpack Any
                      values in the form

                      of utility functions or additional generated methods of
                      the Any type.


                      Example 1: Pack and unpack a message in C++.

                          Foo foo = ...;
                          Any any;
                          any.PackFrom(foo);
                          ...
                          if (any.UnpackTo(&foo)) {
                            ...
                          }

                      Example 2: Pack and unpack a message in Java.

                          Foo foo = ...;
                          Any any = Any.pack(foo);
                          ...
                          if (any.is(Foo.class)) {
                            foo = any.unpack(Foo.class);
                          }
                          // or ...
                          if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                            foo = any.unpack(Foo.getDefaultInstance());
                          }

                       Example 3: Pack and unpack a message in Python.

                          foo = Foo(...)
                          any = Any()
                          any.Pack(foo)
                          ...
                          if any.Is(Foo.DESCRIPTOR):
                            any.Unpack(foo)
                            ...

                       Example 4: Pack and unpack a message in Go

                           foo := &pb.Foo{...}
                           any, err := anypb.New(foo)
                           if err != nil {
                             ...
                           }
                           ...
                           foo := &pb.Foo{}
                           if err := any.UnmarshalTo(foo); err != nil {
                             ...
                           }

                      The pack methods provided by protobuf library will by
                      default use

                      'type.googleapis.com/full.type.name' as the type URL and
                      the unpack

                      methods only use the fully qualified type name after the
                      last '/'

                      in the type URL, for example "foo.bar.com/x/y.z" will
                      yield type

                      name "y.z".


                      JSON

                      ====

                      The JSON representation of an `Any` value uses the regular

                      representation of the deserialized, embedded message, with
                      an

                      additional field `@type` which contains the type URL.
                      Example:

                          package google.profile;
                          message Person {
                            string first_name = 1;
                            string last_name = 2;
                          }

                          {
                            "@type": "type.googleapis.com/google.profile.Person",
                            "firstName": <string>,
                            "lastName": <string>
                          }

                      If the embedded message type is well-known and has a
                      custom JSON

                      representation, that representation will be embedded
                      adding a field

                      `value` which holds the custom JSON in addition to the
                      `@type`

                      field. Example (for message [google.protobuf.Duration][]):

                          {
                            "@type": "type.googleapis.com/google.protobuf.Duration",
                            "value": "1.212s"
                          }
                  expiration:
                    type: string
                    format: date-time
                    title: >-
                      time when the grant will expire and will be pruned. If
                      null, then the grant

                      doesn't have a time expiration (other conditions  in
                      `authorization`

                      may apply to invalidate the grant)
                description: |-
                  Grant gives permissions to execute
                  the provide method with expiration time.
            description: >-
              MsgGrant is a request type for Grant method. It declares
              authorization to the grantee

              on behalf of the granter with the provided expiration time.
      tags:
        - Msg
  /cosmos.authz.v1beta1.Msg/Revoke:
    post:
      summary: >-
        Revoke revokes any authorization corresponding to the provided method
        name on the

        granter's account that has been granted to the grantee.
      operationId: CosmosAuthzV1Beta1Msg_Revoke
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgRevoke revokes any authorization with the provided sdk.Msg type
            on the

            granter's account with that has been granted to the grantee.
          in: body
          required: true
          schema:
            type: object
            properties:
              granter:
                type: string
              grantee:
                type: string
              msg_type_url:
                type: string
            description: >-
              MsgRevoke revokes any authorization with the provided sdk.Msg type
              on the

              granter's account with that has been granted to the grantee.
      tags:
        - Msg
  /cosmos.bank.v1beta1.Msg/MultiSend:
    post:
      summary: >-
        MultiSend defines a method for sending coins from some accounts to other
        accounts.
      operationId: CosmosBankV1Beta1Msg_MultiSend
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgMultiSendResponse defines the Msg/MultiSend response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: >-
            MsgMultiSend represents an arbitrary multi-in, multi-out send
            message.
          in: body
          required: true
          schema:
            type: object
            properties:
              inputs:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                    coins:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                          amount:
                            type: string
                        description: >-
                          Coin defines a token with a denomination and an
                          amount.


                          NOTE: The amount field is an Int which implements the
                          custom method

                          signatures required by gogoproto.
                  description: Input models transaction input.
                description: >-
                  Inputs, despite being `repeated`, only allows one sender
                  input. This is

                  checked in MsgMultiSend's ValidateBasic.
              outputs:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                    coins:
                      type: array
                      items:
                        type: object
                        properties:
                          denom:
                            type: string
                          amount:
                            type: string
                        description: >-
                          Coin defines a token with a denomination and an
                          amount.


                          NOTE: The amount field is an Int which implements the
                          custom method

                          signatures required by gogoproto.
                  description: Output models transaction outputs.
            description: >-
              MsgMultiSend represents an arbitrary multi-in, multi-out send
              message.
      tags:
        - Msg
  /cosmos.bank.v1beta1.Msg/Send:
    post:
      summary: >-
        Send defines a method for sending coins from one account to another
        account.
      operationId: CosmosBankV1Beta1Msg_Send
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgSendResponse defines the Msg/Send response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: >-
            MsgSend represents a message to send coins from one account to
            another.
          in: body
          required: true
          schema:
            type: object
            properties:
              from_address:
                type: string
              to_address:
                type: string
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
            description: >-
              MsgSend represents a message to send coins from one account to
              another.
      tags:
        - Msg
  /cosmos.bank.v1beta1.Msg/SetSendEnabled:
    post:
      summary: >-
        SetSendEnabled is a governance operation for setting the SendEnabled
        flag

        on any number of Denoms. Only the entries to add or update should be

        included. Entries that already exist in the store, but that aren't

        included in this message, will be left unchanged.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosBankV1Beta1Msg_SetSendEnabled
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response
              type.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgSetSendEnabled is the Msg/SetSendEnabled request type.

            Only entries to add/update/delete need to be included.
            Existing SendEnabled entries that are not included in this
            message are left unchanged.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: authority is the address that controls the module.
              send_enabled:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    enabled:
                      type: boolean
                  description: >-
                    SendEnabled maps coin denom to a send_enabled status
                    (whether a denom is

                    sendable).
                description: send_enabled is the list of entries to add or update.
              use_default_for:
                type: array
                items:
                  type: string
                description: >-
                  use_default_for is a list of denoms that should use the
                  params.default_send_enabled value.

                  Denoms listed here will have their SendEnabled entries
                  deleted.

                  If a denom is included that doesn't have a SendEnabled entry,

                  it will be ignored.
            description: |-
              MsgSetSendEnabled is the Msg/SetSendEnabled request type.

              Only entries to add/update/delete need to be included.
              Existing SendEnabled entries that are not included in this
              message are left unchanged.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.bank.v1beta1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the x/bank
        module parameters.

        The authority is defined in the keeper.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosBankV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/bank parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  send_enabled:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        enabled:
                          type: boolean
                      description: >-
                        SendEnabled maps coin denom to a send_enabled status
                        (whether a denom is

                        sendable).
                    description: >-
                      Deprecated: Use of SendEnabled in params is deprecated.

                      For genesis, use the newly added send_enabled field in the
                      genesis object.

                      Storage, lookup, and manipulation of this information is
                      now in the keeper.


                      As of cosmos-sdk 0.47, this only exists for backwards
                      compatibility of genesis files.
                  default_send_enabled:
                    type: boolean
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos/base/node/v1beta1/config:
    get:
      summary: Config queries for the operator configuration.
      operationId: CosmosBaseNodeV1Beta1Service_Config
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              minimum_gas_price:
                type: string
              pruning_keep_recent:
                type: string
              pruning_interval:
                type: string
              halt_height:
                type: string
                format: uint64
            description: >-
              ConfigResponse defines the response structure for the Config gRPC
              query.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      tags:
        - Service
  /cosmos/base/node/v1beta1/status:
    get:
      summary: Status queries for the node status.
      operationId: CosmosBaseNodeV1Beta1Service_Status
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              earliest_store_height:
                type: string
                format: uint64
                title: earliest block height available in the store
              height:
                type: string
                format: uint64
                title: current block height
              timestamp:
                type: string
                format: date-time
                title: block height timestamp
              app_hash:
                type: string
                format: byte
                title: app hash of the current block
              validator_hash:
                type: string
                format: byte
                title: validator hash provided by the consensus header
            description: >-
              StateResponse defines the response structure for the status of a
              node.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      tags:
        - Service
  /cosmos.consensus.v1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the x/consensus
        module parameters.

        The authority is defined in the keeper.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosConsensusV1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: MsgUpdateParams is the Msg/UpdateParams request type.
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              block:
                description: >-
                  params defines the x/consensus parameters to update.

                  VersionsParams is not included in this Msg because it is
                  tracked

                  separarately in x/upgrade.


                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  max_bytes:
                    type: string
                    format: int64
                    title: |-
                      Max block size, in bytes.
                      Note: must be greater than 0
                  max_gas:
                    type: string
                    format: int64
                    title: |-
                      Max gas per block.
                      Note: must be greater or equal to -1
              evidence:
                type: object
                properties:
                  max_age_num_blocks:
                    type: string
                    format: int64
                    description: >-
                      Max age of evidence, in blocks.


                      The basic formula for calculating this is: MaxAgeDuration
                      / {average block

                      time}.
                  max_age_duration:
                    type: string
                    description: >-
                      Max age of evidence, in time.


                      It should correspond with an app's "unbonding period" or
                      other similar

                      mechanism for handling [Nothing-At-Stake

                      attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
                  max_bytes:
                    type: string
                    format: int64
                    title: >-
                      This sets the maximum size of total evidence in bytes that
                      can be committed in a single block.

                      and should fall comfortably under the max block bytes.

                      Default is 1048576 or 1MB
                description: >-
                  EvidenceParams determine how we handle evidence of
                  malfeasance.
              validator:
                type: object
                properties:
                  pub_key_types:
                    type: array
                    items:
                      type: string
                description: >-
                  ValidatorParams restrict the public key types validators can
                  use.

                  NOTE: uses ABCI pubkey naming, not Amino names.
              abci:
                title: 'Since: cosmos-sdk 0.50'
                type: object
                properties:
                  vote_extensions_enable_height:
                    type: string
                    format: int64
                    description: >-
                      vote_extensions_enable_height configures the first height
                      during which

                      vote extensions will be enabled. During this specified
                      height, and for all

                      subsequent heights, precommit messages that do not contain
                      valid extension data

                      will be considered invalid. Prior to this height, vote
                      extensions will not

                      be used or accepted by validators on the network.


                      Once enabled, vote extensions will be created by the
                      application in ExtendVote,

                      passed to the application for validation in
                      VerifyVoteExtension and given

                      to the application to use when proposing a block during
                      PrepareProposal.
                description: >-
                  ABCIParams configure functionality specific to the Application
                  Blockchain Interface.
            description: MsgUpdateParams is the Msg/UpdateParams request type.
      tags:
        - Msg
  /cosmos.crisis.v1beta1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the x/crisis
        module

        parameters. The authority is defined in the keeper.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosCrisisV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              constant_fee:
                description: constant_fee defines the x/crisis parameter.
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.crisis.v1beta1.Msg/VerifyInvariant:
    post:
      summary: VerifyInvariant defines a method to verify a particular invariant.
      operationId: CosmosCrisisV1Beta1Msg_VerifyInvariant
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgVerifyInvariantResponse defines the Msg/VerifyInvariant
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: >-
            MsgVerifyInvariant represents a message to verify a particular
            invariance.
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                description: >-
                  sender is the account address of private key to send coins to
                  fee collector account.
              invariant_module_name:
                type: string
                description: name of the invariant module.
              invariant_route:
                type: string
                description: invariant_route is the msg's invariant route.
            description: >-
              MsgVerifyInvariant represents a message to verify a particular
              invariance.
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/CommunityPoolSpend:
    post:
      summary: >-
        CommunityPoolSpend defines a governance operation for sending tokens
        from

        the community pool in the x/distribution module to another account,
        which

        could be the governance module itself. The authority is defined in the

        keeper.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosDistributionV1Beta1Msg_CommunityPoolSpend
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: |-
              MsgCommunityPoolSpendResponse defines the response to executing a
              MsgCommunityPoolSpend message.

              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: >-
            MsgCommunityPoolSpend defines a message for sending tokens from the
            community

            pool to another account. This message is typically executed via a
            governance

            proposal with the governance module being the executing authority.


            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              recipient:
                type: string
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
            description: >-
              MsgCommunityPoolSpend defines a message for sending tokens from
              the community

              pool to another account. This message is typically executed via a
              governance

              proposal with the governance module being the executing authority.


              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/DepositValidatorRewardsPool:
    post:
      summary: >-
        DepositValidatorRewardsPool defines a method to provide additional
        rewards

        to delegators to a specific validator.
      description: 'Since: cosmos-sdk 0.50'
      operationId: CosmosDistributionV1Beta1Msg_DepositValidatorRewardsPool
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgDepositValidatorRewardsPoolResponse defines the response to
              executing a

              MsgDepositValidatorRewardsPool message.


              Since: cosmos-sdk 0.50
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            DepositValidatorRewardsPool defines the request structure to provide
            additional rewards to delegators from a specific validator.

            Since: cosmos-sdk 0.50
          in: body
          required: true
          schema:
            type: object
            properties:
              depositor:
                type: string
              validator_address:
                type: string
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
            description: >-
              DepositValidatorRewardsPool defines the request structure to
              provide

              additional rewards to delegators from a specific validator.


              Since: cosmos-sdk 0.50
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/FundCommunityPool:
    post:
      summary: |-
        FundCommunityPool defines a method to allow an account to directly
        fund the community pool.
      operationId: CosmosDistributionV1Beta1Msg_FundCommunityPool
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgFundCommunityPool allows an account to directly
            fund the community pool.
          in: body
          required: true
          schema:
            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.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
              depositor:
                type: string
            description: |-
              MsgFundCommunityPool allows an account to directly
              fund the community pool.
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/SetWithdrawAddress:
    post:
      summary: |-
        SetWithdrawAddress defines a method to change the withdraw address
        for a delegator (or validator self-delegation).
      operationId: CosmosDistributionV1Beta1Msg_SetWithdrawAddress
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress
              response

              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgSetWithdrawAddress sets the withdraw address for
            a delegator (or validator self-delegation).
          in: body
          required: true
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              withdraw_address:
                type: string
            description: |-
              MsgSetWithdrawAddress sets the withdraw address for
              a delegator (or validator self-delegation).
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the
        x/distribution

        module parameters. The authority is defined in the keeper.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosDistributionV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/distribution parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  community_tax:
                    type: string
                  base_proposer_reward:
                    type: string
                    description: >-
                      Deprecated: The base_proposer_reward field is deprecated
                      and is no longer used

                      in the x/distribution module's reward mechanism.
                  bonus_proposer_reward:
                    type: string
                    description: >-
                      Deprecated: The bonus_proposer_reward field is deprecated
                      and is no longer used

                      in the x/distribution module's reward mechanism.
                  withdraw_addr_enabled:
                    type: boolean
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward:
    post:
      summary: >-
        WithdrawDelegatorReward defines a method to withdraw rewards of
        delegator

        from a single validator.
      operationId: CosmosDistributionV1Beta1Msg_WithdrawDelegatorReward
      responses:
        '200':
          description: A successful response.
          schema:
            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.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: 'Since: cosmos-sdk 0.46'
            description: >-
              MsgWithdrawDelegatorRewardResponse defines the
              Msg/WithdrawDelegatorReward

              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: >-
            MsgWithdrawDelegatorReward represents delegation withdrawal to a
            delegator

            from a single validator.
          in: body
          required: true
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
            description: >-
              MsgWithdrawDelegatorReward represents delegation withdrawal to a
              delegator

              from a single validator.
      tags:
        - Msg
  /cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission:
    post:
      summary: |-
        WithdrawValidatorCommission defines a method to withdraw the
        full commission to the validator address.
      operationId: CosmosDistributionV1Beta1Msg_WithdrawValidatorCommission
      responses:
        '200':
          description: A successful response.
          schema:
            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.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: 'Since: cosmos-sdk 0.46'
            description: |-
              MsgWithdrawValidatorCommissionResponse defines the
              Msg/WithdrawValidatorCommission response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: >-
            MsgWithdrawValidatorCommission withdraws the full commission to the
            validator

            address.
          in: body
          required: true
          schema:
            type: object
            properties:
              validator_address:
                type: string
            description: >-
              MsgWithdrawValidatorCommission withdraws the full commission to
              the validator

              address.
      tags:
        - Msg
  /cosmos.evidence.v1beta1.Msg/SubmitEvidence:
    post:
      summary: >-
        SubmitEvidence submits an arbitrary Evidence of misbehavior such as
        equivocation or

        counterfactual signing.
      operationId: CosmosEvidenceV1Beta1Msg_SubmitEvidence
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              hash:
                type: string
                format: byte
                description: hash defines the hash of the evidence.
            description: >-
              MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgSubmitEvidence represents a message that supports submitting
            arbitrary

            Evidence of misbehavior such as equivocation or counterfactual
            signing.
          in: body
          required: true
          schema:
            type: object
            properties:
              submitter:
                type: string
                description: submitter is the signer account address of evidence.
              evidence:
                description: evidence defines the evidence of misbehavior.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
            description: >-
              MsgSubmitEvidence represents a message that supports submitting
              arbitrary

              Evidence of misbehavior such as equivocation or counterfactual
              signing.
      tags:
        - Msg
  /cosmos.feegrant.v1beta1.Msg/GrantAllowance:
    post:
      summary: |-
        GrantAllowance grants fee allowance to the grantee on the granter's
        account with the provided expiration time.
      operationId: CosmosFeegrantV1Beta1Msg_GrantAllowance
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgGrantAllowance adds permission for Grantee to spend up to
            Allowance

            of fees from the account of Granter.
          in: body
          required: true
          schema:
            type: object
            properties:
              granter:
                type: string
                description: >-
                  granter is the address of the user granting an allowance of
                  their funds.
              grantee:
                type: string
                description: >-
                  grantee is the address of the user being granted an allowance
                  of another user's funds.
              allowance:
                description: >-
                  allowance can be any of basic, periodic, allowed fee
                  allowance.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
            description: >-
              MsgGrantAllowance adds permission for Grantee to spend up to
              Allowance

              of fees from the account of Granter.
      tags:
        - Msg
  /cosmos.feegrant.v1beta1.Msg/PruneAllowances:
    post:
      summary: >-
        PruneAllowances prunes expired fee allowances, currently up to 75 at a
        time.
      description: Since cosmos-sdk 0.50
      operationId: CosmosFeegrantV1Beta1Msg_PruneAllowances
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse
              response type.


              Since cosmos-sdk 0.50
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgPruneAllowances prunes expired fee allowances.

            Since cosmos-sdk 0.50
          in: body
          required: true
          schema:
            type: object
            properties:
              pruner:
                type: string
                description: pruner is the address of the user pruning expired allowances.
            description: |-
              MsgPruneAllowances prunes expired fee allowances.

              Since cosmos-sdk 0.50
      tags:
        - Msg
  /cosmos.feegrant.v1beta1.Msg/RevokeAllowance:
    post:
      summary: |-
        RevokeAllowance revokes any fee allowance of granter's account that
        has been granted to the grantee.
      operationId: CosmosFeegrantV1Beta1Msg_RevokeAllowance
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgRevokeAllowance removes any existing Allowance from Granter to
            Grantee.
          in: body
          required: true
          schema:
            type: object
            properties:
              granter:
                type: string
                description: >-
                  granter is the address of the user granting an allowance of
                  their funds.
              grantee:
                type: string
                description: >-
                  grantee is the address of the user being granted an allowance
                  of another user's funds.
            description: >-
              MsgRevokeAllowance removes any existing Allowance from Granter to
              Grantee.
      tags:
        - Msg
  /cosmos.gov.v1.Msg/CancelProposal:
    post:
      summary: CancelProposal defines a method to cancel governance proposal
      description: 'Since: cosmos-sdk 0.50'
      operationId: CosmosGovV1Msg_CancelProposal
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              canceled_time:
                type: string
                format: date-time
                description: canceled_time is the time when proposal is canceled.
              canceled_height:
                type: string
                format: uint64
                description: >-
                  canceled_height defines the block height at which the proposal
                  is canceled.
            description: >-
              MsgCancelProposalResponse defines the response structure for
              executing a

              MsgCancelProposal message.


              Since: cosmos-sdk 0.50
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgCancelProposal is the Msg/CancelProposal request type.

            Since: cosmos-sdk 0.50
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              proposer:
                type: string
                description: proposer is the account address of the proposer.
            description: |-
              MsgCancelProposal is the Msg/CancelProposal request type.

              Since: cosmos-sdk 0.50
      tags:
        - Msg
  /cosmos.gov.v1.Msg/Deposit:
    post:
      summary: Deposit defines a method to add deposit on a specific proposal.
      operationId: CosmosGovV1Msg_Deposit
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgDepositResponse defines the Msg/Deposit response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgDeposit defines a message to submit a deposit to an existing
            proposal.
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              depositor:
                type: string
                description: depositor defines the deposit addresses from the proposals.
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                description: amount to be deposited by depositor.
            description: >-
              MsgDeposit defines a message to submit a deposit to an existing
              proposal.
      tags:
        - Msg
  /cosmos.gov.v1.Msg/ExecLegacyContent:
    post:
      summary: |-
        ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal
        to execute a legacy content-based proposal.
      operationId: CosmosGovV1Msg_ExecLegacyContent
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgExecLegacyContent is used to wrap the legacy content field into a
            message.

            This ensures backwards compatibility with v1beta1.MsgSubmitProposal.
          in: body
          required: true
          schema:
            type: object
            properties:
              content:
                description: content is the proposal's content.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
              authority:
                type: string
                description: authority must be the gov module address.
            description: >-
              MsgExecLegacyContent is used to wrap the legacy content field into
              a message.

              This ensures backwards compatibility with
              v1beta1.MsgSubmitProposal.
      tags:
        - Msg
  /cosmos.gov.v1.Msg/SubmitProposal:
    post:
      summary: >-
        SubmitProposal defines a method to create new proposal given the
        messages.
      operationId: CosmosGovV1Msg_SubmitProposal
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
            description: >-
              MsgSubmitProposalResponse defines the Msg/SubmitProposal response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgSubmitProposal defines an sdk.Msg type that supports submitting
            arbitrary

            proposal Content.
          in: body
          required: true
          schema:
            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

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
                description: >-
                  messages are the arbitrary messages to be executed if proposal
                  passes.
              initial_deposit:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                description: >-
                  initial_deposit is the deposit value that must be paid at
                  proposal submission.
              proposer:
                type: string
                description: proposer is the account address of the proposer.
              metadata:
                type: string
                description: metadata is any arbitrary metadata attached to the proposal.
              title:
                type: string
                description: |-
                  title is the title of the proposal.

                  Since: cosmos-sdk 0.47
              summary:
                type: string
                description: 'Since: cosmos-sdk 0.47'
                title: summary is the summary of the proposal
              expedited:
                type: boolean
                description: 'Since: cosmos-sdk 0.50'
                title: expedited defines if the proposal is expedited or not
            description: >-
              MsgSubmitProposal defines an sdk.Msg type that supports submitting
              arbitrary

              proposal Content.
      tags:
        - Msg
  /cosmos.gov.v1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the x/gov
        module

        parameters. The authority is defined in the keeper.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosGovV1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/gov parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  min_deposit:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    description: Minimum deposit for a proposal to enter voting period.
                  max_deposit_period:
                    type: string
                    description: >-
                      Maximum period for Atom holders to deposit on a proposal.
                      Initial value: 2

                      months.
                  voting_period:
                    type: string
                    description: Duration of the voting period.
                  quorum:
                    type: string
                    description: >-
                      Minimum percentage of total stake needed to vote for a
                      result to be
                       considered valid.
                  threshold:
                    type: string
                    description: >-
                      Minimum proportion of Yes votes for proposal to pass.
                      Default value: 0.5.
                  veto_threshold:
                    type: string
                    description: >-
                      Minimum value of Veto votes to Total votes ratio for
                      proposal to be
                       vetoed. Default value: 1/3.
                  min_initial_deposit_ratio:
                    type: string
                    description: >-
                      The ratio representing the proportion of the deposit value
                      that must be paid at proposal submission.
                  proposal_cancel_ratio:
                    type: string
                    description: >-
                      The cancel ratio which will not be returned back to the
                      depositors when a proposal is cancelled.


                      Since: cosmos-sdk 0.50
                  proposal_cancel_dest:
                    type: string
                    description: >-
                      The address which will receive (proposal_cancel_ratio *
                      deposit) proposal deposits.

                      If empty, the (proposal_cancel_ratio * deposit) proposal
                      deposits will be burned.


                      Since: cosmos-sdk 0.50
                  expedited_voting_period:
                    type: string
                    description: |-
                      Duration of the voting period of an expedited proposal.

                      Since: cosmos-sdk 0.50
                  expedited_threshold:
                    type: string
                    description: >-
                      Minimum proportion of Yes votes for proposal to pass.
                      Default value: 0.67.


                      Since: cosmos-sdk 0.50
                  expedited_min_deposit:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    description: >-
                      Minimum expedited deposit for a proposal to enter voting
                      period.
                  burn_vote_quorum:
                    type: boolean
                    title: burn deposits if a proposal does not meet quorum
                  burn_proposal_deposit_prevote:
                    type: boolean
                    title: burn deposits if the proposal does not enter voting period
                  burn_vote_veto:
                    type: boolean
                    title: burn deposits if quorum with vote type no_veto is met
                  min_deposit_ratio:
                    type: string
                    description: >-
                      The ratio representing the proportion of the deposit value
                      minimum that must be met when making a deposit.

                      Default value: 0.01. Meaning that for a chain with a
                      min_deposit of 100stake, a deposit of 1stake would be

                      required.


                      Since: cosmos-sdk 0.50
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.gov.v1.Msg/Vote:
    post:
      summary: Vote defines a method to add a vote on a specific proposal.
      operationId: CosmosGovV1Msg_Vote
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgVoteResponse defines the Msg/Vote response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: MsgVote defines a message to cast a vote.
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              voter:
                type: string
                description: voter is the voter address for the proposal.
              option:
                description: option defines the vote option.
                type: string
                enum:
                  - VOTE_OPTION_UNSPECIFIED
                  - VOTE_OPTION_YES
                  - VOTE_OPTION_ABSTAIN
                  - VOTE_OPTION_NO
                  - VOTE_OPTION_NO_WITH_VETO
                default: VOTE_OPTION_UNSPECIFIED
              metadata:
                type: string
                description: metadata is any arbitrary metadata attached to the Vote.
            description: MsgVote defines a message to cast a vote.
      tags:
        - Msg
  /cosmos.gov.v1.Msg/VoteWeighted:
    post:
      summary: >-
        VoteWeighted defines a method to add a weighted vote on a specific
        proposal.
      operationId: CosmosGovV1Msg_VoteWeighted
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgVoteWeightedResponse defines the Msg/VoteWeighted response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: MsgVoteWeighted defines a message to cast a vote.
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              voter:
                type: string
                description: voter is the voter address for the proposal.
              options:
                type: array
                items:
                  type: object
                  properties:
                    option:
                      description: >-
                        option defines the valid vote options, it must not
                        contain duplicate vote options.
                      type: string
                      enum:
                        - VOTE_OPTION_UNSPECIFIED
                        - VOTE_OPTION_YES
                        - VOTE_OPTION_ABSTAIN
                        - VOTE_OPTION_NO
                        - VOTE_OPTION_NO_WITH_VETO
                      default: VOTE_OPTION_UNSPECIFIED
                    weight:
                      type: string
                      description: >-
                        weight is the vote weight associated with the vote
                        option.
                  description: WeightedVoteOption defines a unit of vote for vote split.
                description: options defines the weighted vote options.
              metadata:
                type: string
                description: >-
                  metadata is any arbitrary metadata attached to the
                  VoteWeighted.
            description: MsgVoteWeighted defines a message to cast a vote.
      tags:
        - Msg
  /cosmos.gov.v1beta1.Msg/Deposit:
    post:
      summary: Deposit defines a method to add deposit on a specific proposal.
      operationId: CosmosGovV1Beta1Msg_Deposit
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgDepositResponse defines the Msg/Deposit response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgDeposit defines a message to submit a deposit to an existing
            proposal.
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              depositor:
                type: string
                description: depositor defines the deposit addresses from the proposals.
              amount:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                description: amount to be deposited by depositor.
            description: >-
              MsgDeposit defines a message to submit a deposit to an existing
              proposal.
      tags:
        - Msg
  /cosmos.gov.v1beta1.Msg/SubmitProposal:
    post:
      summary: SubmitProposal defines a method to create new proposal given a content.
      operationId: CosmosGovV1Beta1Msg_SubmitProposal
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
            description: >-
              MsgSubmitProposalResponse defines the Msg/SubmitProposal response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgSubmitProposal defines an sdk.Msg type that supports submitting
            arbitrary

            proposal Content.
          in: body
          required: true
          schema:
            type: object
            properties:
              content:
                description: content is the proposal's content.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
              initial_deposit:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                description: >-
                  initial_deposit is the deposit value that must be paid at
                  proposal submission.
              proposer:
                type: string
                description: proposer is the account address of the proposer.
            description: >-
              MsgSubmitProposal defines an sdk.Msg type that supports submitting
              arbitrary

              proposal Content.
      tags:
        - Msg
  /cosmos.gov.v1beta1.Msg/Vote:
    post:
      summary: Vote defines a method to add a vote on a specific proposal.
      operationId: CosmosGovV1Beta1Msg_Vote
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgVoteResponse defines the Msg/Vote response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: MsgVote defines a message to cast a vote.
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              voter:
                type: string
                description: voter is the voter address for the proposal.
              option:
                description: option defines the vote option.
                type: string
                enum:
                  - VOTE_OPTION_UNSPECIFIED
                  - VOTE_OPTION_YES
                  - VOTE_OPTION_ABSTAIN
                  - VOTE_OPTION_NO
                  - VOTE_OPTION_NO_WITH_VETO
                default: VOTE_OPTION_UNSPECIFIED
            description: MsgVote defines a message to cast a vote.
      tags:
        - Msg
  /cosmos.gov.v1beta1.Msg/VoteWeighted:
    post:
      summary: >-
        VoteWeighted defines a method to add a weighted vote on a specific
        proposal.
      description: 'Since: cosmos-sdk 0.43'
      operationId: CosmosGovV1Beta1Msg_VoteWeighted
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgVoteWeightedResponse defines the Msg/VoteWeighted response
              type.


              Since: cosmos-sdk 0.43
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgVoteWeighted defines a message to cast a vote.

            Since: cosmos-sdk 0.43
          in: body
          required: true
          schema:
            type: object
            properties:
              proposal_id:
                type: string
                format: uint64
                description: proposal_id defines the unique id of the proposal.
              voter:
                type: string
                description: voter is the voter address for the proposal.
              options:
                type: array
                items:
                  type: object
                  properties:
                    option:
                      description: >-
                        option defines the valid vote options, it must not
                        contain duplicate vote options.
                      type: string
                      enum:
                        - VOTE_OPTION_UNSPECIFIED
                        - VOTE_OPTION_YES
                        - VOTE_OPTION_ABSTAIN
                        - VOTE_OPTION_NO
                        - VOTE_OPTION_NO_WITH_VETO
                      default: VOTE_OPTION_UNSPECIFIED
                    weight:
                      type: string
                      description: >-
                        weight is the vote weight associated with the vote
                        option.
                  description: |-
                    WeightedVoteOption defines a unit of vote for vote split.

                    Since: cosmos-sdk 0.43
                description: options defines the weighted vote options.
            description: |-
              MsgVoteWeighted defines a message to cast a vote.

              Since: cosmos-sdk 0.43
      tags:
        - Msg
  /cosmos.mint.v1beta1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the x/mint
        module

        parameters. The authority is defaults to the x/gov module account.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosMintV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/mint parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  mint_denom:
                    type: string
                    title: type of coin to mint
                  inflation_rate_change:
                    type: string
                    title: maximum annual change in inflation rate
                  inflation_max:
                    type: string
                    title: maximum inflation rate
                  inflation_min:
                    type: string
                    title: minimum inflation rate
                  goal_bonded:
                    type: string
                    title: goal of percent bonded atoms
                  blocks_per_year:
                    type: string
                    format: uint64
                    title: expected blocks per year
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos/params/v1beta1/params:
    get:
      summary: |-
        Params queries a specific parameter of a module, given its subspace and
        key.
      operationId: CosmosParamsV1Beta1Query_Params
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              param:
                description: param defines the queried parameter.
                type: object
                properties:
                  subspace:
                    type: string
                  key:
                    type: string
                  value:
                    type: string
            description: >-
              QueryParamsResponse is response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: subspace
          description: subspace defines the module to query the parameter for.
          in: query
          required: false
          type: string
        - name: key
          description: key defines the key of the parameter in the subspace.
          in: query
          required: false
          type: string
      tags:
        - Query
  /cosmos/params/v1beta1/subspaces:
    get:
      summary: >-
        Subspaces queries for all registered subspaces and all keys for a
        subspace.
      description: 'Since: cosmos-sdk 0.46'
      operationId: CosmosParamsV1Beta1Query_Subspaces
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              subspaces:
                type: array
                items:
                  type: object
                  properties:
                    subspace:
                      type: string
                    keys:
                      type: array
                      items:
                        type: string
                  description: >-
                    Subspace defines a parameter subspace name and all the keys
                    that exist for

                    the subspace.


                    Since: cosmos-sdk 0.46
            description: >-
              QuerySubspacesResponse defines the response types for querying for
              all

              registered subspaces and all keys for a subspace.


              Since: cosmos-sdk 0.46
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      tags:
        - Query
  /cosmos.slashing.v1beta1.Msg/Unjail:
    post:
      summary: >-
        Unjail defines a method for unjailing a jailed validator, thus returning

        them into the bonded validator set, so they can begin receiving
        provisions

        and rewards again.
      operationId: CosmosSlashingV1Beta1Msg_Unjail
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgUnjailResponse defines the Msg/Unjail response type
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              validator_addr:
                type: string
            title: MsgUnjail defines the Msg/Unjail request type
      tags:
        - Msg
  /cosmos.slashing.v1beta1.Msg/UpdateParams:
    post:
      summary: >-
        UpdateParams defines a governance operation for updating the x/slashing
        module

        parameters. The authority defaults to the x/gov module account.
      description: 'Since: cosmos-sdk 0.47'
      operationId: CosmosSlashingV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/slashing parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  signed_blocks_window:
                    type: string
                    format: int64
                  min_signed_per_window:
                    type: string
                    format: byte
                  downtime_jail_duration:
                    type: string
                  slash_fraction_double_sign:
                    type: string
                    format: byte
                  slash_fraction_downtime:
                    type: string
                    format: byte
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/BeginRedelegate:
    post:
      summary: >-
        BeginRedelegate defines a method for performing a redelegation

        of coins from a delegator and source validator to a destination
        validator.
      operationId: CosmosStakingV1Beta1Msg_BeginRedelegate
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              completion_time:
                type: string
                format: date-time
            description: >-
              MsgBeginRedelegateResponse defines the Msg/BeginRedelegate
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgBeginRedelegate defines a SDK message for performing a
            redelegation

            of coins from a delegator and source validator to a destination
            validator.
          in: body
          required: true
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_src_address:
                type: string
              validator_dst_address:
                type: string
              amount:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
            description: >-
              MsgBeginRedelegate defines a SDK message for performing a
              redelegation

              of coins from a delegator and source validator to a destination
              validator.
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation:
    post:
      summary: >-
        CancelUnbondingDelegation defines a method for performing canceling the
        unbonding delegation

        and delegate back to previous validator.
      description: 'Since: cosmos-sdk 0.46'
      operationId: CosmosStakingV1Beta1Msg_CancelUnbondingDelegation
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: 'Since: cosmos-sdk 0.46'
            title: MsgCancelUnbondingDelegationResponse
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: 'Since: cosmos-sdk 0.46'
          in: body
          required: true
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
              amount:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
                title: >-
                  amount is always less than or equal to unbonding delegation
                  entry balance
              creation_height:
                type: string
                format: int64
                description: creation_height is the height which the unbonding took place.
            description: 'Since: cosmos-sdk 0.46'
            title: >-
              MsgCancelUnbondingDelegation defines the SDK message for
              performing a cancel unbonding delegation for delegator
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/CreateValidator:
    post:
      summary: CreateValidator defines a method for creating a new validator.
      operationId: CosmosStakingV1Beta1Msg_CreateValidator
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgCreateValidatorResponse defines the Msg/CreateValidator
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgCreateValidator defines a SDK message for creating a new
            validator.
          in: body
          required: true
          schema:
            type: object
            properties:
              description:
                type: object
                properties:
                  moniker:
                    type: string
                    description: moniker defines a human-readable name for the validator.
                  identity:
                    type: string
                    description: >-
                      identity defines an optional identity signature (ex. UPort
                      or Keybase).
                  website:
                    type: string
                    description: website defines an optional website link.
                  security_contact:
                    type: string
                    description: >-
                      security_contact defines an optional email for security
                      contact.
                  details:
                    type: string
                    description: details define other optional details.
                description: Description defines a validator description.
              commission:
                type: object
                properties:
                  rate:
                    type: string
                    description: >-
                      rate is the commission rate charged to delegators, as a
                      fraction.
                  max_rate:
                    type: string
                    description: >-
                      max_rate defines the maximum commission rate which
                      validator can ever charge, as a fraction.
                  max_change_rate:
                    type: string
                    description: >-
                      max_change_rate defines the maximum daily increase of the
                      validator commission, as a fraction.
                description: >-
                  CommissionRates defines the initial commission rates to be
                  used for creating

                  a validator.
              min_self_delegation:
                type: string
              delegator_address:
                type: string
                description: >-
                  Deprecated: Use of Delegator Address in MsgCreateValidator is
                  deprecated.

                  The validator address bytes and delegator address bytes refer
                  to the same account while creating validator (defer

                  only in bech32 notation).
              validator_address:
                type: string
              pubkey:
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              value:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
            description: >-
              MsgCreateValidator defines a SDK message for creating a new
              validator.
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/Delegate:
    post:
      summary: |-
        Delegate defines a method for performing a delegation of coins
        from a delegator to a validator.
      operationId: CosmosStakingV1Beta1Msg_Delegate
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgDelegateResponse defines the Msg/Delegate response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgDelegate defines a SDK message for performing a delegation of
            coins

            from a delegator to a validator.
          in: body
          required: true
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
              amount:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
            description: >-
              MsgDelegate defines a SDK message for performing a delegation of
              coins

              from a delegator to a validator.
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/EditValidator:
    post:
      summary: EditValidator defines a method for editing an existing validator.
      operationId: CosmosStakingV1Beta1Msg_EditValidator
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgEditValidatorResponse defines the Msg/EditValidator response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgEditValidator defines a SDK message for editing an existing
            validator.
          in: body
          required: true
          schema:
            type: object
            properties:
              description:
                type: object
                properties:
                  moniker:
                    type: string
                    description: moniker defines a human-readable name for the validator.
                  identity:
                    type: string
                    description: >-
                      identity defines an optional identity signature (ex. UPort
                      or Keybase).
                  website:
                    type: string
                    description: website defines an optional website link.
                  security_contact:
                    type: string
                    description: >-
                      security_contact defines an optional email for security
                      contact.
                  details:
                    type: string
                    description: details define other optional details.
                description: Description defines a validator description.
              validator_address:
                type: string
              commission_rate:
                type: string
                title: >-
                  We pass a reference to the new commission rate and min self
                  delegation as

                  it's not mandatory to update. If not updated, the deserialized
                  rate will be

                  zero with no way to distinguish if an update was intended.

                  REF: #2373
              min_self_delegation:
                type: string
            description: >-
              MsgEditValidator defines a SDK message for editing an existing
              validator.
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/Undelegate:
    post:
      summary: |-
        Undelegate defines a method for performing an undelegation from a
        delegate and a validator.
      operationId: CosmosStakingV1Beta1Msg_Undelegate
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              completion_time:
                type: string
                format: date-time
              amount:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
                title: amount returns the amount of undelegated coins
            description: MsgUndelegateResponse defines the Msg/Undelegate response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgUndelegate defines a SDK message for performing an undelegation
            from a

            delegate and a validator.
          in: body
          required: true
          schema:
            type: object
            properties:
              delegator_address:
                type: string
              validator_address:
                type: string
              amount:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
            description: >-
              MsgUndelegate defines a SDK message for performing an undelegation
              from a

              delegate and a validator.
      tags:
        - Msg
  /cosmos.staking.v1beta1.Msg/UpdateParams:
    post:
      summary: |-
        UpdateParams defines an operation for updating the x/staking module
        parameters.
        Since: cosmos-sdk 0.47
      operationId: CosmosStakingV1Beta1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: cosmos-sdk 0.47
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the Msg/UpdateParams request type.

            Since: cosmos-sdk 0.47
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the x/staking parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  unbonding_time:
                    type: string
                    description: unbonding_time is the time duration of unbonding.
                  max_validators:
                    type: integer
                    format: int64
                    description: max_validators is the maximum number of validators.
                  max_entries:
                    type: integer
                    format: int64
                    description: >-
                      max_entries is the max entries for either unbonding
                      delegation or redelegation (per pair/trio).
                  historical_entries:
                    type: integer
                    format: int64
                    description: >-
                      historical_entries is the number of historical entries to
                      persist.
                  bond_denom:
                    type: string
                    description: bond_denom defines the bondable coin denomination.
                  min_commission_rate:
                    type: string
                    title: >-
                      min_commission_rate is the chain-wide minimum commission
                      rate that a validator can charge their delegators
            description: |-
              MsgUpdateParams is the Msg/UpdateParams request type.

              Since: cosmos-sdk 0.47
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/AddCodeUploadParamsAddresses:
    post:
      summary: |-
        AddCodeUploadParamsAddresses defines a governance operation for
        adding addresses to code upload params.
        The authority is defined in the keeper.
      operationId: CosmwasmWasmV1Msg_AddCodeUploadParamsAddresses
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: |-
              MsgAddCodeUploadParamsAddressesResponse defines the response
              structure for executing a MsgAddCodeUploadParamsAddresses message.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgAddCodeUploadParamsAddresses is the
            MsgAddCodeUploadParamsAddresses request type.
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              addresses:
                type: array
                items:
                  type: string
            description: |-
              MsgAddCodeUploadParamsAddresses is the
              MsgAddCodeUploadParamsAddresses request type.
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/ClearAdmin:
    post:
      summary: ClearAdmin removes any admin stored for a smart contract
      operationId: CosmwasmWasmV1Msg_ClearAdmin
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgClearAdminResponse returns empty data
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the actor that signed the messages
              contract:
                type: string
                title: Contract is the address of the smart contract
            title: MsgClearAdmin removes any admin stored for a smart contract
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/ExecuteContract:
    post:
      summary: Execute submits the given message data to a smart contract
      operationId: CosmwasmWasmV1Msg_ExecuteContract
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              data:
                type: string
                format: byte
                title: Data contains bytes to returned from the contract
            description: MsgExecuteContractResponse returns execution result data.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              contract:
                type: string
                title: Contract is the address of the smart contract
              msg:
                type: string
                format: byte
                title: Msg json encoded message to be passed to the contract
              funds:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: Funds coins that are transferred to the contract on execution
            title: >-
              MsgExecuteContract submits the given message data to a smart
              contract
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/InstantiateContract:
    post:
      summary: |-
        InstantiateContract creates a new smart contract instance for the given
         code id.
      operationId: CosmwasmWasmV1Msg_InstantiateContract
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              address:
                type: string
                description: Address is the bech32 address of the new contract instance.
              data:
                type: string
                format: byte
                title: Data contains bytes to returned from the contract
            title: MsgInstantiateContractResponse return instantiation result data
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgInstantiateContract create a new smart contract instance for the
            given

            code id.
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              admin:
                type: string
                title: Admin is an optional address that can execute migrations
              code_id:
                type: string
                format: uint64
                title: CodeID is the reference to the stored WASM code
              label:
                type: string
                description: >-
                  Label is optional metadata to be stored with a contract
                  instance.
              msg:
                type: string
                format: byte
                title: >-
                  Msg json encoded message to be passed to the contract on
                  instantiation
              funds:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: >-
                  Funds coins that are transferred to the contract on
                  instantiation
            description: >-
              MsgInstantiateContract create a new smart contract instance for
              the given

              code id.
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/InstantiateContract2:
    post:
      summary: |-
        InstantiateContract2 creates a new smart contract instance for the given
         code id with a predictable address
      operationId: CosmwasmWasmV1Msg_InstantiateContract2
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              address:
                type: string
                description: Address is the bech32 address of the new contract instance.
              data:
                type: string
                format: byte
                title: Data contains bytes to returned from the contract
            title: MsgInstantiateContract2Response return instantiation result data
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgInstantiateContract2 create a new smart contract instance for the
            given

            code id with a predicable address.
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              admin:
                type: string
                title: Admin is an optional address that can execute migrations
              code_id:
                type: string
                format: uint64
                title: CodeID is the reference to the stored WASM code
              label:
                type: string
                description: >-
                  Label is optional metadata to be stored with a contract
                  instance.
              msg:
                type: string
                format: byte
                title: >-
                  Msg json encoded message to be passed to the contract on
                  instantiation
              funds:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: >-
                  Funds coins that are transferred to the contract on
                  instantiation
              salt:
                type: string
                format: byte
                description: >-
                  Salt is an arbitrary value provided by the sender. Size can be
                  1 to 64.
              fix_msg:
                type: boolean
                title: >-
                  FixMsg include the msg value into the hash for the predictable
                  address.

                  Default is false
            description: >-
              MsgInstantiateContract2 create a new smart contract instance for
              the given

              code id with a predicable address.
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/MigrateContract:
    post:
      summary: Migrate runs a code upgrade/ downgrade for a smart contract
      operationId: CosmwasmWasmV1Msg_MigrateContract
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              data:
                type: string
                format: byte
                title: >-
                  Data contains same raw bytes returned as data from the wasm
                  contract.

                  (May be empty)
            description: MsgMigrateContractResponse returns contract migration result data.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              contract:
                type: string
                title: Contract is the address of the smart contract
              code_id:
                type: string
                format: uint64
                title: CodeID references the new WASM code
              msg:
                type: string
                format: byte
                title: >-
                  Msg json encoded message to be passed to the contract on
                  migration
            title: >-
              MsgMigrateContract runs a code upgrade/ downgrade for a smart
              contract
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/PinCodes:
    post:
      summary: |-
        PinCodes defines a governance operation for pinning a set of
        code ids in the wasmvm cache. The authority is defined in the keeper.
      description: 'Since: 0.40'
      operationId: CosmwasmWasmV1Msg_PinCodes
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: |-
              MsgPinCodesResponse defines the response structure for executing a
              MsgPinCodes message.

              Since: 0.40
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgPinCodes is the MsgPinCodes request type.

            Since: 0.40
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              code_ids:
                type: array
                items:
                  type: string
                  format: uint64
                title: CodeIDs references the new WASM codes
            description: |-
              MsgPinCodes is the MsgPinCodes request type.

              Since: 0.40
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/RemoveCodeUploadParamsAddresses:
    post:
      summary: |-
        RemoveCodeUploadParamsAddresses defines a governance operation for
        removing addresses from code upload params.
        The authority is defined in the keeper.
      operationId: CosmwasmWasmV1Msg_RemoveCodeUploadParamsAddresses
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgRemoveCodeUploadParamsAddressesResponse defines the response

              structure for executing a MsgRemoveCodeUploadParamsAddresses
              message.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgRemoveCodeUploadParamsAddresses is the
            MsgRemoveCodeUploadParamsAddresses request type.
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              addresses:
                type: array
                items:
                  type: string
            description: |-
              MsgRemoveCodeUploadParamsAddresses is the
              MsgRemoveCodeUploadParamsAddresses request type.
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/StoreAndInstantiateContract:
    post:
      summary: |-
        StoreAndInstantiateContract defines a governance operation for storing
        and instantiating the contract. The authority is defined in the keeper.
      description: 'Since: 0.40'
      operationId: CosmwasmWasmV1Msg_StoreAndInstantiateContract
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              address:
                type: string
                description: Address is the bech32 address of the new contract instance.
              data:
                type: string
                format: byte
                title: Data contains bytes to returned from the contract
            description: >-
              MsgStoreAndInstantiateContractResponse defines the response
              structure

              for executing a MsgStoreAndInstantiateContract message.


              Since: 0.40
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract
            request type.

            Since: 0.40
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              wasm_byte_code:
                type: string
                format: byte
                title: WASMByteCode can be raw or gzip compressed
              instantiate_permission:
                title: InstantiatePermission to apply on contract creation, optional
                type: object
                properties:
                  permission:
                    type: string
                    enum:
                      - ACCESS_TYPE_UNSPECIFIED
                      - ACCESS_TYPE_NOBODY
                      - ACCESS_TYPE_EVERYBODY
                      - ACCESS_TYPE_ANY_OF_ADDRESSES
                    default: ACCESS_TYPE_UNSPECIFIED
                    description: >-
                      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                      placeholder for empty value
                       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                    title: AccessType permission types
                  addresses:
                    type: array
                    items:
                      type: string
                description: AccessConfig access control type.
              unpin_code:
                type: boolean
                description: >-
                  UnpinCode code on upload, optional. As default the uploaded
                  contract is

                  pinned to cache.
              admin:
                type: string
                title: Admin is an optional address that can execute migrations
              label:
                type: string
                description: >-
                  Label is optional metadata to be stored with a constract
                  instance.
              msg:
                type: string
                format: byte
                title: >-
                  Msg json encoded message to be passed to the contract on
                  instantiation
              funds:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: >-
                  Funds coins that are transferred from the authority account to
                  the contract

                  on instantiation
              source:
                type: string
                title: Source is the URL where the code is hosted
              builder:
                type: string
                title: >-
                  Builder is the docker image used to build the code
                  deterministically, used

                  for smart contract verification
              code_hash:
                type: string
                format: byte
                title: >-
                  CodeHash is the SHA256 sum of the code outputted by builder,
                  used for smart

                  contract verification
            description: >-
              MsgStoreAndInstantiateContract is the
              MsgStoreAndInstantiateContract

              request type.


              Since: 0.40
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/StoreAndMigrateContract:
    post:
      summary: |-
        StoreAndMigrateContract defines a governance operation for storing
        and migrating the contract. The authority is defined in the keeper.
      description: 'Since: 0.42'
      operationId: CosmwasmWasmV1Msg_StoreAndMigrateContract
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              code_id:
                type: string
                format: uint64
                title: CodeID is the reference to the stored WASM code
              checksum:
                type: string
                format: byte
                title: Checksum is the sha256 hash of the stored code
              data:
                type: string
                format: byte
                title: Data contains bytes to returned from the contract
            description: |-
              MsgStoreAndMigrateContractResponse defines the response structure
              for executing a MsgStoreAndMigrateContract message.

              Since: 0.42
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract
            request type.

            Since: 0.42
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              wasm_byte_code:
                type: string
                format: byte
                title: WASMByteCode can be raw or gzip compressed
              instantiate_permission:
                title: InstantiatePermission to apply on contract creation, optional
                type: object
                properties:
                  permission:
                    type: string
                    enum:
                      - ACCESS_TYPE_UNSPECIFIED
                      - ACCESS_TYPE_NOBODY
                      - ACCESS_TYPE_EVERYBODY
                      - ACCESS_TYPE_ANY_OF_ADDRESSES
                    default: ACCESS_TYPE_UNSPECIFIED
                    description: >-
                      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                      placeholder for empty value
                       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                    title: AccessType permission types
                  addresses:
                    type: array
                    items:
                      type: string
                description: AccessConfig access control type.
              contract:
                type: string
                title: Contract is the address of the smart contract
              msg:
                type: string
                format: byte
                title: >-
                  Msg json encoded message to be passed to the contract on
                  migration
            description: |-
              MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract
              request type.

              Since: 0.42
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/StoreCode:
    post:
      summary: StoreCode to submit Wasm code to the system
      operationId: CosmwasmWasmV1Msg_StoreCode
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              code_id:
                type: string
                format: uint64
                title: CodeID is the reference to the stored WASM code
              checksum:
                type: string
                format: byte
                title: Checksum is the sha256 hash of the stored code
            description: MsgStoreCodeResponse returns store result data.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the actor that signed the messages
              wasm_byte_code:
                type: string
                format: byte
                title: WASMByteCode can be raw or gzip compressed
              instantiate_permission:
                title: >-
                  InstantiatePermission access control to apply on contract
                  creation,

                  optional
                type: object
                properties:
                  permission:
                    type: string
                    enum:
                      - ACCESS_TYPE_UNSPECIFIED
                      - ACCESS_TYPE_NOBODY
                      - ACCESS_TYPE_EVERYBODY
                      - ACCESS_TYPE_ANY_OF_ADDRESSES
                    default: ACCESS_TYPE_UNSPECIFIED
                    description: >-
                      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                      placeholder for empty value
                       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                    title: AccessType permission types
                  addresses:
                    type: array
                    items:
                      type: string
                description: AccessConfig access control type.
            title: MsgStoreCode submit Wasm code to the system
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/SudoContract:
    post:
      summary: |-
        SudoContract defines a governance operation for calling sudo
        on a contract. The authority is defined in the keeper.
      description: 'Since: 0.40'
      operationId: CosmwasmWasmV1Msg_SudoContract
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              data:
                type: string
                format: byte
                title: Data contains bytes to returned from the contract
            description: >-
              MsgSudoContractResponse defines the response structure for
              executing a

              MsgSudoContract message.


              Since: 0.40
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgSudoContract is the MsgSudoContract request type.

            Since: 0.40
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              contract:
                type: string
                title: Contract is the address of the smart contract
              msg:
                type: string
                format: byte
                title: Msg json encoded message to be passed to the contract as sudo
            description: |-
              MsgSudoContract is the MsgSudoContract request type.

              Since: 0.40
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/UnpinCodes:
    post:
      summary: |-
        UnpinCodes defines a governance operation for unpinning a set of
        code ids in the wasmvm cache. The authority is defined in the keeper.
      description: 'Since: 0.40'
      operationId: CosmwasmWasmV1Msg_UnpinCodes
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUnpinCodesResponse defines the response structure for executing
              a

              MsgUnpinCodes message.


              Since: 0.40
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgUnpinCodes is the MsgUnpinCodes request type.

            Since: 0.40
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              code_ids:
                type: array
                items:
                  type: string
                  format: uint64
                title: CodeIDs references the WASM codes
            description: |-
              MsgUnpinCodes is the MsgUnpinCodes request type.

              Since: 0.40
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/UpdateAdmin:
    post:
      summary: UpdateAdmin sets a new admin for a smart contract
      operationId: CosmwasmWasmV1Msg_UpdateAdmin
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgUpdateAdminResponse returns empty data
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              new_admin:
                type: string
                title: NewAdmin address to be set
              contract:
                type: string
                title: Contract is the address of the smart contract
            title: MsgUpdateAdmin sets a new admin for a smart contract
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/UpdateContractLabel:
    post:
      summary: UpdateContractLabel sets a new label for a smart contract
      description: 'Since: 0.43'
      operationId: CosmwasmWasmV1Msg_UpdateContractLabel
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgUpdateContractLabelResponse returns empty data
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              new_label:
                type: string
                title: NewLabel string to be set
              contract:
                type: string
                title: Contract is the address of the smart contract
            title: MsgUpdateContractLabel sets a new label for a smart contract
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/UpdateInstantiateConfig:
    post:
      summary: UpdateInstantiateConfig updates instantiate config for a smart contract
      operationId: CosmwasmWasmV1Msg_UpdateInstantiateConfig
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgUpdateInstantiateConfigResponse returns empty data
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              sender:
                type: string
                title: Sender is the that actor that signed the messages
              code_id:
                type: string
                format: uint64
                title: CodeID references the stored WASM code
              new_instantiate_permission:
                title: NewInstantiatePermission is the new access control
                type: object
                properties:
                  permission:
                    type: string
                    enum:
                      - ACCESS_TYPE_UNSPECIFIED
                      - ACCESS_TYPE_NOBODY
                      - ACCESS_TYPE_EVERYBODY
                      - ACCESS_TYPE_ANY_OF_ADDRESSES
                    default: ACCESS_TYPE_UNSPECIFIED
                    description: >-
                      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                      placeholder for empty value
                       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                    title: AccessType permission types
                  addresses:
                    type: array
                    items:
                      type: string
                description: AccessConfig access control type.
            title: >-
              MsgUpdateInstantiateConfig updates instantiate config for a smart
              contract
      tags:
        - Msg
  /cosmwasm.wasm.v1.Msg/UpdateParams:
    post:
      summary: |-
        UpdateParams defines a governance operation for updating the x/wasm
        module parameters. The authority is defined in the keeper.
      description: 'Since: 0.40'
      operationId: CosmwasmWasmV1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.


              Since: 0.40
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgUpdateParams is the MsgUpdateParams request type.

            Since: 0.40
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: Authority is the address of the governance account.
              params:
                description: |-
                  params defines the x/wasm parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  code_upload_access:
                    type: object
                    properties:
                      permission:
                        type: string
                        enum:
                          - ACCESS_TYPE_UNSPECIFIED
                          - ACCESS_TYPE_NOBODY
                          - ACCESS_TYPE_EVERYBODY
                          - ACCESS_TYPE_ANY_OF_ADDRESSES
                        default: ACCESS_TYPE_UNSPECIFIED
                        description: >-
                          - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                          placeholder for empty value
                           - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                           - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                           - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                        title: AccessType permission types
                      addresses:
                        type: array
                        items:
                          type: string
                    description: AccessConfig access control type.
                  instantiate_default_permission:
                    type: string
                    enum:
                      - ACCESS_TYPE_UNSPECIFIED
                      - ACCESS_TYPE_NOBODY
                      - ACCESS_TYPE_EVERYBODY
                      - ACCESS_TYPE_ANY_OF_ADDRESSES
                    default: ACCESS_TYPE_UNSPECIFIED
                    description: >-
                      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                      placeholder for empty value
                       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                    title: AccessType permission types
            description: |-
              MsgUpdateParams is the MsgUpdateParams request type.

              Since: 0.40
      tags:
        - Msg
  /cosmwasm/wasm/v1/code:
    get:
      summary: Codes gets the metadata for all stored wasm codes
      operationId: CosmwasmWasmV1Query_Codes
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              code_infos:
                type: array
                items:
                  type: object
                  properties:
                    code_id:
                      type: string
                      format: uint64
                      title: id for legacy support
                    creator:
                      type: string
                    data_hash:
                      type: string
                      format: byte
                    instantiate_permission:
                      type: object
                      properties:
                        permission:
                          type: string
                          enum:
                            - ACCESS_TYPE_UNSPECIFIED
                            - ACCESS_TYPE_NOBODY
                            - ACCESS_TYPE_EVERYBODY
                            - ACCESS_TYPE_ANY_OF_ADDRESSES
                          default: ACCESS_TYPE_UNSPECIFIED
                          description: >-
                            - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                            placeholder for empty value
                             - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                             - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                             - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                          title: AccessType permission types
                        addresses:
                          type: array
                          items:
                            type: string
                      description: AccessConfig access control type.
                  title: CodeInfoResponse contains code meta data from CodeInfo
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: >-
              QueryCodesResponse is the response type for the Query/Codes RPC
              method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.


            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query
  /cosmwasm/wasm/v1/code/{code_id}:
    get:
      summary: Code gets the binary code and metadata for a singe wasm code
      operationId: CosmwasmWasmV1Query_Code
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              code_info:
                type: object
                properties:
                  code_id:
                    type: string
                    format: uint64
                    title: id for legacy support
                  creator:
                    type: string
                  data_hash:
                    type: string
                    format: byte
                  instantiate_permission:
                    type: object
                    properties:
                      permission:
                        type: string
                        enum:
                          - ACCESS_TYPE_UNSPECIFIED
                          - ACCESS_TYPE_NOBODY
                          - ACCESS_TYPE_EVERYBODY
                          - ACCESS_TYPE_ANY_OF_ADDRESSES
                        default: ACCESS_TYPE_UNSPECIFIED
                        description: >-
                          - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                          placeholder for empty value
                           - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                           - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                           - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                        title: AccessType permission types
                      addresses:
                        type: array
                        items:
                          type: string
                    description: AccessConfig access control type.
                title: CodeInfoResponse contains code meta data from CodeInfo
              data:
                type: string
                format: byte
            title: >-
              QueryCodeResponse is the response type for the Query/Code RPC
              method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: code_id
          description: grpc-gateway_out does not support Go style CodID
          in: path
          required: true
          type: string
          format: uint64
      tags:
        - Query
  /cosmwasm/wasm/v1/code/{code_id}/contracts:
    get:
      summary: ContractsByCode lists all smart contracts for a code id
      operationId: CosmwasmWasmV1Query_ContractsByCode
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              contracts:
                type: array
                items:
                  type: string
                title: contracts are a set of contract addresses
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: |-
              QueryContractsByCodeResponse is the response type for the
              Query/ContractsByCode RPC method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: code_id
          description: grpc-gateway_out does not support Go style CodID
          in: path
          required: true
          type: string
          format: uint64
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.


            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query
  /cosmwasm/wasm/v1/codes/params:
    get:
      summary: Params gets the module params
      operationId: CosmwasmWasmV1Query_Params
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              params:
                description: params defines the parameters of the module.
                type: object
                properties:
                  code_upload_access:
                    type: object
                    properties:
                      permission:
                        type: string
                        enum:
                          - ACCESS_TYPE_UNSPECIFIED
                          - ACCESS_TYPE_NOBODY
                          - ACCESS_TYPE_EVERYBODY
                          - ACCESS_TYPE_ANY_OF_ADDRESSES
                        default: ACCESS_TYPE_UNSPECIFIED
                        description: >-
                          - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                          placeholder for empty value
                           - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                           - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                           - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                        title: AccessType permission types
                      addresses:
                        type: array
                        items:
                          type: string
                    description: AccessConfig access control type.
                  instantiate_default_permission:
                    type: string
                    enum:
                      - ACCESS_TYPE_UNSPECIFIED
                      - ACCESS_TYPE_NOBODY
                      - ACCESS_TYPE_EVERYBODY
                      - ACCESS_TYPE_ANY_OF_ADDRESSES
                    default: ACCESS_TYPE_UNSPECIFIED
                    description: >-
                      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified
                      placeholder for empty value
                       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                    title: AccessType permission types
            description: >-
              QueryParamsResponse is the response type for the Query/Params RPC
              method.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      tags:
        - Query
  /cosmwasm/wasm/v1/codes/pinned:
    get:
      summary: PinnedCodes gets the pinned code ids
      operationId: CosmwasmWasmV1Query_PinnedCodes
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              code_ids:
                type: array
                items:
                  type: string
                  format: uint64
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: |-
              QueryPinnedCodesResponse is the response type for the
              Query/PinnedCodes RPC method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.


            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query
  /cosmwasm/wasm/v1/contract/build_address:
    get:
      summary: BuildAddress builds a contract address
      operationId: CosmwasmWasmV1Query_BuildAddress
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              address:
                type: string
                title: Address is the contract address
            description: >-
              QueryBuildAddressResponse is the response type for the
              Query/BuildAddress RPC

              method.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: code_hash
          description: CodeHash is the hash of the code
          in: query
          required: false
          type: string
        - name: creator_address
          description: CreatorAddress is the address of the contract instantiator
          in: query
          required: false
          type: string
        - name: salt
          description: Salt is a hex encoded salt
          in: query
          required: false
          type: string
        - name: init_args
          description: >-
            InitArgs are optional json encoded init args to be used in contract
            address

            building if provided
          in: query
          required: false
          type: string
          format: byte
      tags:
        - Query
  /cosmwasm/wasm/v1/contract/{address}:
    get:
      summary: ContractInfo gets the contract meta data
      operationId: CosmwasmWasmV1Query_ContractInfo
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              address:
                type: string
                title: address is the address of the contract
              contract_info:
                type: object
                properties:
                  code_id:
                    type: string
                    format: uint64
                    title: CodeID is the reference to the stored Wasm code
                  creator:
                    type: string
                    title: Creator address who initially instantiated the contract
                  admin:
                    type: string
                    title: Admin is an optional address that can execute migrations
                  label:
                    type: string
                    description: >-
                      Label is optional metadata to be stored with a contract
                      instance.
                  created:
                    description: Created Tx position when the contract was instantiated.
                    type: object
                    properties:
                      block_height:
                        type: string
                        format: uint64
                        title: BlockHeight is the block the contract was created at
                      tx_index:
                        type: string
                        format: uint64
                        title: >-
                          TxIndex is a monotonic counter within the block
                          (actual transaction index,

                          or gas consumed)
                  ibc_port_id:
                    type: string
                  extension:
                    description: >-
                      Extension is an extension point to store custom metadata
                      within the

                      persistence model.
                    type: object
                    properties:
                      '@type':
                        type: string
                        description: >-
                          A URL/resource name that uniquely identifies the type
                          of the serialized

                          protocol buffer message. This string must contain at
                          least

                          one "/" character. The last segment of the URL's path
                          must represent

                          the fully qualified name of the type (as in

                          `path/google.protobuf.Duration`). The name should be
                          in a canonical form

                          (e.g., leading "." is not accepted).


                          In practice, teams usually precompile into the binary
                          all types that they

                          expect it to use in the context of Any. However, for
                          URLs which use the

                          scheme `http`, `https`, or no scheme, one can
                          optionally set up a type

                          server that maps type URLs to message definitions as
                          follows:


                          * If no scheme is provided, `https` is assumed.

                          * An HTTP GET on the URL must yield a
                          [google.protobuf.Type][]
                            value in binary format, or produce an error.
                          * Applications are allowed to cache lookup results
                          based on the
                            URL, or have them precompiled into a binary to avoid any
                            lookup. Therefore, binary compatibility needs to be preserved
                            on changes to types. (Use versioned type names to manage
                            breaking changes.)

                          Note: this functionality is not currently available in
                          the official

                          protobuf release, and it is not used for type URLs
                          beginning with

                          type.googleapis.com. As of May 2023, there are no
                          widely used type server

                          implementations and no plans to implement one.


                          Schemes other than `http`, `https` (or the empty
                          scheme) might be

                          used with implementation specific semantics.
                    additionalProperties: {}
                title: ContractInfo stores a WASM contract instance
            title: >-
              QueryContractInfoResponse is the response type for the
              Query/ContractInfo RPC

              method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: address
          description: address is the address of the contract to query
          in: path
          required: true
          type: string
      tags:
        - Query
  /cosmwasm/wasm/v1/contract/{address}/history:
    get:
      summary: ContractHistory gets the contract code history
      operationId: CosmwasmWasmV1Query_ContractHistory
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              entries:
                type: array
                items:
                  type: object
                  properties:
                    operation:
                      type: string
                      enum:
                        - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
                        - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT
                        - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE
                        - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS
                      default: CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
                      description: >-
                        - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED:
                        ContractCodeHistoryOperationTypeUnspecified placeholder
                        for empty value
                         - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT: ContractCodeHistoryOperationTypeInit on chain contract instantiation
                         - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE: ContractCodeHistoryOperationTypeMigrate code migration
                         - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS: ContractCodeHistoryOperationTypeGenesis based on genesis data
                      title: >-
                        ContractCodeHistoryOperationType actions that caused a
                        code change
                    code_id:
                      type: string
                      format: uint64
                      title: CodeID is the reference to the stored WASM code
                    updated:
                      description: Updated Tx position when the operation was executed.
                      type: object
                      properties:
                        block_height:
                          type: string
                          format: uint64
                          title: BlockHeight is the block the contract was created at
                        tx_index:
                          type: string
                          format: uint64
                          title: >-
                            TxIndex is a monotonic counter within the block
                            (actual transaction index,

                            or gas consumed)
                    msg:
                      type: string
                      format: byte
                  description: ContractCodeHistoryEntry metadata to a contract.
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: |-
              QueryContractHistoryResponse is the response type for the
              Query/ContractHistory RPC method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: address
          description: address is the address of the contract to query
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.


            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query
  /cosmwasm/wasm/v1/contract/{address}/raw/{query_data}:
    get:
      summary: RawContractState gets single key from the raw store data of a contract
      operationId: CosmwasmWasmV1Query_RawContractState
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              data:
                type: string
                format: byte
                title: Data contains the raw store data
            title: |-
              QueryRawContractStateResponse is the response type for the
              Query/RawContractState RPC method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: address
          description: address is the address of the contract
          in: path
          required: true
          type: string
        - name: query_data
          in: path
          required: true
          type: string
          format: byte
      tags:
        - Query
  /cosmwasm/wasm/v1/contract/{address}/smart/{query_data}:
    get:
      summary: SmartContractState get smart query result from the contract
      operationId: CosmwasmWasmV1Query_SmartContractState
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              data:
                type: string
                format: byte
                title: Data contains the json data returned from the smart contract
            title: |-
              QuerySmartContractStateResponse is the response type for the
              Query/SmartContractState RPC method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: address
          description: address is the address of the contract
          in: path
          required: true
          type: string
        - name: query_data
          description: QueryData contains the query data passed to the contract
          in: path
          required: true
          type: string
          format: byte
      tags:
        - Query
  /cosmwasm/wasm/v1/contract/{address}/state:
    get:
      summary: AllContractState gets all raw store data for a single contract
      operationId: CosmwasmWasmV1Query_AllContractState
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              models:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      format: byte
                      title: hex-encode key to read it better (this is often ascii)
                    value:
                      type: string
                      format: byte
                      title: base64-encode raw value
                  title: Model is a struct that holds a KV pair
              pagination:
                description: pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            title: |-
              QueryAllContractStateResponse is the response type for the
              Query/AllContractState RPC method
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: address
          description: address is the address of the contract
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.


            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query
  /cosmwasm/wasm/v1/contracts/creator/{creator_address}:
    get:
      summary: ContractsByCreator gets the contracts by creator
      operationId: CosmwasmWasmV1Query_ContractsByCreator
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              contract_addresses:
                type: array
                items:
                  type: string
                title: ContractAddresses result set
              pagination:
                description: Pagination defines the pagination in the response.
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
            description: |-
              QueryContractsByCreatorResponse is the response type for the
              Query/ContractsByCreator RPC method.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: creator_address
          description: CreatorAddress is the address of contract creator
          in: path
          required: true
          type: string
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.


            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query
  /ibc.applications.fee.v1.Msg/PayPacketFee:
    post:
      summary: >-
        PayPacketFee defines a rpc handler method for MsgPayPacketFee

        PayPacketFee is an open callback that may be called by any module/user
        that wishes to escrow funds in order to

        incentivize the relaying of the packet at the next sequence

        NOTE: This method is intended to be used within a multi msg transaction,
        where the subsequent msg that follows

        initiates the lifecycle of the incentivized packet
      operationId: IbcApplicationsFeeV1Msg_PayPacketFee
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: >-
              MsgPayPacketFeeResponse defines the response type for the
              PayPacketFee rpc
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              fee:
                title: >-
                  fee encapsulates the recv, ack and timeout fees associated
                  with an IBC packet
                type: object
                properties:
                  recv_fee:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    title: the packet receive fee
                  ack_fee:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    title: the packet acknowledgement fee
                  timeout_fee:
                    type: array
                    items:
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.


                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    title: the packet timeout fee
              source_port_id:
                type: string
                title: the source port unique identifier
              source_channel_id:
                type: string
                title: the source channel unique identifer
              signer:
                type: string
                title: account address to refund fee if necessary
              relayers:
                type: array
                items:
                  type: string
                title: optional list of relayers permitted to the receive packet fees
            title: >-
              MsgPayPacketFee defines the request type for the PayPacketFee rpc

              This Msg can be used to pay for a packet at the next sequence send
              & should be combined with the Msg that will be

              paid for
      tags:
        - Msg
  /ibc.applications.fee.v1.Msg/PayPacketFeeAsync:
    post:
      summary: >-
        PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync

        PayPacketFeeAsync is an open callback that may be called by any
        module/user that wishes to escrow funds in order to

        incentivize the relaying of a known packet (i.e. at a particular
        sequence)
      operationId: IbcApplicationsFeeV1Msg_PayPacketFeeAsync
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: >-
              MsgPayPacketFeeAsyncResponse defines the response type for the
              PayPacketFeeAsync rpc
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              packet_id:
                title: >-
                  unique packet identifier comprised of the channel ID, port ID
                  and sequence
                type: object
                properties:
                  port_id:
                    type: string
                    title: channel port identifier
                  channel_id:
                    type: string
                    title: channel unique identifier
                  sequence:
                    type: string
                    format: uint64
                    title: packet sequence
              packet_fee:
                title: the packet fee associated with a particular IBC packet
                type: object
                properties:
                  fee:
                    title: >-
                      fee encapsulates the recv, ack and timeout fees associated
                      with an IBC packet
                    type: object
                    properties:
                      recv_fee:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                            amount:
                              type: string
                          description: >-
                            Coin defines a token with a denomination and an
                            amount.


                            NOTE: The amount field is an Int which implements
                            the custom method

                            signatures required by gogoproto.
                        title: the packet receive fee
                      ack_fee:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                            amount:
                              type: string
                          description: >-
                            Coin defines a token with a denomination and an
                            amount.


                            NOTE: The amount field is an Int which implements
                            the custom method

                            signatures required by gogoproto.
                        title: the packet acknowledgement fee
                      timeout_fee:
                        type: array
                        items:
                          type: object
                          properties:
                            denom:
                              type: string
                            amount:
                              type: string
                          description: >-
                            Coin defines a token with a denomination and an
                            amount.


                            NOTE: The amount field is an Int which implements
                            the custom method

                            signatures required by gogoproto.
                        title: the packet timeout fee
                  refund_address:
                    type: string
                    title: the refund address for unspent fees
                  relayers:
                    type: array
                    items:
                      type: string
                    title: optional list of relayers permitted to receive fees
            title: >-
              MsgPayPacketFeeAsync defines the request type for the
              PayPacketFeeAsync rpc

              This Msg can be used to pay for a packet at a specified sequence
              (instead of the next sequence send)
      tags:
        - Msg
  /ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee:
    post:
      summary: >-
        RegisterCounterpartyPayee defines a rpc handler method for
        MsgRegisterCounterpartyPayee

        RegisterCounterpartyPayee is called by the relayer on each channelEnd
        and allows them to specify the counterparty

        payee address before relaying. This ensures they will be properly
        compensated for forward relaying since

        the destination chain must include the registered counterparty payee
        address in the acknowledgement. This function

        may be called more than once by a relayer, in which case, the latest
        counterparty payee address is always used.
      operationId: IbcApplicationsFeeV1Msg_RegisterCounterpartyPayee
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: >-
              MsgRegisterCounterpartyPayeeResponse defines the response type for
              the RegisterCounterpartyPayee rpc
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              port_id:
                type: string
                title: unique port identifier
              channel_id:
                type: string
                title: unique channel identifier
              relayer:
                type: string
                title: the relayer address
              counterparty_payee:
                type: string
                title: the counterparty payee address
            title: >-
              MsgRegisterCounterpartyPayee defines the request type for the
              RegisterCounterpartyPayee rpc
      tags:
        - Msg
  /ibc.applications.fee.v1.Msg/RegisterPayee:
    post:
      summary: >-
        RegisterPayee defines a rpc handler method for MsgRegisterPayee

        RegisterPayee is called by the relayer on each channelEnd and allows
        them to set an optional

        payee to which reverse and timeout relayer packet fees will be paid out.
        The payee should be registered on

        the source chain from which packets originate as this is where fee
        distribution takes place. This function may be

        called more than once by a relayer, in which case, the latest payee is
        always used.
      operationId: IbcApplicationsFeeV1Msg_RegisterPayee
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: >-
              MsgRegisterPayeeResponse defines the response type for the
              RegisterPayee rpc
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              port_id:
                type: string
                title: unique port identifier
              channel_id:
                type: string
                title: unique channel identifier
              relayer:
                type: string
                title: the relayer address
              payee:
                type: string
                title: the payee address
            title: >-
              MsgRegisterPayee defines the request type for the RegisterPayee
              rpc
      tags:
        - Msg
  /ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount:
    post:
      summary: >-
        RegisterInterchainAccount defines a rpc handler for
        MsgRegisterInterchainAccount.
      operationId: >-
        IbcApplicationsInterchainAccountsControllerV1Msg_RegisterInterchainAccount
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              channel_id:
                type: string
              port_id:
                type: string
            title: >-
              MsgRegisterInterchainAccountResponse defines the response for
              Msg/RegisterAccount
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              owner:
                type: string
              connection_id:
                type: string
              version:
                type: string
              ordering:
                type: string
                enum:
                  - ORDER_NONE_UNSPECIFIED
                  - ORDER_UNORDERED
                  - ORDER_ORDERED
                default: ORDER_NONE_UNSPECIFIED
                description: |-
                  - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
                   - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
                  which they were sent.
                   - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
                title: Order defines if a channel is ORDERED or UNORDERED
            title: >-
              MsgRegisterInterchainAccount defines the payload for
              Msg/RegisterAccount
      tags:
        - Msg
  /ibc.applications.interchain_accounts.controller.v1.Msg/SendTx:
    post:
      summary: SendTx defines a rpc handler for MsgSendTx.
      operationId: IbcApplicationsInterchainAccountsControllerV1Msg_SendTx
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              sequence:
                type: string
                format: uint64
            title: MsgSendTxResponse defines the response for MsgSendTx
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              owner:
                type: string
              connection_id:
                type: string
              packet_data:
                type: object
                properties:
                  type:
                    type: string
                    enum:
                      - TYPE_UNSPECIFIED
                      - TYPE_EXECUTE_TX
                    default: TYPE_UNSPECIFIED
                    description: |-
                      - TYPE_UNSPECIFIED: Default zero value enumeration
                       - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain
                    title: >-
                      Type defines a classification of message issued from a
                      controller chain to its associated interchain accounts

                      host
                  data:
                    type: string
                    format: byte
                  memo:
                    type: string
                description: >-
                  InterchainAccountPacketData is comprised of a raw transaction,
                  type of transaction and optional memo field.
              relative_timeout:
                type: string
                format: uint64
                description: >-
                  Relative timeout timestamp provided will be added to the
                  current block time during transaction execution.

                  The timeout timestamp must be non-zero.
            title: MsgSendTx defines the payload for Msg/SendTx
      tags:
        - Msg
  /ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams:
    post:
      summary: UpdateParams defines a rpc handler for MsgUpdateParams.
      operationId: IbcApplicationsInterchainAccountsControllerV1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              signer:
                type: string
                title: signer address
              params:
                description: >-
                  params defines the 27-interchain-accounts/controller
                  parameters to update.


                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  controller_enabled:
                    type: boolean
                    description: >-
                      controller_enabled enables or disables the controller
                      submodule.
            title: MsgUpdateParams defines the payload for Msg/UpdateParams
      tags:
        - Msg
  /ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams:
    post:
      summary: UpdateParams defines a rpc handler for MsgUpdateParams.
      operationId: IbcApplicationsInterchainAccountsHostV1Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              signer:
                type: string
                title: signer address
              params:
                description: >-
                  params defines the 27-interchain-accounts/host parameters to
                  update.


                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  host_enabled:
                    type: boolean
                    description: host_enabled enables or disables the host submodule.
                  allow_messages:
                    type: array
                    items:
                      type: string
                    description: >-
                      allow_messages defines a list of sdk message typeURLs
                      allowed to be executed on a host chain.
            title: MsgUpdateParams defines the payload for Msg/UpdateParams
      tags:
        - Msg
  /ibc.core.client.v1.Msg/CreateClient:
    post:
      summary: CreateClient defines a rpc handler method for MsgCreateClient.
      operationId: IbcCoreClientV1Msg_CreateClient
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgCreateClientResponse defines the Msg/CreateClient response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              client_state:
                title: light client state
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              consensus_state:
                description: >-
                  consensus state associated with the client that corresponds to
                  a given

                  height.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
              signer:
                type: string
                title: signer address
            title: MsgCreateClient defines a message to create an IBC client
      tags:
        - Msg
  /ibc.core.client.v1.Msg/IBCSoftwareUpgrade:
    post:
      summary: >-
        IBCSoftwareUpgrade defines a rpc handler method for
        MsgIBCSoftwareUpgrade.
      operationId: IbcCoreClientV1Msg_IBCSoftwareUpgrade
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              plan:
                type: object
                properties:
                  name:
                    type: string
                    description: >-
                      Sets the name for the upgrade. This name will be used by
                      the upgraded

                      version of the software to apply any special "on-upgrade"
                      commands during

                      the first BeginBlock method after the upgrade is applied.
                      It is also used

                      to detect whether a software version can handle a given
                      upgrade. If no

                      upgrade handler with this name has been set in the
                      software, it will be

                      assumed that the software is out-of-date when the upgrade
                      Time or Height is

                      reached and the software will exit.
                  time:
                    type: string
                    format: date-time
                    description: >-
                      Deprecated: Time based upgrades have been deprecated. Time
                      based upgrade logic

                      has been removed from the SDK.

                      If this field is not empty, an error will be thrown.
                  height:
                    type: string
                    format: int64
                    description: The height at which the upgrade must be performed.
                  info:
                    type: string
                    title: >-
                      Any application specific upgrade info to be included
                      on-chain

                      such as a git commit that validators could automatically
                      upgrade to
                  upgraded_client_state:
                    description: >-
                      Deprecated: UpgradedClientState field has been deprecated.
                      IBC upgrade logic has been

                      moved to the IBC module in the sub module 02-client.

                      If this field is not empty, an error will be thrown.
                    type: object
                    properties:
                      '@type':
                        type: string
                        description: >-
                          A URL/resource name that uniquely identifies the type
                          of the serialized

                          protocol buffer message. This string must contain at
                          least

                          one "/" character. The last segment of the URL's path
                          must represent

                          the fully qualified name of the type (as in

                          `path/google.protobuf.Duration`). The name should be
                          in a canonical form

                          (e.g., leading "." is not accepted).


                          In practice, teams usually precompile into the binary
                          all types that they

                          expect it to use in the context of Any. However, for
                          URLs which use the

                          scheme `http`, `https`, or no scheme, one can
                          optionally set up a type

                          server that maps type URLs to message definitions as
                          follows:


                          * If no scheme is provided, `https` is assumed.

                          * An HTTP GET on the URL must yield a
                          [google.protobuf.Type][]
                            value in binary format, or produce an error.
                          * Applications are allowed to cache lookup results
                          based on the
                            URL, or have them precompiled into a binary to avoid any
                            lookup. Therefore, binary compatibility needs to be preserved
                            on changes to types. (Use versioned type names to manage
                            breaking changes.)

                          Note: this functionality is not currently available in
                          the official

                          protobuf release, and it is not used for type URLs
                          beginning with

                          type.googleapis.com. As of May 2023, there are no
                          widely used type server

                          implementations and no plans to implement one.


                          Schemes other than `http`, `https` (or the empty
                          scheme) might be

                          used with implementation specific semantics.
                    additionalProperties: {}
                description: >-
                  Plan specifies information about a planned upgrade and when it
                  should occur.
              upgraded_client_state:
                description: >-
                  An UpgradedClientState must be provided to perform an IBC
                  breaking upgrade.

                  This will make the chain commit to the correct upgraded (self)
                  client state

                  before the upgrade occurs, so that connecting chains can
                  verify that the

                  new upgraded client is valid by verifying a proof on the
                  previous version

                  of the chain. This will allow IBC connections to persist
                  smoothly across

                  planned chain upgrades. Correspondingly, the
                  UpgradedClientState field has been

                  deprecated in the Cosmos SDK to allow for this logic to exist
                  solely in

                  the 02-client module.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
              signer:
                type: string
                title: signer address
            title: >-
              MsgIBCSoftwareUpgrade defines the message used to schedule an
              upgrade of an IBC client using a v1 governance proposal
      tags:
        - Msg
  /ibc.core.client.v1.Msg/RecoverClient:
    post:
      summary: RecoverClient defines a rpc handler method for MsgRecoverClient.
      operationId: IbcCoreClientV1Msg_RecoverClient
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgRecoverClientResponse defines the Msg/RecoverClient response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgRecoverClient defines the message used to recover a frozen or
            expired client.
          in: body
          required: true
          schema:
            type: object
            properties:
              subject_client_id:
                type: string
                title: >-
                  the client identifier for the client to be updated if the
                  proposal passes
              substitute_client_id:
                type: string
                title: >-
                  the substitute client identifier for the client which will
                  replace the subject

                  client
              signer:
                type: string
                title: signer address
            description: >-
              MsgRecoverClient defines the message used to recover a frozen or
              expired client.
      tags:
        - Msg
  /ibc.core.client.v1.Msg/SubmitMisbehaviour:
    post:
      summary: >-
        SubmitMisbehaviour defines a rpc handler method for
        MsgSubmitMisbehaviour.
      operationId: IbcCoreClientV1Msg_SubmitMisbehaviour
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour
              response

              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence
            for

            light client misbehaviour.

            This message has been deprecated. Use MsgUpdateClient instead.
          in: body
          required: true
          schema:
            type: object
            properties:
              client_id:
                type: string
                title: client unique identifier
              misbehaviour:
                title: misbehaviour used for freezing the light client
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              signer:
                type: string
                title: signer address
            description: >-
              MsgSubmitMisbehaviour defines an sdk.Msg type that submits
              Evidence for

              light client misbehaviour.

              This message has been deprecated. Use MsgUpdateClient instead.
      tags:
        - Msg
  /ibc.core.client.v1.Msg/UpdateClient:
    post:
      summary: UpdateClient defines a rpc handler method for MsgUpdateClient.
      operationId: IbcCoreClientV1Msg_UpdateClient
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateClientResponse defines the Msg/UpdateClient response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgUpdateClient defines an sdk.Msg to update a IBC client state
            using

            the given client message.
          in: body
          required: true
          schema:
            type: object
            properties:
              client_id:
                type: string
                title: client unique identifier
              client_message:
                title: client message to update the light client
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              signer:
                type: string
                title: signer address
            description: >-
              MsgUpdateClient defines an sdk.Msg to update a IBC client state
              using

              the given client message.
      tags:
        - Msg
  /ibc.core.client.v1.Msg/UpdateClientParams:
    post:
      summary: UpdateClientParams defines a rpc handler method for MsgUpdateParams.
      operationId: IbcCoreClientV1Msg_UpdateClientParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgUpdateParamsResponse defines the MsgUpdateParams response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgUpdateParams defines the sdk.Msg type to update the client
            parameters.
          in: body
          required: true
          schema:
            type: object
            properties:
              signer:
                type: string
                title: signer address
              params:
                description: |-
                  params defines the client parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  allowed_clients:
                    type: array
                    items:
                      type: string
                    description: >-
                      allowed_clients defines the list of allowed client state
                      types which can be created

                      and interacted with. If a client type is removed from the
                      allowed clients list, usage

                      of this client will be disabled until it is added again to
                      the list.
            description: >-
              MsgUpdateParams defines the sdk.Msg type to update the client
              parameters.
      tags:
        - Msg
  /ibc.core.client.v1.Msg/UpgradeClient:
    post:
      summary: UpgradeClient defines a rpc handler method for MsgUpgradeClient.
      operationId: IbcCoreClientV1Msg_UpgradeClient
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpgradeClientResponse defines the Msg/UpgradeClient response
              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              client_id:
                type: string
                title: client unique identifier
              client_state:
                title: upgraded client state
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              consensus_state:
                title: >-
                  upgraded consensus state, only contains enough information to
                  serve as a

                  basis of trust in update logic
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              proof_upgrade_client:
                type: string
                format: byte
                title: proof that old chain committed to new client
              proof_upgrade_consensus_state:
                type: string
                format: byte
                title: proof that old chain committed to new consensus state
              signer:
                type: string
                title: signer address
            title: >-
              MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a
              new client

              state
      tags:
        - Msg
  /ibc.core.connection.v1.Msg/ConnectionOpenAck:
    post:
      summary: ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck.
      operationId: IbcCoreConnectionV1Msg_ConnectionOpenAck
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: |-
            MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to
            acknowledge the change of connection state to TRYOPEN on Chain B.
          in: body
          required: true
          schema:
            type: object
            properties:
              connection_id:
                type: string
              counterparty_connection_id:
                type: string
              version:
                type: object
                properties:
                  identifier:
                    type: string
                    title: unique version identifier
                  features:
                    type: array
                    items:
                      type: string
                    title: list of features compatible with the specified identifier
                description: >-
                  Version defines the versioning scheme used to negotiate the
                  IBC verison in

                  the connection handshake.
              client_state:
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              proof_height:
                type: object
                properties:
                  revision_number:
                    type: string
                    format: uint64
                    title: the revision that the client is currently on
                  revision_height:
                    type: string
                    format: uint64
                    title: the height within the given revision
                description: >-
                  Normally the RevisionHeight is incremented at each height
                  while keeping

                  RevisionNumber the same. However some consensus algorithms may
                  choose to

                  reset the height in certain conditions e.g. hard forks,
                  state-machine

                  breaking changes In these cases, the RevisionNumber is
                  incremented so that

                  height continues to be monitonically increasing even as the
                  RevisionHeight

                  gets reset
                title: >-
                  Height is a monotonically increasing data type

                  that can be compared against another Height for the purposes
                  of updating and

                  freezing clients
              proof_try:
                type: string
                format: byte
                title: >-
                  proof of the initialization the connection on Chain B:
                  `UNITIALIZED ->

                  TRYOPEN`
              proof_client:
                type: string
                format: byte
                title: proof of client state included in message
              proof_consensus:
                type: string
                format: byte
                title: proof of client consensus state
              consensus_height:
                type: object
                properties:
                  revision_number:
                    type: string
                    format: uint64
                    title: the revision that the client is currently on
                  revision_height:
                    type: string
                    format: uint64
                    title: the height within the given revision
                description: >-
                  Normally the RevisionHeight is incremented at each height
                  while keeping

                  RevisionNumber the same. However some consensus algorithms may
                  choose to

                  reset the height in certain conditions e.g. hard forks,
                  state-machine

                  breaking changes In these cases, the RevisionNumber is
                  incremented so that

                  height continues to be monitonically increasing even as the
                  RevisionHeight

                  gets reset
                title: >-
                  Height is a monotonically increasing data type

                  that can be compared against another Height for the purposes
                  of updating and

                  freezing clients
              signer:
                type: string
              host_consensus_state_proof:
                type: string
                format: byte
                title: >-
                  optional proof data for host state machines that are unable to
                  introspect their own consensus state
            description: |-
              MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to
              acknowledge the change of connection state to TRYOPEN on Chain B.
      tags:
        - Msg
  /ibc.core.connection.v1.Msg/ConnectionOpenConfirm:
    post:
      summary: |-
        ConnectionOpenConfirm defines a rpc handler method for
        MsgConnectionOpenConfirm.
      operationId: IbcCoreConnectionV1Msg_ConnectionOpenConfirm
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgConnectionOpenConfirmResponse defines the
              Msg/ConnectionOpenConfirm

              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B
            to

            acknowledge the change of connection state to OPEN on Chain A.
          in: body
          required: true
          schema:
            type: object
            properties:
              connection_id:
                type: string
              proof_ack:
                type: string
                format: byte
                title: >-
                  proof for the change of the connection state on Chain A: `INIT
                  -> OPEN`
              proof_height:
                type: object
                properties:
                  revision_number:
                    type: string
                    format: uint64
                    title: the revision that the client is currently on
                  revision_height:
                    type: string
                    format: uint64
                    title: the height within the given revision
                description: >-
                  Normally the RevisionHeight is incremented at each height
                  while keeping

                  RevisionNumber the same. However some consensus algorithms may
                  choose to

                  reset the height in certain conditions e.g. hard forks,
                  state-machine

                  breaking changes In these cases, the RevisionNumber is
                  incremented so that

                  height continues to be monitonically increasing even as the
                  RevisionHeight

                  gets reset
                title: >-
                  Height is a monotonically increasing data type

                  that can be compared against another Height for the purposes
                  of updating and

                  freezing clients
              signer:
                type: string
            description: >-
              MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain
              B to

              acknowledge the change of connection state to OPEN on Chain A.
      tags:
        - Msg
  /ibc.core.connection.v1.Msg/ConnectionOpenInit:
    post:
      summary: >-
        ConnectionOpenInit defines a rpc handler method for
        MsgConnectionOpenInit.
      operationId: IbcCoreConnectionV1Msg_ConnectionOpenInit
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit
              response

              type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgConnectionOpenInit defines the msg sent by an account on Chain A
            to

            initialize a connection with Chain B.
          in: body
          required: true
          schema:
            type: object
            properties:
              client_id:
                type: string
              counterparty:
                type: object
                properties:
                  client_id:
                    type: string
                    description: >-
                      identifies the client on the counterparty chain associated
                      with a given

                      connection.
                  connection_id:
                    type: string
                    description: >-
                      identifies the connection end on the counterparty chain
                      associated with a

                      given connection.
                  prefix:
                    description: commitment merkle prefix of the counterparty chain.
                    type: object
                    properties:
                      key_prefix:
                        type: string
                        format: byte
                    title: >-
                      MerklePrefix is merkle path prefixed to the key.

                      The constructed key from the Path and the key will be
                      append(Path.KeyPath,

                      append(Path.KeyPrefix, key...))
                description: >-
                  Counterparty defines the counterparty chain associated with a
                  connection end.
              version:
                type: object
                properties:
                  identifier:
                    type: string
                    title: unique version identifier
                  features:
                    type: array
                    items:
                      type: string
                    title: list of features compatible with the specified identifier
                description: >-
                  Version defines the versioning scheme used to negotiate the
                  IBC verison in

                  the connection handshake.
              delay_period:
                type: string
                format: uint64
              signer:
                type: string
            description: >-
              MsgConnectionOpenInit defines the msg sent by an account on Chain
              A to

              initialize a connection with Chain B.
      tags:
        - Msg
  /ibc.core.connection.v1.Msg/ConnectionOpenTry:
    post:
      summary: ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry.
      operationId: IbcCoreConnectionV1Msg_ConnectionOpenTry
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry
              response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgConnectionOpenTry defines a msg sent by a Relayer to try to open
            a

            connection on Chain B.
          in: body
          required: true
          schema:
            type: object
            properties:
              client_id:
                type: string
              previous_connection_id:
                type: string
                description: >-
                  Deprecated: this field is unused. Crossing hellos are no
                  longer supported in core IBC.
              client_state:
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              counterparty:
                type: object
                properties:
                  client_id:
                    type: string
                    description: >-
                      identifies the client on the counterparty chain associated
                      with a given

                      connection.
                  connection_id:
                    type: string
                    description: >-
                      identifies the connection end on the counterparty chain
                      associated with a

                      given connection.
                  prefix:
                    description: commitment merkle prefix of the counterparty chain.
                    type: object
                    properties:
                      key_prefix:
                        type: string
                        format: byte
                    title: >-
                      MerklePrefix is merkle path prefixed to the key.

                      The constructed key from the Path and the key will be
                      append(Path.KeyPath,

                      append(Path.KeyPrefix, key...))
                description: >-
                  Counterparty defines the counterparty chain associated with a
                  connection end.
              delay_period:
                type: string
                format: uint64
              counterparty_versions:
                type: array
                items:
                  type: object
                  properties:
                    identifier:
                      type: string
                      title: unique version identifier
                    features:
                      type: array
                      items:
                        type: string
                      title: >-
                        list of features compatible with the specified
                        identifier
                  description: >-
                    Version defines the versioning scheme used to negotiate the
                    IBC verison in

                    the connection handshake.
              proof_height:
                type: object
                properties:
                  revision_number:
                    type: string
                    format: uint64
                    title: the revision that the client is currently on
                  revision_height:
                    type: string
                    format: uint64
                    title: the height within the given revision
                description: >-
                  Normally the RevisionHeight is incremented at each height
                  while keeping

                  RevisionNumber the same. However some consensus algorithms may
                  choose to

                  reset the height in certain conditions e.g. hard forks,
                  state-machine

                  breaking changes In these cases, the RevisionNumber is
                  incremented so that

                  height continues to be monitonically increasing even as the
                  RevisionHeight

                  gets reset
                title: >-
                  Height is a monotonically increasing data type

                  that can be compared against another Height for the purposes
                  of updating and

                  freezing clients
              proof_init:
                type: string
                format: byte
                title: >-
                  proof of the initialization the connection on Chain A:
                  `UNITIALIZED ->

                  INIT`
              proof_client:
                type: string
                format: byte
                title: proof of client state included in message
              proof_consensus:
                type: string
                format: byte
                title: proof of client consensus state
              consensus_height:
                type: object
                properties:
                  revision_number:
                    type: string
                    format: uint64
                    title: the revision that the client is currently on
                  revision_height:
                    type: string
                    format: uint64
                    title: the height within the given revision
                description: >-
                  Normally the RevisionHeight is incremented at each height
                  while keeping

                  RevisionNumber the same. However some consensus algorithms may
                  choose to

                  reset the height in certain conditions e.g. hard forks,
                  state-machine

                  breaking changes In these cases, the RevisionNumber is
                  incremented so that

                  height continues to be monitonically increasing even as the
                  RevisionHeight

                  gets reset
                title: >-
                  Height is a monotonically increasing data type

                  that can be compared against another Height for the purposes
                  of updating and

                  freezing clients
              signer:
                type: string
              host_consensus_state_proof:
                type: string
                format: byte
                title: >-
                  optional proof data for host state machines that are unable to
                  introspect their own consensus state
            description: >-
              MsgConnectionOpenTry defines a msg sent by a Relayer to try to
              open a

              connection on Chain B.
      tags:
        - Msg
  /ibc.core.connection.v1.Msg/UpdateConnectionParams:
    post:
      summary: |-
        UpdateConnectionParams defines a rpc handler method for
        MsgUpdateParams.
      operationId: IbcCoreConnectionV1Msg_UpdateConnectionParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgUpdateParamsResponse defines the MsgUpdateParams response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: >-
            MsgUpdateParams defines the sdk.Msg type to update the connection
            parameters.
          in: body
          required: true
          schema:
            type: object
            properties:
              signer:
                type: string
                title: signer address
              params:
                description: |-
                  params defines the connection parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
                properties:
                  max_expected_time_per_block:
                    type: string
                    format: uint64
                    description: >-
                      maximum expected time per block (in nanoseconds), used to
                      enforce block delay. This parameter should reflect the

                      largest amount of time that the chain might reasonably
                      take to produce the next block under normal operating

                      conditions. A safe choice is 3-5x the expected time per
                      block.
            description: >-
              MsgUpdateParams defines the sdk.Msg type to update the connection
              parameters.
      tags:
        - Msg
  /warden.gmp.Msg/Bridge:
    post:
      summary: Bridge relays Warden data via GMP.
      operationId: WardenGmpMsg_Bridge
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgBridge defines the Bridge response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: MsgBridge defines the Bridge message type.
          in: body
          required: true
          schema:
            type: object
            properties:
              relayer:
                type: string
                description: relayer is the address that signs the message.
              destination_chain:
                type: string
                description: >-
                  destination_chain defines the chain which this will be relayed
                  to.
              warden_contract_address:
                type: string
                description: >-
                  warden_contract_address defines the warden contract that GMP
                  is calling.
              destination_contract_address:
                type: string
                description: >-
                  destination_contract_address defines the destination contract
                  that warden is calling.
              destination_contract_calldata:
                type: string
                format: byte
                description: destination_contract_calldata defines the command to call.
              token:
                description: >-
                  token determines the IBC token that the user wants to relay
                  via GMP.
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
            description: MsgBridge defines the Bridge message type.
      tags:
        - Msg
  /warden.gmp.Msg/SetParams:
    post:
      summary: SetParams sets the parameters for the gmp module.
      operationId: WardenGmpMsg_SetParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: MsgSetParamsResponse defines the SetParams response type.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                  additionalProperties: {}
      parameters:
        - name: body
          description: MsgSetParams defines the SetParams message type.
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: address that controls the module (defaults to x/gov).
              params:
                description: params defines the gmp parameters to update.
                type: object
                properties:
                  gmp_address:
                    type: string
                    description: The axelar address that we'll send IBC transactions to.
                  gmp_channel:
                    type: string
                    description: The channel over which we communicate with axelar.
                  gmp_timeout:
                    type: string
                    format: int64
                    description: >-
                      The amount of time we'll wait for a response from axelar
                      before timing out.
                  fee_recipient:
                    type: string
                    description: The axelar address of the fee recipient.
            description: MsgSetParams defines the SetParams message type.
      tags:
        - Msg
  /warden.intent.Msg/ApproveAction:
    post:
      summary: Add an approval to an existing Action.
      operationId: WardenIntentMsg_ApproveAction
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              status:
                type: string
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              action_type:
                type: string
              action_id:
                type: string
                format: uint64
      tags:
        - Msg
  /warden.intent.Msg/NewAction:
    post:
      summary: NewAction creates a new Action.
      operationId: WardenIntentMsg_NewAction
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              id:
                type: string
                format: uint64
                description: id is the unique id of the action.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
                description: creator is the address of the requester of this action.
              message:
                description: >-
                  message is the arbitrary message to be executed when the
                  action is ready.
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
              action_timeout_height:
                type: string
                format: uint64
                description: >-
                  action_timeout_height is the block height up until this action
                  can be executed.
      tags:
        - Msg
  /warden.intent.Msg/NewIntent:
    post:
      summary: Create a new intent.
      operationId: WardenIntentMsg_NewIntent
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              id:
                type: string
                format: uint64
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              name:
                type: string
              definition:
                type: string
      tags:
        - Msg
  /warden.intent.Msg/RevokeAction:
    post:
      summary: Revoke an existing Action while in pending state.
      operationId: WardenIntentMsg_RevokeAction
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              action_type:
                type: string
              action_id:
                type: string
                format: uint64
      tags:
        - Msg
  /warden.intent.Msg/UpdateIntent:
    post:
      summary: Update an existing intent name and definition.
      operationId: WardenIntentMsg_UpdateIntent
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              id:
                type: string
                format: uint64
              name:
                type: string
              definition:
                type: string
      tags:
        - Msg
  /warden.intent.Msg/UpdateParams:
    post:
      summary: |-
        UpdateParams defines a (governance) operation for updating the module
        parameters. The authority defaults to the x/gov module account.
      operationId: WardenIntentMsg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: MsgUpdateParams is the Msg/UpdateParams request type.
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: 'NOTE: All parameters must be supplied.'
                type: object
            description: MsgUpdateParams is the Msg/UpdateParams request type.
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/AddKeychainParty:
    post:
      summary: |-
        Add a new party to a keychain. Transactions coming from this party will
        be considered trusted by the keychain.
      operationId: WardenWardenV1Beta2Msg_AddKeychainParty
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              keychain_id:
                type: string
                format: uint64
              party:
                type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/AddSpaceOwner:
    post:
      summary: Add a new owner to a space.
      operationId: WardenWardenV1Beta2Msg_AddSpaceOwner
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
              space_id:
                type: string
                format: uint64
              new_owner:
                type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/FulfilSignRequest:
    post:
      summary: Fulfill a signature request
      operationId: WardenWardenV1Beta2Msg_FulfilSignRequest
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              request_id:
                type: string
                format: uint64
              status:
                type: string
                enum:
                  - SIGN_REQUEST_STATUS_UNSPECIFIED
                  - SIGN_REQUEST_STATUS_PENDING
                  - SIGN_REQUEST_STATUS_FULFILLED
                  - SIGN_REQUEST_STATUS_REJECTED
                default: SIGN_REQUEST_STATUS_UNSPECIFIED
                description: >-
                  SignRequestStatus indicates the status of a signature request.

                  A request starts as "pending", waiting to be picked up. Then
                  it can move to

                  either "approved" or "rejected", depending on the decision of
                  the keychain.

                   - SIGN_REQUEST_STATUS_UNSPECIFIED: The request is missing the status field.
                   - SIGN_REQUEST_STATUS_PENDING: The request is waiting to be fulfilled. This is the initial state of a
                  request.
                   - SIGN_REQUEST_STATUS_FULFILLED: The request was fulfilled. This is a final state for a request.
                   - SIGN_REQUEST_STATUS_REJECTED: The request was rejected. This is a final state for a request.
              payload:
                type: object
                properties:
                  signed_data:
                    type: string
                    format: byte
              reject_reason:
                type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/NewKeyRequest:
    post:
      summary: |-
        Request a new key to a keychain, the key will belong to the specified
        space.
      operationId: WardenWardenV1Beta2Msg_NewKeyRequest
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              id:
                type: string
                format: uint64
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
              space_id:
                type: string
                format: uint64
              keychain_id:
                type: string
                format: uint64
              key_type:
                type: string
                enum:
                  - KEY_TYPE_UNSPECIFIED
                  - KEY_TYPE_ECDSA_SECP256K1
                  - KEY_TYPE_EDDSA_ED25519
                default: KEY_TYPE_UNSPECIFIED
                description: >-
                  KeyType indicates what crypto scheme will be used by this key
                  (e.g.

                  ECDSA). Its public key will be one of the specified type.

                   - KEY_TYPE_UNSPECIFIED: The key type is missing.
                   - KEY_TYPE_ECDSA_SECP256K1: The key is an ECDSA secp256k1 key.
                   - KEY_TYPE_EDDSA_ED25519: The key is an EdDSA Ed25519 key.
              intent_id:
                type: string
                format: uint64
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/NewKeychain:
    post:
      summary: Create a new keychain. The user will be the first admin of the keychain.
      operationId: WardenWardenV1Beta2Msg_NewKeychain
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              id:
                type: string
                format: uint64
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              description:
                type: string
              admin_intent_id:
                type: string
                format: uint64
              keychain_fees:
                type: object
                properties:
                  key_req:
                    type: string
                    format: int64
                  sig_req:
                    type: string
                    format: int64
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/NewSignRequest:
    post:
      summary: Request a new signature
      operationId: WardenWardenV1Beta2Msg_NewSignRequest
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              id:
                type: string
                format: uint64
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
              key_id:
                type: string
                format: uint64
              input:
                type: string
                format: byte
              sign_method:
                type: string
                enum:
                  - SIGN_METHOD_BLACK_BOX
                  - SIGN_METHOD_ETH
                  - SIGN_METHOD_OSMOSIS
                default: SIGN_METHOD_BLACK_BOX
                description: >-
                  SignMethod specifies what method of the protocol should be
                  used for parsing

                  the data to be signed.

                   - SIGN_METHOD_BLACK_BOX: Sign method black box means that the input will be used as-is.
                   - SIGN_METHOD_ETH: Sign method ETH means that the input will be parsed as an Ethereum
                  transaction.
                   - SIGN_METHOD_OSMOSIS: Sign method Osmosis means that the input will be parsed as an Osmosis
                  transaction.
              metadata:
                type: object
                properties:
                  '@type':
                    type: string
                    description: >-
                      A URL/resource name that uniquely identifies the type of
                      the serialized

                      protocol buffer message. This string must contain at least

                      one "/" character. The last segment of the URL's path must
                      represent

                      the fully qualified name of the type (as in

                      `path/google.protobuf.Duration`). The name should be in a
                      canonical form

                      (e.g., leading "." is not accepted).


                      In practice, teams usually precompile into the binary all
                      types that they

                      expect it to use in the context of Any. However, for URLs
                      which use the

                      scheme `http`, `https`, or no scheme, one can optionally
                      set up a type

                      server that maps type URLs to message definitions as
                      follows:


                      * If no scheme is provided, `https` is assumed.

                      * An HTTP GET on the URL must yield a
                      [google.protobuf.Type][]
                        value in binary format, or produce an error.
                      * Applications are allowed to cache lookup results based
                      on the
                        URL, or have them precompiled into a binary to avoid any
                        lookup. Therefore, binary compatibility needs to be preserved
                        on changes to types. (Use versioned type names to manage
                        breaking changes.)

                      Note: this functionality is not currently available in the
                      official

                      protobuf release, and it is not used for type URLs
                      beginning with

                      type.googleapis.com. As of May 2023, there are no widely
                      used type server

                      implementations and no plans to implement one.


                      Schemes other than `http`, `https` (or the empty scheme)
                      might be

                      used with implementation specific semantics.
                additionalProperties: {}
                description: >-
                  `Any` contains an arbitrary serialized protocol buffer message
                  along with a

                  URL that describes the type of the serialized message.


                  Protobuf library provides support to pack/unpack Any values in
                  the form

                  of utility functions or additional generated methods of the
                  Any type.


                  Example 1: Pack and unpack a message in C++.

                      Foo foo = ...;
                      Any any;
                      any.PackFrom(foo);
                      ...
                      if (any.UnpackTo(&foo)) {
                        ...
                      }

                  Example 2: Pack and unpack a message in Java.

                      Foo foo = ...;
                      Any any = Any.pack(foo);
                      ...
                      if (any.is(Foo.class)) {
                        foo = any.unpack(Foo.class);
                      }
                      // or ...
                      if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                        foo = any.unpack(Foo.getDefaultInstance());
                      }

                   Example 3: Pack and unpack a message in Python.

                      foo = Foo(...)
                      any = Any()
                      any.Pack(foo)
                      ...
                      if any.Is(Foo.DESCRIPTOR):
                        any.Unpack(foo)
                        ...

                   Example 4: Pack and unpack a message in Go

                       foo := &pb.Foo{...}
                       any, err := anypb.New(foo)
                       if err != nil {
                         ...
                       }
                       ...
                       foo := &pb.Foo{}
                       if err := any.UnmarshalTo(foo); err != nil {
                         ...
                       }

                  The pack methods provided by protobuf library will by default
                  use

                  'type.googleapis.com/full.type.name' as the type URL and the
                  unpack

                  methods only use the fully qualified type name after the last
                  '/'

                  in the type URL, for example "foo.bar.com/x/y.z" will yield
                  type

                  name "y.z".


                  JSON

                  ====

                  The JSON representation of an `Any` value uses the regular

                  representation of the deserialized, embedded message, with an

                  additional field `@type` which contains the type URL. Example:

                      package google.profile;
                      message Person {
                        string first_name = 1;
                        string last_name = 2;
                      }

                      {
                        "@type": "type.googleapis.com/google.profile.Person",
                        "firstName": <string>,
                        "lastName": <string>
                      }

                  If the embedded message type is well-known and has a custom
                  JSON

                  representation, that representation will be embedded adding a
                  field

                  `value` which holds the custom JSON in addition to the `@type`

                  field. Example (for message [google.protobuf.Duration][]):

                      {
                        "@type": "type.googleapis.com/google.protobuf.Duration",
                        "value": "1.212s"
                      }
              analyzers:
                type: array
                items:
                  type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/NewSpace:
    post:
      summary: Create a new Space. The creator will be the first owner of the Space.
      operationId: WardenWardenV1Beta2Msg_NewSpace
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            properties:
              id:
                type: string
                format: uint64
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              admin_intent_id:
                type: string
                format: uint64
              sign_intent_id:
                type: string
                format: uint64
              additional_owners:
                type: array
                items:
                  type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/RemoveSpaceOwner:
    post:
      summary: |-
        Remove an owner from the space. The user can remove itself, but at
        least one owner must be left.
      operationId: WardenWardenV1Beta2Msg_RemoveSpaceOwner
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
              space_id:
                type: string
                format: uint64
              owner:
                type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/UpdateKey:
    post:
      summary: Update informations of a Key.
      operationId: WardenWardenV1Beta2Msg_UpdateKey
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
              key_id:
                type: string
                format: uint64
              intent_id:
                type: string
                format: uint64
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/UpdateKeyRequest:
    post:
      summary: |-
        Update an existing request by writing a result into it. This method is
        called by a keychain party.
      operationId: WardenWardenV1Beta2Msg_UpdateKeyRequest
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              request_id:
                type: string
                format: uint64
              status:
                type: string
                enum:
                  - KEY_REQUEST_STATUS_UNSPECIFIED
                  - KEY_REQUEST_STATUS_PENDING
                  - KEY_REQUEST_STATUS_FULFILLED
                  - KEY_REQUEST_STATUS_REJECTED
                default: KEY_REQUEST_STATUS_UNSPECIFIED
                description: >-
                  KeyRequestStatus indicates the status of a key request.

                  A request starts as "pending", waiting to be picked up. Then
                  it can move to

                  either "approved" or "rejected", depending on the decision of
                  the keychain.

                   - KEY_REQUEST_STATUS_UNSPECIFIED: The request is missing the status field.
                   - KEY_REQUEST_STATUS_PENDING: The request is waiting to be fulfilled. This is the initial state of a
                  request.
                   - KEY_REQUEST_STATUS_FULFILLED: The request was fulfilled. This is a final state for a request.
                   - KEY_REQUEST_STATUS_REJECTED: The request was rejected. This is a final state for a request.
              key:
                type: object
                properties:
                  public_key:
                    type: string
                    format: byte
              reject_reason:
                type: string
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/UpdateKeychain:
    post:
      summary: Update a keychain, e.g. update the status or description.
      operationId: WardenWardenV1Beta2Msg_UpdateKeychain
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              creator:
                type: string
              keychain_id:
                type: string
                format: uint64
              description:
                type: string
              is_active:
                type: boolean
              keychain_fees:
                type: object
                properties:
                  key_req:
                    type: string
                    format: int64
                  sig_req:
                    type: string
                    format: int64
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/UpdateParams:
    post:
      summary: |-
        UpdateParams defines a (governance) operation for updating the module
        parameters. The authority defaults to the x/gov module account.
      operationId: WardenWardenV1Beta2Msg_UpdateParams
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
            description: >-
              MsgUpdateParamsResponse defines the response structure for
              executing a

              MsgUpdateParams message.
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          description: MsgUpdateParams is the Msg/UpdateParams request type.
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
                description: >-
                  authority is the address that controls the module (defaults to
                  x/gov unless overwritten).
              params:
                description: |-
                  params defines the module parameters to update.

                  NOTE: All parameters must be supplied.
                type: object
            description: MsgUpdateParams is the Msg/UpdateParams request type.
      tags:
        - Msg
  /warden.warden.v1beta2.Msg/UpdateSpace:
    post:
      summary: Update a space, e.g. changing the intents in use.
      operationId: WardenWardenV1Beta2Msg_UpdateSpace
      responses:
        '200':
          description: A successful response.
          schema:
            type: object
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    '@type':
                      type: string
                      description: >-
                        A URL/resource name that uniquely identifies the type of
                        the serialized

                        protocol buffer message. This string must contain at
                        least

                        one "/" character. The last segment of the URL's path
                        must represent

                        the fully qualified name of the type (as in

                        `path/google.protobuf.Duration`). The name should be in
                        a canonical form

                        (e.g., leading "." is not accepted).


                        In practice, teams usually precompile into the binary
                        all types that they

                        expect it to use in the context of Any. However, for
                        URLs which use the

                        scheme `http`, `https`, or no scheme, one can optionally
                        set up a type

                        server that maps type URLs to message definitions as
                        follows:


                        * If no scheme is provided, `https` is assumed.

                        * An HTTP GET on the URL must yield a
                        [google.protobuf.Type][]
                          value in binary format, or produce an error.
                        * Applications are allowed to cache lookup results based
                        on the
                          URL, or have them precompiled into a binary to avoid any
                          lookup. Therefore, binary compatibility needs to be preserved
                          on changes to types. (Use versioned type names to manage
                          breaking changes.)

                        Note: this functionality is not currently available in
                        the official

                        protobuf release, and it is not used for type URLs
                        beginning with

                        type.googleapis.com. As of May 2023, there are no widely
                        used type server

                        implementations and no plans to implement one.


                        Schemes other than `http`, `https` (or the empty scheme)
                        might be

                        used with implementation specific semantics.
                  additionalProperties: {}
                  description: >-
                    `Any` contains an arbitrary serialized protocol buffer
                    message along with a

                    URL that describes the type of the serialized message.


                    Protobuf library provides support to pack/unpack Any values
                    in the form

                    of utility functions or additional generated methods of the
                    Any type.


                    Example 1: Pack and unpack a message in C++.

                        Foo foo = ...;
                        Any any;
                        any.PackFrom(foo);
                        ...
                        if (any.UnpackTo(&foo)) {
                          ...
                        }

                    Example 2: Pack and unpack a message in Java.

                        Foo foo = ...;
                        Any any = Any.pack(foo);
                        ...
                        if (any.is(Foo.class)) {
                          foo = any.unpack(Foo.class);
                        }
                        // or ...
                        if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                          foo = any.unpack(Foo.getDefaultInstance());
                        }

                     Example 3: Pack and unpack a message in Python.

                        foo = Foo(...)
                        any = Any()
                        any.Pack(foo)
                        ...
                        if any.Is(Foo.DESCRIPTOR):
                          any.Unpack(foo)
                          ...

                     Example 4: Pack and unpack a message in Go

                         foo := &pb.Foo{...}
                         any, err := anypb.New(foo)
                         if err != nil {
                           ...
                         }
                         ...
                         foo := &pb.Foo{}
                         if err := any.UnmarshalTo(foo); err != nil {
                           ...
                         }

                    The pack methods provided by protobuf library will by
                    default use

                    'type.googleapis.com/full.type.name' as the type URL and the
                    unpack

                    methods only use the fully qualified type name after the
                    last '/'

                    in the type URL, for example "foo.bar.com/x/y.z" will yield
                    type

                    name "y.z".


                    JSON

                    ====

                    The JSON representation of an `Any` value uses the regular

                    representation of the deserialized, embedded message, with
                    an

                    additional field `@type` which contains the type URL.
                    Example:

                        package google.profile;
                        message Person {
                          string first_name = 1;
                          string last_name = 2;
                        }

                        {
                          "@type": "type.googleapis.com/google.profile.Person",
                          "firstName": <string>,
                          "lastName": <string>
                        }

                    If the embedded message type is well-known and has a custom
                    JSON

                    representation, that representation will be embedded adding
                    a field

                    `value` which holds the custom JSON in addition to the
                    `@type`

                    field. Example (for message [google.protobuf.Duration][]):

                        {
                          "@type": "type.googleapis.com/google.protobuf.Duration",
                          "value": "1.212s"
                        }
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: object
            properties:
              authority:
                type: string
              space_id:
                type: string
                format: uint64
              admin_intent_id:
                type: string
                format: uint64
              sign_intent_id:
                type: string
                format: uint64
      tags:
        - Msg
definitions:
  cosmos.auth.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/auth parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          max_memo_characters:
            type: string
            format: uint64
          tx_sig_limit:
            type: string
            format: uint64
          tx_size_cost_per_byte:
            type: string
            format: uint64
          sig_verify_cost_ed25519:
            type: string
            format: uint64
          sig_verify_cost_secp256k1:
            type: string
            format: uint64
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.auth.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.auth.v1beta1.Params:
    type: object
    properties:
      max_memo_characters:
        type: string
        format: uint64
      tx_sig_limit:
        type: string
        format: uint64
      tx_size_cost_per_byte:
        type: string
        format: uint64
      sig_verify_cost_ed25519:
        type: string
        format: uint64
      sig_verify_cost_secp256k1:
        type: string
        format: uint64
    description: Params defines the parameters for the auth module.
  google.protobuf.Any:
    type: object
    properties:
      '@type':
        type: string
        description: >-
          A URL/resource name that uniquely identifies the type of the
          serialized

          protocol buffer message. This string must contain at least

          one "/" character. The last segment of the URL's path must represent

          the fully qualified name of the type (as in

          `path/google.protobuf.Duration`). The name should be in a canonical
          form

          (e.g., leading "." is not accepted).


          In practice, teams usually precompile into the binary all types that
          they

          expect it to use in the context of Any. However, for URLs which use
          the

          scheme `http`, `https`, or no scheme, one can optionally set up a type

          server that maps type URLs to message definitions as follows:


          * If no scheme is provided, `https` is assumed.

          * An HTTP GET on the URL must yield a [google.protobuf.Type][]
            value in binary format, or produce an error.
          * Applications are allowed to cache lookup results based on the
            URL, or have them precompiled into a binary to avoid any
            lookup. Therefore, binary compatibility needs to be preserved
            on changes to types. (Use versioned type names to manage
            breaking changes.)

          Note: this functionality is not currently available in the official

          protobuf release, and it is not used for type URLs beginning with

          type.googleapis.com. As of May 2023, there are no widely used type
          server

          implementations and no plans to implement one.


          Schemes other than `http`, `https` (or the empty scheme) might be

          used with implementation specific semantics.
    additionalProperties: {}
    description: >-
      `Any` contains an arbitrary serialized protocol buffer message along with
      a

      URL that describes the type of the serialized message.


      Protobuf library provides support to pack/unpack Any values in the form

      of utility functions or additional generated methods of the Any type.


      Example 1: Pack and unpack a message in C++.

          Foo foo = ...;
          Any any;
          any.PackFrom(foo);
          ...
          if (any.UnpackTo(&foo)) {
            ...
          }

      Example 2: Pack and unpack a message in Java.

          Foo foo = ...;
          Any any = Any.pack(foo);
          ...
          if (any.is(Foo.class)) {
            foo = any.unpack(Foo.class);
          }
          // or ...
          if (any.isSameTypeAs(Foo.getDefaultInstance())) {
            foo = any.unpack(Foo.getDefaultInstance());
          }

       Example 3: Pack and unpack a message in Python.

          foo = Foo(...)
          any = Any()
          any.Pack(foo)
          ...
          if any.Is(Foo.DESCRIPTOR):
            any.Unpack(foo)
            ...

       Example 4: Pack and unpack a message in Go

           foo := &pb.Foo{...}
           any, err := anypb.New(foo)
           if err != nil {
             ...
           }
           ...
           foo := &pb.Foo{}
           if err := any.UnmarshalTo(foo); err != nil {
             ...
           }

      The pack methods provided by protobuf library will by default use

      'type.googleapis.com/full.type.name' as the type URL and the unpack

      methods only use the fully qualified type name after the last '/'

      in the type URL, for example "foo.bar.com/x/y.z" will yield type

      name "y.z".


      JSON

      ====

      The JSON representation of an `Any` value uses the regular

      representation of the deserialized, embedded message, with an

      additional field `@type` which contains the type URL. Example:

          package google.profile;
          message Person {
            string first_name = 1;
            string last_name = 2;
          }

          {
            "@type": "type.googleapis.com/google.profile.Person",
            "firstName": <string>,
            "lastName": <string>
          }

      If the embedded message type is well-known and has a custom JSON

      representation, that representation will be embedded adding a field

      `value` which holds the custom JSON in addition to the `@type`

      field. Example (for message [google.protobuf.Duration][]):

          {
            "@type": "type.googleapis.com/google.protobuf.Duration",
            "value": "1.212s"
          }
  google.rpc.Status:
    type: object
    properties:
      code:
        type: integer
        format: int32
      message:
        type: string
      details:
        type: array
        items:
          type: object
          properties:
            '@type':
              type: string
              description: >-
                A URL/resource name that uniquely identifies the type of the
                serialized

                protocol buffer message. This string must contain at least

                one "/" character. The last segment of the URL's path must
                represent

                the fully qualified name of the type (as in

                `path/google.protobuf.Duration`). The name should be in a
                canonical form

                (e.g., leading "." is not accepted).


                In practice, teams usually precompile into the binary all types
                that they

                expect it to use in the context of Any. However, for URLs which
                use the

                scheme `http`, `https`, or no scheme, one can optionally set up
                a type

                server that maps type URLs to message definitions as follows:


                * If no scheme is provided, `https` is assumed.

                * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                  value in binary format, or produce an error.
                * Applications are allowed to cache lookup results based on the
                  URL, or have them precompiled into a binary to avoid any
                  lookup. Therefore, binary compatibility needs to be preserved
                  on changes to types. (Use versioned type names to manage
                  breaking changes.)

                Note: this functionality is not currently available in the
                official

                protobuf release, and it is not used for type URLs beginning
                with

                type.googleapis.com. As of May 2023, there are no widely used
                type server

                implementations and no plans to implement one.


                Schemes other than `http`, `https` (or the empty scheme) might
                be

                used with implementation specific semantics.
          additionalProperties: {}
          description: >-
            `Any` contains an arbitrary serialized protocol buffer message along
            with a

            URL that describes the type of the serialized message.


            Protobuf library provides support to pack/unpack Any values in the
            form

            of utility functions or additional generated methods of the Any
            type.


            Example 1: Pack and unpack a message in C++.

                Foo foo = ...;
                Any any;
                any.PackFrom(foo);
                ...
                if (any.UnpackTo(&foo)) {
                  ...
                }

            Example 2: Pack and unpack a message in Java.

                Foo foo = ...;
                Any any = Any.pack(foo);
                ...
                if (any.is(Foo.class)) {
                  foo = any.unpack(Foo.class);
                }
                // or ...
                if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                  foo = any.unpack(Foo.getDefaultInstance());
                }

             Example 3: Pack and unpack a message in Python.

                foo = Foo(...)
                any = Any()
                any.Pack(foo)
                ...
                if any.Is(Foo.DESCRIPTOR):
                  any.Unpack(foo)
                  ...

             Example 4: Pack and unpack a message in Go

                 foo := &pb.Foo{...}
                 any, err := anypb.New(foo)
                 if err != nil {
                   ...
                 }
                 ...
                 foo := &pb.Foo{}
                 if err := any.UnmarshalTo(foo); err != nil {
                   ...
                 }

            The pack methods provided by protobuf library will by default use

            'type.googleapis.com/full.type.name' as the type URL and the unpack

            methods only use the fully qualified type name after the last '/'

            in the type URL, for example "foo.bar.com/x/y.z" will yield type

            name "y.z".


            JSON

            ====

            The JSON representation of an `Any` value uses the regular

            representation of the deserialized, embedded message, with an

            additional field `@type` which contains the type URL. Example:

                package google.profile;
                message Person {
                  string first_name = 1;
                  string last_name = 2;
                }

                {
                  "@type": "type.googleapis.com/google.profile.Person",
                  "firstName": <string>,
                  "lastName": <string>
                }

            If the embedded message type is well-known and has a custom JSON

            representation, that representation will be embedded adding a field

            `value` which holds the custom JSON in addition to the `@type`

            field. Example (for message [google.protobuf.Duration][]):

                {
                  "@type": "type.googleapis.com/google.protobuf.Duration",
                  "value": "1.212s"
                }
  cosmos.authz.v1beta1.Grant:
    type: object
    properties:
      authorization:
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      expiration:
        type: string
        format: date-time
        title: >-
          time when the grant will expire and will be pruned. If null, then the
          grant

          doesn't have a time expiration (other conditions  in `authorization`

          may apply to invalidate the grant)
    description: |-
      Grant gives permissions to execute
      the provide method with expiration time.
  cosmos.authz.v1beta1.MsgExec:
    type: object
    properties:
      grantee:
        type: string
      msgs:
        type: array
        items:
          type: object
          properties:
            '@type':
              type: string
              description: >-
                A URL/resource name that uniquely identifies the type of the
                serialized

                protocol buffer message. This string must contain at least

                one "/" character. The last segment of the URL's path must
                represent

                the fully qualified name of the type (as in

                `path/google.protobuf.Duration`). The name should be in a
                canonical form

                (e.g., leading "." is not accepted).


                In practice, teams usually precompile into the binary all types
                that they

                expect it to use in the context of Any. However, for URLs which
                use the

                scheme `http`, `https`, or no scheme, one can optionally set up
                a type

                server that maps type URLs to message definitions as follows:


                * If no scheme is provided, `https` is assumed.

                * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                  value in binary format, or produce an error.
                * Applications are allowed to cache lookup results based on the
                  URL, or have them precompiled into a binary to avoid any
                  lookup. Therefore, binary compatibility needs to be preserved
                  on changes to types. (Use versioned type names to manage
                  breaking changes.)

                Note: this functionality is not currently available in the
                official

                protobuf release, and it is not used for type URLs beginning
                with

                type.googleapis.com. As of May 2023, there are no widely used
                type server

                implementations and no plans to implement one.


                Schemes other than `http`, `https` (or the empty scheme) might
                be

                used with implementation specific semantics.
          additionalProperties: {}
          description: >-
            `Any` contains an arbitrary serialized protocol buffer message along
            with a

            URL that describes the type of the serialized message.


            Protobuf library provides support to pack/unpack Any values in the
            form

            of utility functions or additional generated methods of the Any
            type.


            Example 1: Pack and unpack a message in C++.

                Foo foo = ...;
                Any any;
                any.PackFrom(foo);
                ...
                if (any.UnpackTo(&foo)) {
                  ...
                }

            Example 2: Pack and unpack a message in Java.

                Foo foo = ...;
                Any any = Any.pack(foo);
                ...
                if (any.is(Foo.class)) {
                  foo = any.unpack(Foo.class);
                }
                // or ...
                if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                  foo = any.unpack(Foo.getDefaultInstance());
                }

             Example 3: Pack and unpack a message in Python.

                foo = Foo(...)
                any = Any()
                any.Pack(foo)
                ...
                if any.Is(Foo.DESCRIPTOR):
                  any.Unpack(foo)
                  ...

             Example 4: Pack and unpack a message in Go

                 foo := &pb.Foo{...}
                 any, err := anypb.New(foo)
                 if err != nil {
                   ...
                 }
                 ...
                 foo := &pb.Foo{}
                 if err := any.UnmarshalTo(foo); err != nil {
                   ...
                 }

            The pack methods provided by protobuf library will by default use

            'type.googleapis.com/full.type.name' as the type URL and the unpack

            methods only use the fully qualified type name after the last '/'

            in the type URL, for example "foo.bar.com/x/y.z" will yield type

            name "y.z".


            JSON

            ====

            The JSON representation of an `Any` value uses the regular

            representation of the deserialized, embedded message, with an

            additional field `@type` which contains the type URL. Example:

                package google.profile;
                message Person {
                  string first_name = 1;
                  string last_name = 2;
                }

                {
                  "@type": "type.googleapis.com/google.profile.Person",
                  "firstName": <string>,
                  "lastName": <string>
                }

            If the embedded message type is well-known and has a custom JSON

            representation, that representation will be embedded adding a field

            `value` which holds the custom JSON in addition to the `@type`

            field. Example (for message [google.protobuf.Duration][]):

                {
                  "@type": "type.googleapis.com/google.protobuf.Duration",
                  "value": "1.212s"
                }
        description: >-
          Execute Msg.

          The x/authz will try to find a grant matching (msg.signers[0],
          grantee, MsgTypeURL(msg))

          triple and validate it.
    description: |-
      MsgExec attempts to execute the provided messages using
      authorizations granted to the grantee. Each message should have only
      one signer corresponding to the granter of the authorization.
  cosmos.authz.v1beta1.MsgExecResponse:
    type: object
    properties:
      results:
        type: array
        items:
          type: string
          format: byte
    description: MsgExecResponse defines the Msg/MsgExecResponse response type.
  cosmos.authz.v1beta1.MsgGrant:
    type: object
    properties:
      granter:
        type: string
      grantee:
        type: string
      grant:
        type: object
        properties:
          authorization:
            type: object
            properties:
              '@type':
                type: string
                description: >-
                  A URL/resource name that uniquely identifies the type of the
                  serialized

                  protocol buffer message. This string must contain at least

                  one "/" character. The last segment of the URL's path must
                  represent

                  the fully qualified name of the type (as in

                  `path/google.protobuf.Duration`). The name should be in a
                  canonical form

                  (e.g., leading "." is not accepted).


                  In practice, teams usually precompile into the binary all
                  types that they

                  expect it to use in the context of Any. However, for URLs
                  which use the

                  scheme `http`, `https`, or no scheme, one can optionally set
                  up a type

                  server that maps type URLs to message definitions as follows:


                  * If no scheme is provided, `https` is assumed.

                  * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                    value in binary format, or produce an error.
                  * Applications are allowed to cache lookup results based on
                  the
                    URL, or have them precompiled into a binary to avoid any
                    lookup. Therefore, binary compatibility needs to be preserved
                    on changes to types. (Use versioned type names to manage
                    breaking changes.)

                  Note: this functionality is not currently available in the
                  official

                  protobuf release, and it is not used for type URLs beginning
                  with

                  type.googleapis.com. As of May 2023, there are no widely used
                  type server

                  implementations and no plans to implement one.


                  Schemes other than `http`, `https` (or the empty scheme) might
                  be

                  used with implementation specific semantics.
            additionalProperties: {}
            description: >-
              `Any` contains an arbitrary serialized protocol buffer message
              along with a

              URL that describes the type of the serialized message.


              Protobuf library provides support to pack/unpack Any values in the
              form

              of utility functions or additional generated methods of the Any
              type.


              Example 1: Pack and unpack a message in C++.

                  Foo foo = ...;
                  Any any;
                  any.PackFrom(foo);
                  ...
                  if (any.UnpackTo(&foo)) {
                    ...
                  }

              Example 2: Pack and unpack a message in Java.

                  Foo foo = ...;
                  Any any = Any.pack(foo);
                  ...
                  if (any.is(Foo.class)) {
                    foo = any.unpack(Foo.class);
                  }
                  // or ...
                  if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                    foo = any.unpack(Foo.getDefaultInstance());
                  }

               Example 3: Pack and unpack a message in Python.

                  foo = Foo(...)
                  any = Any()
                  any.Pack(foo)
                  ...
                  if any.Is(Foo.DESCRIPTOR):
                    any.Unpack(foo)
                    ...

               Example 4: Pack and unpack a message in Go

                   foo := &pb.Foo{...}
                   any, err := anypb.New(foo)
                   if err != nil {
                     ...
                   }
                   ...
                   foo := &pb.Foo{}
                   if err := any.UnmarshalTo(foo); err != nil {
                     ...
                   }

              The pack methods provided by protobuf library will by default use

              'type.googleapis.com/full.type.name' as the type URL and the
              unpack

              methods only use the fully qualified type name after the last '/'

              in the type URL, for example "foo.bar.com/x/y.z" will yield type

              name "y.z".


              JSON

              ====

              The JSON representation of an `Any` value uses the regular

              representation of the deserialized, embedded message, with an

              additional field `@type` which contains the type URL. Example:

                  package google.profile;
                  message Person {
                    string first_name = 1;
                    string last_name = 2;
                  }

                  {
                    "@type": "type.googleapis.com/google.profile.Person",
                    "firstName": <string>,
                    "lastName": <string>
                  }

              If the embedded message type is well-known and has a custom JSON

              representation, that representation will be embedded adding a
              field

              `value` which holds the custom JSON in addition to the `@type`

              field. Example (for message [google.protobuf.Duration][]):

                  {
                    "@type": "type.googleapis.com/google.protobuf.Duration",
                    "value": "1.212s"
                  }
          expiration:
            type: string
            format: date-time
            title: >-
              time when the grant will expire and will be pruned. If null, then
              the grant

              doesn't have a time expiration (other conditions  in
              `authorization`

              may apply to invalidate the grant)
        description: |-
          Grant gives permissions to execute
          the provide method with expiration time.
    description: >-
      MsgGrant is a request type for Grant method. It declares authorization to
      the grantee

      on behalf of the granter with the provided expiration time.
  cosmos.authz.v1beta1.MsgGrantResponse:
    type: object
    description: MsgGrantResponse defines the Msg/MsgGrant response type.
  cosmos.authz.v1beta1.MsgRevoke:
    type: object
    properties:
      granter:
        type: string
      grantee:
        type: string
      msg_type_url:
        type: string
    description: |-
      MsgRevoke revokes any authorization with the provided sdk.Msg type on the
      granter's account with that has been granted to the grantee.
  cosmos.authz.v1beta1.MsgRevokeResponse:
    type: object
    description: MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.
  cosmos.bank.v1beta1.Input:
    type: object
    properties:
      address:
        type: string
      coins:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
    description: Input models transaction input.
  cosmos.bank.v1beta1.MsgMultiSend:
    type: object
    properties:
      inputs:
        type: array
        items:
          type: object
          properties:
            address:
              type: string
            coins:
              type: array
              items:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
          description: Input models transaction input.
        description: >-
          Inputs, despite being `repeated`, only allows one sender input. This
          is

          checked in MsgMultiSend's ValidateBasic.
      outputs:
        type: array
        items:
          type: object
          properties:
            address:
              type: string
            coins:
              type: array
              items:
                type: object
                properties:
                  denom:
                    type: string
                  amount:
                    type: string
                description: >-
                  Coin defines a token with a denomination and an amount.


                  NOTE: The amount field is an Int which implements the custom
                  method

                  signatures required by gogoproto.
          description: Output models transaction outputs.
    description: MsgMultiSend represents an arbitrary multi-in, multi-out send message.
  cosmos.bank.v1beta1.MsgMultiSendResponse:
    type: object
    description: MsgMultiSendResponse defines the Msg/MultiSend response type.
  cosmos.bank.v1beta1.MsgSend:
    type: object
    properties:
      from_address:
        type: string
      to_address:
        type: string
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
    description: MsgSend represents a message to send coins from one account to another.
  cosmos.bank.v1beta1.MsgSendResponse:
    type: object
    description: MsgSendResponse defines the Msg/Send response type.
  cosmos.bank.v1beta1.MsgSetSendEnabled:
    type: object
    properties:
      authority:
        type: string
        description: authority is the address that controls the module.
      send_enabled:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            enabled:
              type: boolean
          description: >-
            SendEnabled maps coin denom to a send_enabled status (whether a
            denom is

            sendable).
        description: send_enabled is the list of entries to add or update.
      use_default_for:
        type: array
        items:
          type: string
        description: >-
          use_default_for is a list of denoms that should use the
          params.default_send_enabled value.

          Denoms listed here will have their SendEnabled entries deleted.

          If a denom is included that doesn't have a SendEnabled entry,

          it will be ignored.
    description: |-
      MsgSetSendEnabled is the Msg/SetSendEnabled request type.

      Only entries to add/update/delete need to be included.
      Existing SendEnabled entries that are not included in this
      message are left unchanged.

      Since: cosmos-sdk 0.47
  cosmos.bank.v1beta1.MsgSetSendEnabledResponse:
    type: object
    description: |-
      MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.

      Since: cosmos-sdk 0.47
  cosmos.bank.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/bank parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          send_enabled:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                enabled:
                  type: boolean
              description: >-
                SendEnabled maps coin denom to a send_enabled status (whether a
                denom is

                sendable).
            description: >-
              Deprecated: Use of SendEnabled in params is deprecated.

              For genesis, use the newly added send_enabled field in the genesis
              object.

              Storage, lookup, and manipulation of this information is now in
              the keeper.


              As of cosmos-sdk 0.47, this only exists for backwards
              compatibility of genesis files.
          default_send_enabled:
            type: boolean
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.bank.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.bank.v1beta1.Output:
    type: object
    properties:
      address:
        type: string
      coins:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
    description: Output models transaction outputs.
  cosmos.bank.v1beta1.Params:
    type: object
    properties:
      send_enabled:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            enabled:
              type: boolean
          description: >-
            SendEnabled maps coin denom to a send_enabled status (whether a
            denom is

            sendable).
        description: >-
          Deprecated: Use of SendEnabled in params is deprecated.

          For genesis, use the newly added send_enabled field in the genesis
          object.

          Storage, lookup, and manipulation of this information is now in the
          keeper.


          As of cosmos-sdk 0.47, this only exists for backwards compatibility of
          genesis files.
      default_send_enabled:
        type: boolean
    description: Params defines the parameters for the bank module.
  cosmos.bank.v1beta1.SendEnabled:
    type: object
    properties:
      denom:
        type: string
      enabled:
        type: boolean
    description: |-
      SendEnabled maps coin denom to a send_enabled status (whether a denom is
      sendable).
  cosmos.base.v1beta1.Coin:
    type: object
    properties:
      denom:
        type: string
      amount:
        type: string
    description: |-
      Coin defines a token with a denomination and an amount.

      NOTE: The amount field is an Int which implements the custom method
      signatures required by gogoproto.
  cosmos.base.node.v1beta1.ConfigResponse:
    type: object
    properties:
      minimum_gas_price:
        type: string
      pruning_keep_recent:
        type: string
      pruning_interval:
        type: string
      halt_height:
        type: string
        format: uint64
    description: ConfigResponse defines the response structure for the Config gRPC query.
  cosmos.base.node.v1beta1.StatusResponse:
    type: object
    properties:
      earliest_store_height:
        type: string
        format: uint64
        title: earliest block height available in the store
      height:
        type: string
        format: uint64
        title: current block height
      timestamp:
        type: string
        format: date-time
        title: block height timestamp
      app_hash:
        type: string
        format: byte
        title: app hash of the current block
      validator_hash:
        type: string
        format: byte
        title: validator hash provided by the consensus header
    description: StateResponse defines the response structure for the status of a node.
  cosmos.consensus.v1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      block:
        description: |-
          params defines the x/consensus parameters to update.
          VersionsParams is not included in this Msg because it is tracked
          separarately in x/upgrade.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          max_bytes:
            type: string
            format: int64
            title: |-
              Max block size, in bytes.
              Note: must be greater than 0
          max_gas:
            type: string
            format: int64
            title: |-
              Max gas per block.
              Note: must be greater or equal to -1
      evidence:
        type: object
        properties:
          max_age_num_blocks:
            type: string
            format: int64
            description: >-
              Max age of evidence, in blocks.


              The basic formula for calculating this is: MaxAgeDuration /
              {average block

              time}.
          max_age_duration:
            type: string
            description: >-
              Max age of evidence, in time.


              It should correspond with an app's "unbonding period" or other
              similar

              mechanism for handling [Nothing-At-Stake

              attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
          max_bytes:
            type: string
            format: int64
            title: >-
              This sets the maximum size of total evidence in bytes that can be
              committed in a single block.

              and should fall comfortably under the max block bytes.

              Default is 1048576 or 1MB
        description: EvidenceParams determine how we handle evidence of malfeasance.
      validator:
        type: object
        properties:
          pub_key_types:
            type: array
            items:
              type: string
        description: |-
          ValidatorParams restrict the public key types validators can use.
          NOTE: uses ABCI pubkey naming, not Amino names.
      abci:
        title: 'Since: cosmos-sdk 0.50'
        type: object
        properties:
          vote_extensions_enable_height:
            type: string
            format: int64
            description: >-
              vote_extensions_enable_height configures the first height during
              which

              vote extensions will be enabled. During this specified height, and
              for all

              subsequent heights, precommit messages that do not contain valid
              extension data

              will be considered invalid. Prior to this height, vote extensions
              will not

              be used or accepted by validators on the network.


              Once enabled, vote extensions will be created by the application
              in ExtendVote,

              passed to the application for validation in VerifyVoteExtension
              and given

              to the application to use when proposing a block during
              PrepareProposal.
        description: >-
          ABCIParams configure functionality specific to the Application
          Blockchain Interface.
    description: MsgUpdateParams is the Msg/UpdateParams request type.
  cosmos.consensus.v1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.
  tendermint.types.ABCIParams:
    type: object
    properties:
      vote_extensions_enable_height:
        type: string
        format: int64
        description: >-
          vote_extensions_enable_height configures the first height during which

          vote extensions will be enabled. During this specified height, and for
          all

          subsequent heights, precommit messages that do not contain valid
          extension data

          will be considered invalid. Prior to this height, vote extensions will
          not

          be used or accepted by validators on the network.


          Once enabled, vote extensions will be created by the application in
          ExtendVote,

          passed to the application for validation in VerifyVoteExtension and
          given

          to the application to use when proposing a block during
          PrepareProposal.
    description: >-
      ABCIParams configure functionality specific to the Application Blockchain
      Interface.
  tendermint.types.BlockParams:
    type: object
    properties:
      max_bytes:
        type: string
        format: int64
        title: |-
          Max block size, in bytes.
          Note: must be greater than 0
      max_gas:
        type: string
        format: int64
        title: |-
          Max gas per block.
          Note: must be greater or equal to -1
    description: BlockParams contains limits on the block size.
  tendermint.types.EvidenceParams:
    type: object
    properties:
      max_age_num_blocks:
        type: string
        format: int64
        description: >-
          Max age of evidence, in blocks.


          The basic formula for calculating this is: MaxAgeDuration / {average
          block

          time}.
      max_age_duration:
        type: string
        description: >-
          Max age of evidence, in time.


          It should correspond with an app's "unbonding period" or other similar

          mechanism for handling [Nothing-At-Stake

          attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
      max_bytes:
        type: string
        format: int64
        title: >-
          This sets the maximum size of total evidence in bytes that can be
          committed in a single block.

          and should fall comfortably under the max block bytes.

          Default is 1048576 or 1MB
    description: EvidenceParams determine how we handle evidence of malfeasance.
  tendermint.types.ValidatorParams:
    type: object
    properties:
      pub_key_types:
        type: array
        items:
          type: string
    description: |-
      ValidatorParams restrict the public key types validators can use.
      NOTE: uses ABCI pubkey naming, not Amino names.
  cosmos.crisis.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      constant_fee:
        description: constant_fee defines the x/crisis parameter.
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.crisis.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.crisis.v1beta1.MsgVerifyInvariant:
    type: object
    properties:
      sender:
        type: string
        description: >-
          sender is the account address of private key to send coins to fee
          collector account.
      invariant_module_name:
        type: string
        description: name of the invariant module.
      invariant_route:
        type: string
        description: invariant_route is the msg's invariant route.
    description: MsgVerifyInvariant represents a message to verify a particular invariance.
  cosmos.crisis.v1beta1.MsgVerifyInvariantResponse:
    type: object
    description: MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type.
  cosmos.distribution.v1beta1.MsgCommunityPoolSpend:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      recipient:
        type: string
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
    description: >-
      MsgCommunityPoolSpend defines a message for sending tokens from the
      community

      pool to another account. This message is typically executed via a
      governance

      proposal with the governance module being the executing authority.


      Since: cosmos-sdk 0.47
  cosmos.distribution.v1beta1.MsgCommunityPoolSpendResponse:
    type: object
    description: |-
      MsgCommunityPoolSpendResponse defines the response to executing a
      MsgCommunityPoolSpend message.

      Since: cosmos-sdk 0.47
  cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPool:
    type: object
    properties:
      depositor:
        type: string
      validator_address:
        type: string
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
    description: |-
      DepositValidatorRewardsPool defines the request structure to provide
      additional rewards to delegators from a specific validator.

      Since: cosmos-sdk 0.50
  cosmos.distribution.v1beta1.MsgDepositValidatorRewardsPoolResponse:
    type: object
    description: |-
      MsgDepositValidatorRewardsPoolResponse defines the response to executing a
      MsgDepositValidatorRewardsPool message.

      Since: cosmos-sdk 0.50
  cosmos.distribution.v1beta1.MsgFundCommunityPool:
    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.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
      depositor:
        type: string
    description: |-
      MsgFundCommunityPool allows an account to directly
      fund the community pool.
  cosmos.distribution.v1beta1.MsgFundCommunityPoolResponse:
    type: object
    description: >-
      MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response
      type.
  cosmos.distribution.v1beta1.MsgSetWithdrawAddress:
    type: object
    properties:
      delegator_address:
        type: string
      withdraw_address:
        type: string
    description: |-
      MsgSetWithdrawAddress sets the withdraw address for
      a delegator (or validator self-delegation).
  cosmos.distribution.v1beta1.MsgSetWithdrawAddressResponse:
    type: object
    description: |-
      MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response
      type.
  cosmos.distribution.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/distribution parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          community_tax:
            type: string
          base_proposer_reward:
            type: string
            description: >-
              Deprecated: The base_proposer_reward field is deprecated and is no
              longer used

              in the x/distribution module's reward mechanism.
          bonus_proposer_reward:
            type: string
            description: >-
              Deprecated: The bonus_proposer_reward field is deprecated and is
              no longer used

              in the x/distribution module's reward mechanism.
          withdraw_addr_enabled:
            type: boolean
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.distribution.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
    description: |-
      MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator
      from a single validator.
  cosmos.distribution.v1beta1.MsgWithdrawDelegatorRewardResponse:
    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.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: 'Since: cosmos-sdk 0.46'
    description: |-
      MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward
      response type.
  cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission:
    type: object
    properties:
      validator_address:
        type: string
    description: >-
      MsgWithdrawValidatorCommission withdraws the full commission to the
      validator

      address.
  cosmos.distribution.v1beta1.MsgWithdrawValidatorCommissionResponse:
    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.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: 'Since: cosmos-sdk 0.46'
    description: |-
      MsgWithdrawValidatorCommissionResponse defines the
      Msg/WithdrawValidatorCommission response type.
  cosmos.distribution.v1beta1.Params:
    type: object
    properties:
      community_tax:
        type: string
      base_proposer_reward:
        type: string
        description: >-
          Deprecated: The base_proposer_reward field is deprecated and is no
          longer used

          in the x/distribution module's reward mechanism.
      bonus_proposer_reward:
        type: string
        description: >-
          Deprecated: The bonus_proposer_reward field is deprecated and is no
          longer used

          in the x/distribution module's reward mechanism.
      withdraw_addr_enabled:
        type: boolean
    description: Params defines the set of params for the distribution module.
  cosmos.evidence.v1beta1.MsgSubmitEvidence:
    type: object
    properties:
      submitter:
        type: string
        description: submitter is the signer account address of evidence.
      evidence:
        description: evidence defines the evidence of misbehavior.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
    description: |-
      MsgSubmitEvidence represents a message that supports submitting arbitrary
      Evidence of misbehavior such as equivocation or counterfactual signing.
  cosmos.evidence.v1beta1.MsgSubmitEvidenceResponse:
    type: object
    properties:
      hash:
        type: string
        format: byte
        description: hash defines the hash of the evidence.
    description: MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type.
  cosmos.feegrant.v1beta1.MsgGrantAllowance:
    type: object
    properties:
      granter:
        type: string
        description: >-
          granter is the address of the user granting an allowance of their
          funds.
      grantee:
        type: string
        description: >-
          grantee is the address of the user being granted an allowance of
          another user's funds.
      allowance:
        description: allowance can be any of basic, periodic, allowed fee allowance.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
    description: |-
      MsgGrantAllowance adds permission for Grantee to spend up to Allowance
      of fees from the account of Granter.
  cosmos.feegrant.v1beta1.MsgGrantAllowanceResponse:
    type: object
    description: >-
      MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response
      type.
  cosmos.feegrant.v1beta1.MsgPruneAllowances:
    type: object
    properties:
      pruner:
        type: string
        description: pruner is the address of the user pruning expired allowances.
    description: |-
      MsgPruneAllowances prunes expired fee allowances.

      Since cosmos-sdk 0.50
  cosmos.feegrant.v1beta1.MsgPruneAllowancesResponse:
    type: object
    description: >-
      MsgPruneAllowancesResponse defines the Msg/PruneAllowancesResponse
      response type.


      Since cosmos-sdk 0.50
  cosmos.feegrant.v1beta1.MsgRevokeAllowance:
    type: object
    properties:
      granter:
        type: string
        description: >-
          granter is the address of the user granting an allowance of their
          funds.
      grantee:
        type: string
        description: >-
          grantee is the address of the user being granted an allowance of
          another user's funds.
    description: MsgRevokeAllowance removes any existing Allowance from Granter to Grantee.
  cosmos.feegrant.v1beta1.MsgRevokeAllowanceResponse:
    type: object
    description: >-
      MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse
      response type.
  cosmos.gov.v1.MsgCancelProposal:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      proposer:
        type: string
        description: proposer is the account address of the proposer.
    description: |-
      MsgCancelProposal is the Msg/CancelProposal request type.

      Since: cosmos-sdk 0.50
  cosmos.gov.v1.MsgCancelProposalResponse:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      canceled_time:
        type: string
        format: date-time
        description: canceled_time is the time when proposal is canceled.
      canceled_height:
        type: string
        format: uint64
        description: >-
          canceled_height defines the block height at which the proposal is
          canceled.
    description: |-
      MsgCancelProposalResponse defines the response structure for executing a
      MsgCancelProposal message.

      Since: cosmos-sdk 0.50
  cosmos.gov.v1.MsgDeposit:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      depositor:
        type: string
        description: depositor defines the deposit addresses from the proposals.
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: amount to be deposited by depositor.
    description: MsgDeposit defines a message to submit a deposit to an existing proposal.
  cosmos.gov.v1.MsgDepositResponse:
    type: object
    description: MsgDepositResponse defines the Msg/Deposit response type.
  cosmos.gov.v1.MsgExecLegacyContent:
    type: object
    properties:
      content:
        description: content is the proposal's content.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
      authority:
        type: string
        description: authority must be the gov module address.
    description: >-
      MsgExecLegacyContent is used to wrap the legacy content field into a
      message.

      This ensures backwards compatibility with v1beta1.MsgSubmitProposal.
  cosmos.gov.v1.MsgExecLegacyContentResponse:
    type: object
    description: >-
      MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response
      type.
  cosmos.gov.v1.MsgSubmitProposal:
    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

                protocol buffer message. This string must contain at least

                one "/" character. The last segment of the URL's path must
                represent

                the fully qualified name of the type (as in

                `path/google.protobuf.Duration`). The name should be in a
                canonical form

                (e.g., leading "." is not accepted).


                In practice, teams usually precompile into the binary all types
                that they

                expect it to use in the context of Any. However, for URLs which
                use the

                scheme `http`, `https`, or no scheme, one can optionally set up
                a type

                server that maps type URLs to message definitions as follows:


                * If no scheme is provided, `https` is assumed.

                * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                  value in binary format, or produce an error.
                * Applications are allowed to cache lookup results based on the
                  URL, or have them precompiled into a binary to avoid any
                  lookup. Therefore, binary compatibility needs to be preserved
                  on changes to types. (Use versioned type names to manage
                  breaking changes.)

                Note: this functionality is not currently available in the
                official

                protobuf release, and it is not used for type URLs beginning
                with

                type.googleapis.com. As of May 2023, there are no widely used
                type server

                implementations and no plans to implement one.


                Schemes other than `http`, `https` (or the empty scheme) might
                be

                used with implementation specific semantics.
          additionalProperties: {}
          description: >-
            `Any` contains an arbitrary serialized protocol buffer message along
            with a

            URL that describes the type of the serialized message.


            Protobuf library provides support to pack/unpack Any values in the
            form

            of utility functions or additional generated methods of the Any
            type.


            Example 1: Pack and unpack a message in C++.

                Foo foo = ...;
                Any any;
                any.PackFrom(foo);
                ...
                if (any.UnpackTo(&foo)) {
                  ...
                }

            Example 2: Pack and unpack a message in Java.

                Foo foo = ...;
                Any any = Any.pack(foo);
                ...
                if (any.is(Foo.class)) {
                  foo = any.unpack(Foo.class);
                }
                // or ...
                if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                  foo = any.unpack(Foo.getDefaultInstance());
                }

             Example 3: Pack and unpack a message in Python.

                foo = Foo(...)
                any = Any()
                any.Pack(foo)
                ...
                if any.Is(Foo.DESCRIPTOR):
                  any.Unpack(foo)
                  ...

             Example 4: Pack and unpack a message in Go

                 foo := &pb.Foo{...}
                 any, err := anypb.New(foo)
                 if err != nil {
                   ...
                 }
                 ...
                 foo := &pb.Foo{}
                 if err := any.UnmarshalTo(foo); err != nil {
                   ...
                 }

            The pack methods provided by protobuf library will by default use

            'type.googleapis.com/full.type.name' as the type URL and the unpack

            methods only use the fully qualified type name after the last '/'

            in the type URL, for example "foo.bar.com/x/y.z" will yield type

            name "y.z".


            JSON

            ====

            The JSON representation of an `Any` value uses the regular

            representation of the deserialized, embedded message, with an

            additional field `@type` which contains the type URL. Example:

                package google.profile;
                message Person {
                  string first_name = 1;
                  string last_name = 2;
                }

                {
                  "@type": "type.googleapis.com/google.profile.Person",
                  "firstName": <string>,
                  "lastName": <string>
                }

            If the embedded message type is well-known and has a custom JSON

            representation, that representation will be embedded adding a field

            `value` which holds the custom JSON in addition to the `@type`

            field. Example (for message [google.protobuf.Duration][]):

                {
                  "@type": "type.googleapis.com/google.protobuf.Duration",
                  "value": "1.212s"
                }
        description: messages are the arbitrary messages to be executed if proposal passes.
      initial_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: >-
          initial_deposit is the deposit value that must be paid at proposal
          submission.
      proposer:
        type: string
        description: proposer is the account address of the proposer.
      metadata:
        type: string
        description: metadata is any arbitrary metadata attached to the proposal.
      title:
        type: string
        description: |-
          title is the title of the proposal.

          Since: cosmos-sdk 0.47
      summary:
        type: string
        description: 'Since: cosmos-sdk 0.47'
        title: summary is the summary of the proposal
      expedited:
        type: boolean
        description: 'Since: cosmos-sdk 0.50'
        title: expedited defines if the proposal is expedited or not
    description: >-
      MsgSubmitProposal defines an sdk.Msg type that supports submitting
      arbitrary

      proposal Content.
  cosmos.gov.v1.MsgSubmitProposalResponse:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
    description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.
  cosmos.gov.v1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/gov parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          min_deposit:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            description: Minimum deposit for a proposal to enter voting period.
          max_deposit_period:
            type: string
            description: >-
              Maximum period for Atom holders to deposit on a proposal. Initial
              value: 2

              months.
          voting_period:
            type: string
            description: Duration of the voting period.
          quorum:
            type: string
            description: >-
              Minimum percentage of total stake needed to vote for a result to
              be
               considered valid.
          threshold:
            type: string
            description: >-
              Minimum proportion of Yes votes for proposal to pass. Default
              value: 0.5.
          veto_threshold:
            type: string
            description: >-
              Minimum value of Veto votes to Total votes ratio for proposal to
              be
               vetoed. Default value: 1/3.
          min_initial_deposit_ratio:
            type: string
            description: >-
              The ratio representing the proportion of the deposit value that
              must be paid at proposal submission.
          proposal_cancel_ratio:
            type: string
            description: >-
              The cancel ratio which will not be returned back to the depositors
              when a proposal is cancelled.


              Since: cosmos-sdk 0.50
          proposal_cancel_dest:
            type: string
            description: >-
              The address which will receive (proposal_cancel_ratio * deposit)
              proposal deposits.

              If empty, the (proposal_cancel_ratio * deposit) proposal deposits
              will be burned.


              Since: cosmos-sdk 0.50
          expedited_voting_period:
            type: string
            description: |-
              Duration of the voting period of an expedited proposal.

              Since: cosmos-sdk 0.50
          expedited_threshold:
            type: string
            description: >-
              Minimum proportion of Yes votes for proposal to pass. Default
              value: 0.67.


              Since: cosmos-sdk 0.50
          expedited_min_deposit:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            description: Minimum expedited deposit for a proposal to enter voting period.
          burn_vote_quorum:
            type: boolean
            title: burn deposits if a proposal does not meet quorum
          burn_proposal_deposit_prevote:
            type: boolean
            title: burn deposits if the proposal does not enter voting period
          burn_vote_veto:
            type: boolean
            title: burn deposits if quorum with vote type no_veto is met
          min_deposit_ratio:
            type: string
            description: >-
              The ratio representing the proportion of the deposit value minimum
              that must be met when making a deposit.

              Default value: 0.01. Meaning that for a chain with a min_deposit
              of 100stake, a deposit of 1stake would be

              required.


              Since: cosmos-sdk 0.50
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.gov.v1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.gov.v1.MsgVote:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      voter:
        type: string
        description: voter is the voter address for the proposal.
      option:
        description: option defines the vote option.
        type: string
        enum:
          - VOTE_OPTION_UNSPECIFIED
          - VOTE_OPTION_YES
          - VOTE_OPTION_ABSTAIN
          - VOTE_OPTION_NO
          - VOTE_OPTION_NO_WITH_VETO
        default: VOTE_OPTION_UNSPECIFIED
      metadata:
        type: string
        description: metadata is any arbitrary metadata attached to the Vote.
    description: MsgVote defines a message to cast a vote.
  cosmos.gov.v1.MsgVoteResponse:
    type: object
    description: MsgVoteResponse defines the Msg/Vote response type.
  cosmos.gov.v1.MsgVoteWeighted:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      voter:
        type: string
        description: voter is the voter address for the proposal.
      options:
        type: array
        items:
          type: object
          properties:
            option:
              description: >-
                option defines the valid vote options, it must not contain
                duplicate vote options.
              type: string
              enum:
                - VOTE_OPTION_UNSPECIFIED
                - VOTE_OPTION_YES
                - VOTE_OPTION_ABSTAIN
                - VOTE_OPTION_NO
                - VOTE_OPTION_NO_WITH_VETO
              default: VOTE_OPTION_UNSPECIFIED
            weight:
              type: string
              description: weight is the vote weight associated with the vote option.
          description: WeightedVoteOption defines a unit of vote for vote split.
        description: options defines the weighted vote options.
      metadata:
        type: string
        description: metadata is any arbitrary metadata attached to the VoteWeighted.
    description: MsgVoteWeighted defines a message to cast a vote.
  cosmos.gov.v1.MsgVoteWeightedResponse:
    type: object
    description: MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.
  cosmos.gov.v1.Params:
    type: object
    properties:
      min_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: Minimum deposit for a proposal to enter voting period.
      max_deposit_period:
        type: string
        description: >-
          Maximum period for Atom holders to deposit on a proposal. Initial
          value: 2

          months.
      voting_period:
        type: string
        description: Duration of the voting period.
      quorum:
        type: string
        description: |-
          Minimum percentage of total stake needed to vote for a result to be
           considered valid.
      threshold:
        type: string
        description: >-
          Minimum proportion of Yes votes for proposal to pass. Default value:
          0.5.
      veto_threshold:
        type: string
        description: |-
          Minimum value of Veto votes to Total votes ratio for proposal to be
           vetoed. Default value: 1/3.
      min_initial_deposit_ratio:
        type: string
        description: >-
          The ratio representing the proportion of the deposit value that must
          be paid at proposal submission.
      proposal_cancel_ratio:
        type: string
        description: >-
          The cancel ratio which will not be returned back to the depositors
          when a proposal is cancelled.


          Since: cosmos-sdk 0.50
      proposal_cancel_dest:
        type: string
        description: >-
          The address which will receive (proposal_cancel_ratio * deposit)
          proposal deposits.

          If empty, the (proposal_cancel_ratio * deposit) proposal deposits will
          be burned.


          Since: cosmos-sdk 0.50
      expedited_voting_period:
        type: string
        description: |-
          Duration of the voting period of an expedited proposal.

          Since: cosmos-sdk 0.50
      expedited_threshold:
        type: string
        description: >-
          Minimum proportion of Yes votes for proposal to pass. Default value:
          0.67.


          Since: cosmos-sdk 0.50
      expedited_min_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: Minimum expedited deposit for a proposal to enter voting period.
      burn_vote_quorum:
        type: boolean
        title: burn deposits if a proposal does not meet quorum
      burn_proposal_deposit_prevote:
        type: boolean
        title: burn deposits if the proposal does not enter voting period
      burn_vote_veto:
        type: boolean
        title: burn deposits if quorum with vote type no_veto is met
      min_deposit_ratio:
        type: string
        description: >-
          The ratio representing the proportion of the deposit value minimum
          that must be met when making a deposit.

          Default value: 0.01. Meaning that for a chain with a min_deposit of
          100stake, a deposit of 1stake would be

          required.


          Since: cosmos-sdk 0.50
    description: |-
      Params defines the parameters for the x/gov module.

      Since: cosmos-sdk 0.47
  cosmos.gov.v1.VoteOption:
    type: string
    enum:
      - VOTE_OPTION_UNSPECIFIED
      - VOTE_OPTION_YES
      - VOTE_OPTION_ABSTAIN
      - VOTE_OPTION_NO
      - VOTE_OPTION_NO_WITH_VETO
    default: VOTE_OPTION_UNSPECIFIED
    description: >-
      VoteOption enumerates the valid vote options for a given governance
      proposal.

       - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
       - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
       - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
       - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
       - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
  cosmos.gov.v1.WeightedVoteOption:
    type: object
    properties:
      option:
        description: >-
          option defines the valid vote options, it must not contain duplicate
          vote options.
        type: string
        enum:
          - VOTE_OPTION_UNSPECIFIED
          - VOTE_OPTION_YES
          - VOTE_OPTION_ABSTAIN
          - VOTE_OPTION_NO
          - VOTE_OPTION_NO_WITH_VETO
        default: VOTE_OPTION_UNSPECIFIED
      weight:
        type: string
        description: weight is the vote weight associated with the vote option.
    description: WeightedVoteOption defines a unit of vote for vote split.
  cosmos.gov.v1beta1.MsgDeposit:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      depositor:
        type: string
        description: depositor defines the deposit addresses from the proposals.
      amount:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: amount to be deposited by depositor.
    description: MsgDeposit defines a message to submit a deposit to an existing proposal.
  cosmos.gov.v1beta1.MsgDepositResponse:
    type: object
    description: MsgDepositResponse defines the Msg/Deposit response type.
  cosmos.gov.v1beta1.MsgSubmitProposal:
    type: object
    properties:
      content:
        description: content is the proposal's content.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
      initial_deposit:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        description: >-
          initial_deposit is the deposit value that must be paid at proposal
          submission.
      proposer:
        type: string
        description: proposer is the account address of the proposer.
    description: >-
      MsgSubmitProposal defines an sdk.Msg type that supports submitting
      arbitrary

      proposal Content.
  cosmos.gov.v1beta1.MsgSubmitProposalResponse:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
    description: MsgSubmitProposalResponse defines the Msg/SubmitProposal response type.
  cosmos.gov.v1beta1.MsgVote:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      voter:
        type: string
        description: voter is the voter address for the proposal.
      option:
        description: option defines the vote option.
        type: string
        enum:
          - VOTE_OPTION_UNSPECIFIED
          - VOTE_OPTION_YES
          - VOTE_OPTION_ABSTAIN
          - VOTE_OPTION_NO
          - VOTE_OPTION_NO_WITH_VETO
        default: VOTE_OPTION_UNSPECIFIED
    description: MsgVote defines a message to cast a vote.
  cosmos.gov.v1beta1.MsgVoteResponse:
    type: object
    description: MsgVoteResponse defines the Msg/Vote response type.
  cosmos.gov.v1beta1.MsgVoteWeighted:
    type: object
    properties:
      proposal_id:
        type: string
        format: uint64
        description: proposal_id defines the unique id of the proposal.
      voter:
        type: string
        description: voter is the voter address for the proposal.
      options:
        type: array
        items:
          type: object
          properties:
            option:
              description: >-
                option defines the valid vote options, it must not contain
                duplicate vote options.
              type: string
              enum:
                - VOTE_OPTION_UNSPECIFIED
                - VOTE_OPTION_YES
                - VOTE_OPTION_ABSTAIN
                - VOTE_OPTION_NO
                - VOTE_OPTION_NO_WITH_VETO
              default: VOTE_OPTION_UNSPECIFIED
            weight:
              type: string
              description: weight is the vote weight associated with the vote option.
          description: |-
            WeightedVoteOption defines a unit of vote for vote split.

            Since: cosmos-sdk 0.43
        description: options defines the weighted vote options.
    description: |-
      MsgVoteWeighted defines a message to cast a vote.

      Since: cosmos-sdk 0.43
  cosmos.gov.v1beta1.MsgVoteWeightedResponse:
    type: object
    description: |-
      MsgVoteWeightedResponse defines the Msg/VoteWeighted response type.

      Since: cosmos-sdk 0.43
  cosmos.gov.v1beta1.VoteOption:
    type: string
    enum:
      - VOTE_OPTION_UNSPECIFIED
      - VOTE_OPTION_YES
      - VOTE_OPTION_ABSTAIN
      - VOTE_OPTION_NO
      - VOTE_OPTION_NO_WITH_VETO
    default: VOTE_OPTION_UNSPECIFIED
    description: >-
      VoteOption enumerates the valid vote options for a given governance
      proposal.

       - VOTE_OPTION_UNSPECIFIED: VOTE_OPTION_UNSPECIFIED defines a no-op vote option.
       - VOTE_OPTION_YES: VOTE_OPTION_YES defines a yes vote option.
       - VOTE_OPTION_ABSTAIN: VOTE_OPTION_ABSTAIN defines an abstain vote option.
       - VOTE_OPTION_NO: VOTE_OPTION_NO defines a no vote option.
       - VOTE_OPTION_NO_WITH_VETO: VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.
  cosmos.gov.v1beta1.WeightedVoteOption:
    type: object
    properties:
      option:
        description: >-
          option defines the valid vote options, it must not contain duplicate
          vote options.
        type: string
        enum:
          - VOTE_OPTION_UNSPECIFIED
          - VOTE_OPTION_YES
          - VOTE_OPTION_ABSTAIN
          - VOTE_OPTION_NO
          - VOTE_OPTION_NO_WITH_VETO
        default: VOTE_OPTION_UNSPECIFIED
      weight:
        type: string
        description: weight is the vote weight associated with the vote option.
    description: |-
      WeightedVoteOption defines a unit of vote for vote split.

      Since: cosmos-sdk 0.43
  cosmos.mint.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/mint parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          mint_denom:
            type: string
            title: type of coin to mint
          inflation_rate_change:
            type: string
            title: maximum annual change in inflation rate
          inflation_max:
            type: string
            title: maximum inflation rate
          inflation_min:
            type: string
            title: minimum inflation rate
          goal_bonded:
            type: string
            title: goal of percent bonded atoms
          blocks_per_year:
            type: string
            format: uint64
            title: expected blocks per year
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.mint.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.mint.v1beta1.Params:
    type: object
    properties:
      mint_denom:
        type: string
        title: type of coin to mint
      inflation_rate_change:
        type: string
        title: maximum annual change in inflation rate
      inflation_max:
        type: string
        title: maximum inflation rate
      inflation_min:
        type: string
        title: minimum inflation rate
      goal_bonded:
        type: string
        title: goal of percent bonded atoms
      blocks_per_year:
        type: string
        format: uint64
        title: expected blocks per year
    description: Params defines the parameters for the x/mint module.
  cosmos.params.v1beta1.ParamChange:
    type: object
    properties:
      subspace:
        type: string
      key:
        type: string
      value:
        type: string
    description: |-
      ParamChange defines an individual parameter change, for use in
      ParameterChangeProposal.
  cosmos.params.v1beta1.QueryParamsResponse:
    type: object
    properties:
      param:
        description: param defines the queried parameter.
        type: object
        properties:
          subspace:
            type: string
          key:
            type: string
          value:
            type: string
    description: QueryParamsResponse is response type for the Query/Params RPC method.
  cosmos.params.v1beta1.QuerySubspacesResponse:
    type: object
    properties:
      subspaces:
        type: array
        items:
          type: object
          properties:
            subspace:
              type: string
            keys:
              type: array
              items:
                type: string
          description: >-
            Subspace defines a parameter subspace name and all the keys that
            exist for

            the subspace.


            Since: cosmos-sdk 0.46
    description: |-
      QuerySubspacesResponse defines the response types for querying for all
      registered subspaces and all keys for a subspace.

      Since: cosmos-sdk 0.46
  cosmos.params.v1beta1.Subspace:
    type: object
    properties:
      subspace:
        type: string
      keys:
        type: array
        items:
          type: string
    description: |-
      Subspace defines a parameter subspace name and all the keys that exist for
      the subspace.

      Since: cosmos-sdk 0.46
  cosmos.slashing.v1beta1.MsgUnjail:
    type: object
    properties:
      validator_addr:
        type: string
    title: MsgUnjail defines the Msg/Unjail request type
  cosmos.slashing.v1beta1.MsgUnjailResponse:
    type: object
    title: MsgUnjailResponse defines the Msg/Unjail response type
  cosmos.slashing.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/slashing parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          signed_blocks_window:
            type: string
            format: int64
          min_signed_per_window:
            type: string
            format: byte
          downtime_jail_duration:
            type: string
          slash_fraction_double_sign:
            type: string
            format: byte
          slash_fraction_downtime:
            type: string
            format: byte
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.slashing.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.slashing.v1beta1.Params:
    type: object
    properties:
      signed_blocks_window:
        type: string
        format: int64
      min_signed_per_window:
        type: string
        format: byte
      downtime_jail_duration:
        type: string
      slash_fraction_double_sign:
        type: string
        format: byte
      slash_fraction_downtime:
        type: string
        format: byte
    description: Params represents the parameters used for by the slashing module.
  cosmos.staking.v1beta1.CommissionRates:
    type: object
    properties:
      rate:
        type: string
        description: rate is the commission rate charged to delegators, as a fraction.
      max_rate:
        type: string
        description: >-
          max_rate defines the maximum commission rate which validator can ever
          charge, as a fraction.
      max_change_rate:
        type: string
        description: >-
          max_change_rate defines the maximum daily increase of the validator
          commission, as a fraction.
    description: >-
      CommissionRates defines the initial commission rates to be used for
      creating

      a validator.
  cosmos.staking.v1beta1.Description:
    type: object
    properties:
      moniker:
        type: string
        description: moniker defines a human-readable name for the validator.
      identity:
        type: string
        description: >-
          identity defines an optional identity signature (ex. UPort or
          Keybase).
      website:
        type: string
        description: website defines an optional website link.
      security_contact:
        type: string
        description: security_contact defines an optional email for security contact.
      details:
        type: string
        description: details define other optional details.
    description: Description defines a validator description.
  cosmos.staking.v1beta1.MsgBeginRedelegate:
    type: object
    properties:
      delegator_address:
        type: string
      validator_src_address:
        type: string
      validator_dst_address:
        type: string
      amount:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
    description: |-
      MsgBeginRedelegate defines a SDK message for performing a redelegation
      of coins from a delegator and source validator to a destination validator.
  cosmos.staking.v1beta1.MsgBeginRedelegateResponse:
    type: object
    properties:
      completion_time:
        type: string
        format: date-time
    description: MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type.
  cosmos.staking.v1beta1.MsgCancelUnbondingDelegation:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      amount:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
        title: >-
          amount is always less than or equal to unbonding delegation entry
          balance
      creation_height:
        type: string
        format: int64
        description: creation_height is the height which the unbonding took place.
    description: 'Since: cosmos-sdk 0.46'
    title: >-
      MsgCancelUnbondingDelegation defines the SDK message for performing a
      cancel unbonding delegation for delegator
  cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse:
    type: object
    description: 'Since: cosmos-sdk 0.46'
    title: MsgCancelUnbondingDelegationResponse
  cosmos.staking.v1beta1.MsgCreateValidator:
    type: object
    properties:
      description:
        type: object
        properties:
          moniker:
            type: string
            description: moniker defines a human-readable name for the validator.
          identity:
            type: string
            description: >-
              identity defines an optional identity signature (ex. UPort or
              Keybase).
          website:
            type: string
            description: website defines an optional website link.
          security_contact:
            type: string
            description: security_contact defines an optional email for security contact.
          details:
            type: string
            description: details define other optional details.
        description: Description defines a validator description.
      commission:
        type: object
        properties:
          rate:
            type: string
            description: rate is the commission rate charged to delegators, as a fraction.
          max_rate:
            type: string
            description: >-
              max_rate defines the maximum commission rate which validator can
              ever charge, as a fraction.
          max_change_rate:
            type: string
            description: >-
              max_change_rate defines the maximum daily increase of the
              validator commission, as a fraction.
        description: >-
          CommissionRates defines the initial commission rates to be used for
          creating

          a validator.
      min_self_delegation:
        type: string
      delegator_address:
        type: string
        description: >-
          Deprecated: Use of Delegator Address in MsgCreateValidator is
          deprecated.

          The validator address bytes and delegator address bytes refer to the
          same account while creating validator (defer

          only in bech32 notation).
      validator_address:
        type: string
      pubkey:
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      value:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
    description: MsgCreateValidator defines a SDK message for creating a new validator.
  cosmos.staking.v1beta1.MsgCreateValidatorResponse:
    type: object
    description: MsgCreateValidatorResponse defines the Msg/CreateValidator response type.
  cosmos.staking.v1beta1.MsgDelegate:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      amount:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
    description: |-
      MsgDelegate defines a SDK message for performing a delegation of coins
      from a delegator to a validator.
  cosmos.staking.v1beta1.MsgDelegateResponse:
    type: object
    description: MsgDelegateResponse defines the Msg/Delegate response type.
  cosmos.staking.v1beta1.MsgEditValidator:
    type: object
    properties:
      description:
        type: object
        properties:
          moniker:
            type: string
            description: moniker defines a human-readable name for the validator.
          identity:
            type: string
            description: >-
              identity defines an optional identity signature (ex. UPort or
              Keybase).
          website:
            type: string
            description: website defines an optional website link.
          security_contact:
            type: string
            description: security_contact defines an optional email for security contact.
          details:
            type: string
            description: details define other optional details.
        description: Description defines a validator description.
      validator_address:
        type: string
      commission_rate:
        type: string
        title: >-
          We pass a reference to the new commission rate and min self delegation
          as

          it's not mandatory to update. If not updated, the deserialized rate
          will be

          zero with no way to distinguish if an update was intended.

          REF: #2373
      min_self_delegation:
        type: string
    description: MsgEditValidator defines a SDK message for editing an existing validator.
  cosmos.staking.v1beta1.MsgEditValidatorResponse:
    type: object
    description: MsgEditValidatorResponse defines the Msg/EditValidator response type.
  cosmos.staking.v1beta1.MsgUndelegate:
    type: object
    properties:
      delegator_address:
        type: string
      validator_address:
        type: string
      amount:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
    description: |-
      MsgUndelegate defines a SDK message for performing an undelegation from a
      delegate and a validator.
  cosmos.staking.v1beta1.MsgUndelegateResponse:
    type: object
    properties:
      completion_time:
        type: string
        format: date-time
      amount:
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
        description: |-
          Coin defines a token with a denomination and an amount.

          NOTE: The amount field is an Int which implements the custom method
          signatures required by gogoproto.
        title: amount returns the amount of undelegated coins
    description: MsgUndelegateResponse defines the Msg/Undelegate response type.
  cosmos.staking.v1beta1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the x/staking parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          unbonding_time:
            type: string
            description: unbonding_time is the time duration of unbonding.
          max_validators:
            type: integer
            format: int64
            description: max_validators is the maximum number of validators.
          max_entries:
            type: integer
            format: int64
            description: >-
              max_entries is the max entries for either unbonding delegation or
              redelegation (per pair/trio).
          historical_entries:
            type: integer
            format: int64
            description: historical_entries is the number of historical entries to persist.
          bond_denom:
            type: string
            description: bond_denom defines the bondable coin denomination.
          min_commission_rate:
            type: string
            title: >-
              min_commission_rate is the chain-wide minimum commission rate that
              a validator can charge their delegators
    description: |-
      MsgUpdateParams is the Msg/UpdateParams request type.

      Since: cosmos-sdk 0.47
  cosmos.staking.v1beta1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: cosmos-sdk 0.47
  cosmos.staking.v1beta1.Params:
    type: object
    properties:
      unbonding_time:
        type: string
        description: unbonding_time is the time duration of unbonding.
      max_validators:
        type: integer
        format: int64
        description: max_validators is the maximum number of validators.
      max_entries:
        type: integer
        format: int64
        description: >-
          max_entries is the max entries for either unbonding delegation or
          redelegation (per pair/trio).
      historical_entries:
        type: integer
        format: int64
        description: historical_entries is the number of historical entries to persist.
      bond_denom:
        type: string
        description: bond_denom defines the bondable coin denomination.
      min_commission_rate:
        type: string
        title: >-
          min_commission_rate is the chain-wide minimum commission rate that a
          validator can charge their delegators
    description: Params defines the parameters for the x/staking module.
  cosmwasm.wasm.v1.AccessConfig:
    type: object
    properties:
      permission:
        type: string
        enum:
          - ACCESS_TYPE_UNSPECIFIED
          - ACCESS_TYPE_NOBODY
          - ACCESS_TYPE_EVERYBODY
          - ACCESS_TYPE_ANY_OF_ADDRESSES
        default: ACCESS_TYPE_UNSPECIFIED
        description: >-
          - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for empty
          value
           - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
           - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
           - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
        title: AccessType permission types
      addresses:
        type: array
        items:
          type: string
    description: AccessConfig access control type.
  cosmwasm.wasm.v1.AccessType:
    type: string
    enum:
      - ACCESS_TYPE_UNSPECIFIED
      - ACCESS_TYPE_NOBODY
      - ACCESS_TYPE_EVERYBODY
      - ACCESS_TYPE_ANY_OF_ADDRESSES
    default: ACCESS_TYPE_UNSPECIFIED
    description: >-
      - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for empty
      value
       - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
       - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
       - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
    title: AccessType permission types
  cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddresses:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      addresses:
        type: array
        items:
          type: string
    description: |-
      MsgAddCodeUploadParamsAddresses is the
      MsgAddCodeUploadParamsAddresses request type.
  cosmwasm.wasm.v1.MsgAddCodeUploadParamsAddressesResponse:
    type: object
    description: |-
      MsgAddCodeUploadParamsAddressesResponse defines the response
      structure for executing a MsgAddCodeUploadParamsAddresses message.
  cosmwasm.wasm.v1.MsgClearAdmin:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the actor that signed the messages
      contract:
        type: string
        title: Contract is the address of the smart contract
    title: MsgClearAdmin removes any admin stored for a smart contract
  cosmwasm.wasm.v1.MsgClearAdminResponse:
    type: object
    title: MsgClearAdminResponse returns empty data
  cosmwasm.wasm.v1.MsgExecuteContract:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      contract:
        type: string
        title: Contract is the address of the smart contract
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract
      funds:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: Funds coins that are transferred to the contract on execution
    title: MsgExecuteContract submits the given message data to a smart contract
  cosmwasm.wasm.v1.MsgExecuteContractResponse:
    type: object
    properties:
      data:
        type: string
        format: byte
        title: Data contains bytes to returned from the contract
    description: MsgExecuteContractResponse returns execution result data.
  cosmwasm.wasm.v1.MsgInstantiateContract:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      admin:
        type: string
        title: Admin is an optional address that can execute migrations
      code_id:
        type: string
        format: uint64
        title: CodeID is the reference to the stored WASM code
      label:
        type: string
        description: Label is optional metadata to be stored with a contract instance.
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract on instantiation
      funds:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: Funds coins that are transferred to the contract on instantiation
    description: |-
      MsgInstantiateContract create a new smart contract instance for the given
      code id.
  cosmwasm.wasm.v1.MsgInstantiateContract2:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      admin:
        type: string
        title: Admin is an optional address that can execute migrations
      code_id:
        type: string
        format: uint64
        title: CodeID is the reference to the stored WASM code
      label:
        type: string
        description: Label is optional metadata to be stored with a contract instance.
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract on instantiation
      funds:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: Funds coins that are transferred to the contract on instantiation
      salt:
        type: string
        format: byte
        description: >-
          Salt is an arbitrary value provided by the sender. Size can be 1 to
          64.
      fix_msg:
        type: boolean
        title: >-
          FixMsg include the msg value into the hash for the predictable
          address.

          Default is false
    description: |-
      MsgInstantiateContract2 create a new smart contract instance for the given
      code id with a predicable address.
  cosmwasm.wasm.v1.MsgInstantiateContract2Response:
    type: object
    properties:
      address:
        type: string
        description: Address is the bech32 address of the new contract instance.
      data:
        type: string
        format: byte
        title: Data contains bytes to returned from the contract
    title: MsgInstantiateContract2Response return instantiation result data
  cosmwasm.wasm.v1.MsgInstantiateContractResponse:
    type: object
    properties:
      address:
        type: string
        description: Address is the bech32 address of the new contract instance.
      data:
        type: string
        format: byte
        title: Data contains bytes to returned from the contract
    title: MsgInstantiateContractResponse return instantiation result data
  cosmwasm.wasm.v1.MsgMigrateContract:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      contract:
        type: string
        title: Contract is the address of the smart contract
      code_id:
        type: string
        format: uint64
        title: CodeID references the new WASM code
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract on migration
    title: MsgMigrateContract runs a code upgrade/ downgrade for a smart contract
  cosmwasm.wasm.v1.MsgMigrateContractResponse:
    type: object
    properties:
      data:
        type: string
        format: byte
        title: |-
          Data contains same raw bytes returned as data from the wasm contract.
          (May be empty)
    description: MsgMigrateContractResponse returns contract migration result data.
  cosmwasm.wasm.v1.MsgPinCodes:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      code_ids:
        type: array
        items:
          type: string
          format: uint64
        title: CodeIDs references the new WASM codes
    description: |-
      MsgPinCodes is the MsgPinCodes request type.

      Since: 0.40
  cosmwasm.wasm.v1.MsgPinCodesResponse:
    type: object
    description: |-
      MsgPinCodesResponse defines the response structure for executing a
      MsgPinCodes message.

      Since: 0.40
  cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddresses:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      addresses:
        type: array
        items:
          type: string
    description: |-
      MsgRemoveCodeUploadParamsAddresses is the
      MsgRemoveCodeUploadParamsAddresses request type.
  cosmwasm.wasm.v1.MsgRemoveCodeUploadParamsAddressesResponse:
    type: object
    description: |-
      MsgRemoveCodeUploadParamsAddressesResponse defines the response
      structure for executing a MsgRemoveCodeUploadParamsAddresses message.
  cosmwasm.wasm.v1.MsgStoreAndInstantiateContract:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      wasm_byte_code:
        type: string
        format: byte
        title: WASMByteCode can be raw or gzip compressed
      instantiate_permission:
        title: InstantiatePermission to apply on contract creation, optional
        type: object
        properties:
          permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
          addresses:
            type: array
            items:
              type: string
        description: AccessConfig access control type.
      unpin_code:
        type: boolean
        description: >-
          UnpinCode code on upload, optional. As default the uploaded contract
          is

          pinned to cache.
      admin:
        type: string
        title: Admin is an optional address that can execute migrations
      label:
        type: string
        description: Label is optional metadata to be stored with a constract instance.
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract on instantiation
      funds:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: >-
          Funds coins that are transferred from the authority account to the
          contract

          on instantiation
      source:
        type: string
        title: Source is the URL where the code is hosted
      builder:
        type: string
        title: >-
          Builder is the docker image used to build the code deterministically,
          used

          for smart contract verification
      code_hash:
        type: string
        format: byte
        title: >-
          CodeHash is the SHA256 sum of the code outputted by builder, used for
          smart

          contract verification
    description: |-
      MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract
      request type.

      Since: 0.40
  cosmwasm.wasm.v1.MsgStoreAndInstantiateContractResponse:
    type: object
    properties:
      address:
        type: string
        description: Address is the bech32 address of the new contract instance.
      data:
        type: string
        format: byte
        title: Data contains bytes to returned from the contract
    description: |-
      MsgStoreAndInstantiateContractResponse defines the response structure
      for executing a MsgStoreAndInstantiateContract message.

      Since: 0.40
  cosmwasm.wasm.v1.MsgStoreAndMigrateContract:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      wasm_byte_code:
        type: string
        format: byte
        title: WASMByteCode can be raw or gzip compressed
      instantiate_permission:
        title: InstantiatePermission to apply on contract creation, optional
        type: object
        properties:
          permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
          addresses:
            type: array
            items:
              type: string
        description: AccessConfig access control type.
      contract:
        type: string
        title: Contract is the address of the smart contract
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract on migration
    description: |-
      MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract
      request type.

      Since: 0.42
  cosmwasm.wasm.v1.MsgStoreAndMigrateContractResponse:
    type: object
    properties:
      code_id:
        type: string
        format: uint64
        title: CodeID is the reference to the stored WASM code
      checksum:
        type: string
        format: byte
        title: Checksum is the sha256 hash of the stored code
      data:
        type: string
        format: byte
        title: Data contains bytes to returned from the contract
    description: |-
      MsgStoreAndMigrateContractResponse defines the response structure
      for executing a MsgStoreAndMigrateContract message.

      Since: 0.42
  cosmwasm.wasm.v1.MsgStoreCode:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the actor that signed the messages
      wasm_byte_code:
        type: string
        format: byte
        title: WASMByteCode can be raw or gzip compressed
      instantiate_permission:
        title: |-
          InstantiatePermission access control to apply on contract creation,
          optional
        type: object
        properties:
          permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
          addresses:
            type: array
            items:
              type: string
        description: AccessConfig access control type.
    title: MsgStoreCode submit Wasm code to the system
  cosmwasm.wasm.v1.MsgStoreCodeResponse:
    type: object
    properties:
      code_id:
        type: string
        format: uint64
        title: CodeID is the reference to the stored WASM code
      checksum:
        type: string
        format: byte
        title: Checksum is the sha256 hash of the stored code
    description: MsgStoreCodeResponse returns store result data.
  cosmwasm.wasm.v1.MsgSudoContract:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      contract:
        type: string
        title: Contract is the address of the smart contract
      msg:
        type: string
        format: byte
        title: Msg json encoded message to be passed to the contract as sudo
    description: |-
      MsgSudoContract is the MsgSudoContract request type.

      Since: 0.40
  cosmwasm.wasm.v1.MsgSudoContractResponse:
    type: object
    properties:
      data:
        type: string
        format: byte
        title: Data contains bytes to returned from the contract
    description: |-
      MsgSudoContractResponse defines the response structure for executing a
      MsgSudoContract message.

      Since: 0.40
  cosmwasm.wasm.v1.MsgUnpinCodes:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      code_ids:
        type: array
        items:
          type: string
          format: uint64
        title: CodeIDs references the WASM codes
    description: |-
      MsgUnpinCodes is the MsgUnpinCodes request type.

      Since: 0.40
  cosmwasm.wasm.v1.MsgUnpinCodesResponse:
    type: object
    description: |-
      MsgUnpinCodesResponse defines the response structure for executing a
      MsgUnpinCodes message.

      Since: 0.40
  cosmwasm.wasm.v1.MsgUpdateAdmin:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      new_admin:
        type: string
        title: NewAdmin address to be set
      contract:
        type: string
        title: Contract is the address of the smart contract
    title: MsgUpdateAdmin sets a new admin for a smart contract
  cosmwasm.wasm.v1.MsgUpdateAdminResponse:
    type: object
    title: MsgUpdateAdminResponse returns empty data
  cosmwasm.wasm.v1.MsgUpdateContractLabel:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      new_label:
        type: string
        title: NewLabel string to be set
      contract:
        type: string
        title: Contract is the address of the smart contract
    title: MsgUpdateContractLabel sets a new label for a smart contract
  cosmwasm.wasm.v1.MsgUpdateContractLabelResponse:
    type: object
    title: MsgUpdateContractLabelResponse returns empty data
  cosmwasm.wasm.v1.MsgUpdateInstantiateConfig:
    type: object
    properties:
      sender:
        type: string
        title: Sender is the that actor that signed the messages
      code_id:
        type: string
        format: uint64
        title: CodeID references the stored WASM code
      new_instantiate_permission:
        title: NewInstantiatePermission is the new access control
        type: object
        properties:
          permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
          addresses:
            type: array
            items:
              type: string
        description: AccessConfig access control type.
    title: MsgUpdateInstantiateConfig updates instantiate config for a smart contract
  cosmwasm.wasm.v1.MsgUpdateInstantiateConfigResponse:
    type: object
    title: MsgUpdateInstantiateConfigResponse returns empty data
  cosmwasm.wasm.v1.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: Authority is the address of the governance account.
      params:
        description: |-
          params defines the x/wasm parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          code_upload_access:
            type: object
            properties:
              permission:
                type: string
                enum:
                  - ACCESS_TYPE_UNSPECIFIED
                  - ACCESS_TYPE_NOBODY
                  - ACCESS_TYPE_EVERYBODY
                  - ACCESS_TYPE_ANY_OF_ADDRESSES
                default: ACCESS_TYPE_UNSPECIFIED
                description: >-
                  - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder
                  for empty value
                   - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                   - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                   - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                title: AccessType permission types
              addresses:
                type: array
                items:
                  type: string
            description: AccessConfig access control type.
          instantiate_default_permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
    description: |-
      MsgUpdateParams is the MsgUpdateParams request type.

      Since: 0.40
  cosmwasm.wasm.v1.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.

      Since: 0.40
  cosmwasm.wasm.v1.Params:
    type: object
    properties:
      code_upload_access:
        type: object
        properties:
          permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
          addresses:
            type: array
            items:
              type: string
        description: AccessConfig access control type.
      instantiate_default_permission:
        type: string
        enum:
          - ACCESS_TYPE_UNSPECIFIED
          - ACCESS_TYPE_NOBODY
          - ACCESS_TYPE_EVERYBODY
          - ACCESS_TYPE_ANY_OF_ADDRESSES
        default: ACCESS_TYPE_UNSPECIFIED
        description: >-
          - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for empty
          value
           - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
           - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
           - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
        title: AccessType permission types
    description: Params defines the set of wasm parameters.
  cosmos.base.query.v1beta1.PageRequest:
    type: object
    properties:
      key:
        type: string
        format: byte
        description: |-
          key is a value returned in PageResponse.next_key to begin
          querying the next page most efficiently. Only one of offset or key
          should be set.
      offset:
        type: string
        format: uint64
        description: |-
          offset is a numeric offset that can be used when key is unavailable.
          It is less efficient than using key. Only one of offset or key should
          be set.
      limit:
        type: string
        format: uint64
        description: >-
          limit is the total number of results to be returned in the result
          page.

          If left empty it will default to a value to be set by each app.
      count_total:
        type: boolean
        description: >-
          count_total is set to true  to indicate that the result set should
          include

          a count of the total number of items available for pagination in UIs.

          count_total is only respected when offset is used. It is ignored when
          key

          is set.
      reverse:
        type: boolean
        description: >-
          reverse is set to true if results are to be returned in the descending
          order.


          Since: cosmos-sdk 0.43
    description: |-
      message SomeRequest {
               Foo some_parameter = 1;
               PageRequest pagination = 2;
       }
    title: |-
      PageRequest is to be embedded in gRPC request messages for efficient
      pagination. Ex:
  cosmos.base.query.v1beta1.PageResponse:
    type: object
    properties:
      next_key:
        type: string
        format: byte
        description: |-
          next_key is the key to be passed to PageRequest.key to
          query the next page most efficiently. It will be empty if
          there are no more results.
      total:
        type: string
        format: uint64
        title: |-
          total is total number of results available if PageRequest.count_total
          was set, its value is undefined otherwise
    description: |-
      PageResponse is to be embedded in gRPC response messages where the
      corresponding request message has used PageRequest.

       message SomeResponse {
               repeated Bar results = 1;
               PageResponse page = 2;
       }
  cosmwasm.wasm.v1.AbsoluteTxPosition:
    type: object
    properties:
      block_height:
        type: string
        format: uint64
        title: BlockHeight is the block the contract was created at
      tx_index:
        type: string
        format: uint64
        title: >-
          TxIndex is a monotonic counter within the block (actual transaction
          index,

          or gas consumed)
    description: |-
      AbsoluteTxPosition is a unique transaction position that allows for global
      ordering of transactions.
  cosmwasm.wasm.v1.CodeInfoResponse:
    type: object
    properties:
      code_id:
        type: string
        format: uint64
        title: id for legacy support
      creator:
        type: string
      data_hash:
        type: string
        format: byte
      instantiate_permission:
        type: object
        properties:
          permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
          addresses:
            type: array
            items:
              type: string
        description: AccessConfig access control type.
    title: CodeInfoResponse contains code meta data from CodeInfo
  cosmwasm.wasm.v1.ContractCodeHistoryEntry:
    type: object
    properties:
      operation:
        type: string
        enum:
          - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
          - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT
          - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE
          - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS
        default: CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
        description: >-
          - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED:
          ContractCodeHistoryOperationTypeUnspecified placeholder for empty
          value
           - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT: ContractCodeHistoryOperationTypeInit on chain contract instantiation
           - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE: ContractCodeHistoryOperationTypeMigrate code migration
           - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS: ContractCodeHistoryOperationTypeGenesis based on genesis data
        title: ContractCodeHistoryOperationType actions that caused a code change
      code_id:
        type: string
        format: uint64
        title: CodeID is the reference to the stored WASM code
      updated:
        description: Updated Tx position when the operation was executed.
        type: object
        properties:
          block_height:
            type: string
            format: uint64
            title: BlockHeight is the block the contract was created at
          tx_index:
            type: string
            format: uint64
            title: >-
              TxIndex is a monotonic counter within the block (actual
              transaction index,

              or gas consumed)
      msg:
        type: string
        format: byte
    description: ContractCodeHistoryEntry metadata to a contract.
  cosmwasm.wasm.v1.ContractCodeHistoryOperationType:
    type: string
    enum:
      - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
      - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT
      - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE
      - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS
    default: CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
    description: >-
      - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED:
      ContractCodeHistoryOperationTypeUnspecified placeholder for empty value
       - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT: ContractCodeHistoryOperationTypeInit on chain contract instantiation
       - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE: ContractCodeHistoryOperationTypeMigrate code migration
       - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS: ContractCodeHistoryOperationTypeGenesis based on genesis data
    title: ContractCodeHistoryOperationType actions that caused a code change
  cosmwasm.wasm.v1.ContractInfo:
    type: object
    properties:
      code_id:
        type: string
        format: uint64
        title: CodeID is the reference to the stored Wasm code
      creator:
        type: string
        title: Creator address who initially instantiated the contract
      admin:
        type: string
        title: Admin is an optional address that can execute migrations
      label:
        type: string
        description: Label is optional metadata to be stored with a contract instance.
      created:
        description: Created Tx position when the contract was instantiated.
        type: object
        properties:
          block_height:
            type: string
            format: uint64
            title: BlockHeight is the block the contract was created at
          tx_index:
            type: string
            format: uint64
            title: >-
              TxIndex is a monotonic counter within the block (actual
              transaction index,

              or gas consumed)
      ibc_port_id:
        type: string
      extension:
        description: |-
          Extension is an extension point to store custom metadata within the
          persistence model.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
    title: ContractInfo stores a WASM contract instance
  cosmwasm.wasm.v1.Model:
    type: object
    properties:
      key:
        type: string
        format: byte
        title: hex-encode key to read it better (this is often ascii)
      value:
        type: string
        format: byte
        title: base64-encode raw value
    title: Model is a struct that holds a KV pair
  cosmwasm.wasm.v1.QueryAllContractStateResponse:
    type: object
    properties:
      models:
        type: array
        items:
          type: object
          properties:
            key:
              type: string
              format: byte
              title: hex-encode key to read it better (this is often ascii)
            value:
              type: string
              format: byte
              title: base64-encode raw value
          title: Model is a struct that holds a KV pair
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            description: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently. It will be empty if
              there are no more results.
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: |-
      QueryAllContractStateResponse is the response type for the
      Query/AllContractState RPC method
  cosmwasm.wasm.v1.QueryBuildAddressResponse:
    type: object
    properties:
      address:
        type: string
        title: Address is the contract address
    description: >-
      QueryBuildAddressResponse is the response type for the Query/BuildAddress
      RPC

      method.
  cosmwasm.wasm.v1.QueryCodeResponse:
    type: object
    properties:
      code_info:
        type: object
        properties:
          code_id:
            type: string
            format: uint64
            title: id for legacy support
          creator:
            type: string
          data_hash:
            type: string
            format: byte
          instantiate_permission:
            type: object
            properties:
              permission:
                type: string
                enum:
                  - ACCESS_TYPE_UNSPECIFIED
                  - ACCESS_TYPE_NOBODY
                  - ACCESS_TYPE_EVERYBODY
                  - ACCESS_TYPE_ANY_OF_ADDRESSES
                default: ACCESS_TYPE_UNSPECIFIED
                description: >-
                  - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder
                  for empty value
                   - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                   - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                   - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                title: AccessType permission types
              addresses:
                type: array
                items:
                  type: string
            description: AccessConfig access control type.
        title: CodeInfoResponse contains code meta data from CodeInfo
      data:
        type: string
        format: byte
    title: QueryCodeResponse is the response type for the Query/Code RPC method
  cosmwasm.wasm.v1.QueryCodesResponse:
    type: object
    properties:
      code_infos:
        type: array
        items:
          type: object
          properties:
            code_id:
              type: string
              format: uint64
              title: id for legacy support
            creator:
              type: string
            data_hash:
              type: string
              format: byte
            instantiate_permission:
              type: object
              properties:
                permission:
                  type: string
                  enum:
                    - ACCESS_TYPE_UNSPECIFIED
                    - ACCESS_TYPE_NOBODY
                    - ACCESS_TYPE_EVERYBODY
                    - ACCESS_TYPE_ANY_OF_ADDRESSES
                  default: ACCESS_TYPE_UNSPECIFIED
                  description: >-
                    - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder
                    for empty value
                     - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                     - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                     - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                  title: AccessType permission types
                addresses:
                  type: array
                  items:
                    type: string
              description: AccessConfig access control type.
          title: CodeInfoResponse contains code meta data from CodeInfo
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            description: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently. It will be empty if
              there are no more results.
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: QueryCodesResponse is the response type for the Query/Codes RPC method
  cosmwasm.wasm.v1.QueryContractHistoryResponse:
    type: object
    properties:
      entries:
        type: array
        items:
          type: object
          properties:
            operation:
              type: string
              enum:
                - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
                - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT
                - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE
                - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS
              default: CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED
              description: >-
                - CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED:
                ContractCodeHistoryOperationTypeUnspecified placeholder for
                empty value
                 - CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT: ContractCodeHistoryOperationTypeInit on chain contract instantiation
                 - CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE: ContractCodeHistoryOperationTypeMigrate code migration
                 - CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS: ContractCodeHistoryOperationTypeGenesis based on genesis data
              title: >-
                ContractCodeHistoryOperationType actions that caused a code
                change
            code_id:
              type: string
              format: uint64
              title: CodeID is the reference to the stored WASM code
            updated:
              description: Updated Tx position when the operation was executed.
              type: object
              properties:
                block_height:
                  type: string
                  format: uint64
                  title: BlockHeight is the block the contract was created at
                tx_index:
                  type: string
                  format: uint64
                  title: >-
                    TxIndex is a monotonic counter within the block (actual
                    transaction index,

                    or gas consumed)
            msg:
              type: string
              format: byte
          description: ContractCodeHistoryEntry metadata to a contract.
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            description: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently. It will be empty if
              there are no more results.
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: |-
      QueryContractHistoryResponse is the response type for the
      Query/ContractHistory RPC method
  cosmwasm.wasm.v1.QueryContractInfoResponse:
    type: object
    properties:
      address:
        type: string
        title: address is the address of the contract
      contract_info:
        type: object
        properties:
          code_id:
            type: string
            format: uint64
            title: CodeID is the reference to the stored Wasm code
          creator:
            type: string
            title: Creator address who initially instantiated the contract
          admin:
            type: string
            title: Admin is an optional address that can execute migrations
          label:
            type: string
            description: Label is optional metadata to be stored with a contract instance.
          created:
            description: Created Tx position when the contract was instantiated.
            type: object
            properties:
              block_height:
                type: string
                format: uint64
                title: BlockHeight is the block the contract was created at
              tx_index:
                type: string
                format: uint64
                title: >-
                  TxIndex is a monotonic counter within the block (actual
                  transaction index,

                  or gas consumed)
          ibc_port_id:
            type: string
          extension:
            description: >-
              Extension is an extension point to store custom metadata within
              the

              persistence model.
            type: object
            properties:
              '@type':
                type: string
                description: >-
                  A URL/resource name that uniquely identifies the type of the
                  serialized

                  protocol buffer message. This string must contain at least

                  one "/" character. The last segment of the URL's path must
                  represent

                  the fully qualified name of the type (as in

                  `path/google.protobuf.Duration`). The name should be in a
                  canonical form

                  (e.g., leading "." is not accepted).


                  In practice, teams usually precompile into the binary all
                  types that they

                  expect it to use in the context of Any. However, for URLs
                  which use the

                  scheme `http`, `https`, or no scheme, one can optionally set
                  up a type

                  server that maps type URLs to message definitions as follows:


                  * If no scheme is provided, `https` is assumed.

                  * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                    value in binary format, or produce an error.
                  * Applications are allowed to cache lookup results based on
                  the
                    URL, or have them precompiled into a binary to avoid any
                    lookup. Therefore, binary compatibility needs to be preserved
                    on changes to types. (Use versioned type names to manage
                    breaking changes.)

                  Note: this functionality is not currently available in the
                  official

                  protobuf release, and it is not used for type URLs beginning
                  with

                  type.googleapis.com. As of May 2023, there are no widely used
                  type server

                  implementations and no plans to implement one.


                  Schemes other than `http`, `https` (or the empty scheme) might
                  be

                  used with implementation specific semantics.
            additionalProperties: {}
        title: ContractInfo stores a WASM contract instance
    title: >-
      QueryContractInfoResponse is the response type for the Query/ContractInfo
      RPC

      method
  cosmwasm.wasm.v1.QueryContractsByCodeResponse:
    type: object
    properties:
      contracts:
        type: array
        items:
          type: string
        title: contracts are a set of contract addresses
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            description: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently. It will be empty if
              there are no more results.
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: |-
      QueryContractsByCodeResponse is the response type for the
      Query/ContractsByCode RPC method
  cosmwasm.wasm.v1.QueryContractsByCreatorResponse:
    type: object
    properties:
      contract_addresses:
        type: array
        items:
          type: string
        title: ContractAddresses result set
      pagination:
        description: Pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            description: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently. It will be empty if
              there are no more results.
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    description: |-
      QueryContractsByCreatorResponse is the response type for the
      Query/ContractsByCreator RPC method.
  cosmwasm.wasm.v1.QueryParamsResponse:
    type: object
    properties:
      params:
        description: params defines the parameters of the module.
        type: object
        properties:
          code_upload_access:
            type: object
            properties:
              permission:
                type: string
                enum:
                  - ACCESS_TYPE_UNSPECIFIED
                  - ACCESS_TYPE_NOBODY
                  - ACCESS_TYPE_EVERYBODY
                  - ACCESS_TYPE_ANY_OF_ADDRESSES
                default: ACCESS_TYPE_UNSPECIFIED
                description: >-
                  - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder
                  for empty value
                   - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
                   - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
                   - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
                title: AccessType permission types
              addresses:
                type: array
                items:
                  type: string
            description: AccessConfig access control type.
          instantiate_default_permission:
            type: string
            enum:
              - ACCESS_TYPE_UNSPECIFIED
              - ACCESS_TYPE_NOBODY
              - ACCESS_TYPE_EVERYBODY
              - ACCESS_TYPE_ANY_OF_ADDRESSES
            default: ACCESS_TYPE_UNSPECIFIED
            description: >-
              - ACCESS_TYPE_UNSPECIFIED: AccessTypeUnspecified placeholder for
              empty value
               - ACCESS_TYPE_NOBODY: AccessTypeNobody forbidden
               - ACCESS_TYPE_EVERYBODY: AccessTypeEverybody unrestricted
               - ACCESS_TYPE_ANY_OF_ADDRESSES: AccessTypeAnyOfAddresses allow any of the addresses
            title: AccessType permission types
    description: QueryParamsResponse is the response type for the Query/Params RPC method.
  cosmwasm.wasm.v1.QueryPinnedCodesResponse:
    type: object
    properties:
      code_ids:
        type: array
        items:
          type: string
          format: uint64
      pagination:
        description: pagination defines the pagination in the response.
        type: object
        properties:
          next_key:
            type: string
            format: byte
            description: |-
              next_key is the key to be passed to PageRequest.key to
              query the next page most efficiently. It will be empty if
              there are no more results.
          total:
            type: string
            format: uint64
            title: >-
              total is total number of results available if
              PageRequest.count_total

              was set, its value is undefined otherwise
    title: |-
      QueryPinnedCodesResponse is the response type for the
      Query/PinnedCodes RPC method
  cosmwasm.wasm.v1.QueryRawContractStateResponse:
    type: object
    properties:
      data:
        type: string
        format: byte
        title: Data contains the raw store data
    title: |-
      QueryRawContractStateResponse is the response type for the
      Query/RawContractState RPC method
  cosmwasm.wasm.v1.QuerySmartContractStateResponse:
    type: object
    properties:
      data:
        type: string
        format: byte
        title: Data contains the json data returned from the smart contract
    title: |-
      QuerySmartContractStateResponse is the response type for the
      Query/SmartContractState RPC method
  ibc.applications.fee.v1.Fee:
    type: object
    properties:
      recv_fee:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: the packet receive fee
      ack_fee:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: the packet acknowledgement fee
      timeout_fee:
        type: array
        items:
          type: object
          properties:
            denom:
              type: string
            amount:
              type: string
          description: |-
            Coin defines a token with a denomination and an amount.

            NOTE: The amount field is an Int which implements the custom method
            signatures required by gogoproto.
        title: the packet timeout fee
    title: Fee defines the ICS29 receive, acknowledgement and timeout fees
  ibc.applications.fee.v1.MsgPayPacketFee:
    type: object
    properties:
      fee:
        title: >-
          fee encapsulates the recv, ack and timeout fees associated with an IBC
          packet
        type: object
        properties:
          recv_fee:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            title: the packet receive fee
          ack_fee:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            title: the packet acknowledgement fee
          timeout_fee:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            title: the packet timeout fee
      source_port_id:
        type: string
        title: the source port unique identifier
      source_channel_id:
        type: string
        title: the source channel unique identifer
      signer:
        type: string
        title: account address to refund fee if necessary
      relayers:
        type: array
        items:
          type: string
        title: optional list of relayers permitted to the receive packet fees
    title: >-
      MsgPayPacketFee defines the request type for the PayPacketFee rpc

      This Msg can be used to pay for a packet at the next sequence send &
      should be combined with the Msg that will be

      paid for
  ibc.applications.fee.v1.MsgPayPacketFeeAsync:
    type: object
    properties:
      packet_id:
        title: >-
          unique packet identifier comprised of the channel ID, port ID and
          sequence
        type: object
        properties:
          port_id:
            type: string
            title: channel port identifier
          channel_id:
            type: string
            title: channel unique identifier
          sequence:
            type: string
            format: uint64
            title: packet sequence
      packet_fee:
        title: the packet fee associated with a particular IBC packet
        type: object
        properties:
          fee:
            title: >-
              fee encapsulates the recv, ack and timeout fees associated with an
              IBC packet
            type: object
            properties:
              recv_fee:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: the packet receive fee
              ack_fee:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: the packet acknowledgement fee
              timeout_fee:
                type: array
                items:
                  type: object
                  properties:
                    denom:
                      type: string
                    amount:
                      type: string
                  description: >-
                    Coin defines a token with a denomination and an amount.


                    NOTE: The amount field is an Int which implements the custom
                    method

                    signatures required by gogoproto.
                title: the packet timeout fee
          refund_address:
            type: string
            title: the refund address for unspent fees
          relayers:
            type: array
            items:
              type: string
            title: optional list of relayers permitted to receive fees
    title: >-
      MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync
      rpc

      This Msg can be used to pay for a packet at a specified sequence (instead
      of the next sequence send)
  ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse:
    type: object
    title: >-
      MsgPayPacketFeeAsyncResponse defines the response type for the
      PayPacketFeeAsync rpc
  ibc.applications.fee.v1.MsgPayPacketFeeResponse:
    type: object
    title: MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc
  ibc.applications.fee.v1.MsgRegisterCounterpartyPayee:
    type: object
    properties:
      port_id:
        type: string
        title: unique port identifier
      channel_id:
        type: string
        title: unique channel identifier
      relayer:
        type: string
        title: the relayer address
      counterparty_payee:
        type: string
        title: the counterparty payee address
    title: >-
      MsgRegisterCounterpartyPayee defines the request type for the
      RegisterCounterpartyPayee rpc
  ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse:
    type: object
    title: >-
      MsgRegisterCounterpartyPayeeResponse defines the response type for the
      RegisterCounterpartyPayee rpc
  ibc.applications.fee.v1.MsgRegisterPayee:
    type: object
    properties:
      port_id:
        type: string
        title: unique port identifier
      channel_id:
        type: string
        title: unique channel identifier
      relayer:
        type: string
        title: the relayer address
      payee:
        type: string
        title: the payee address
    title: MsgRegisterPayee defines the request type for the RegisterPayee rpc
  ibc.applications.fee.v1.MsgRegisterPayeeResponse:
    type: object
    title: >-
      MsgRegisterPayeeResponse defines the response type for the RegisterPayee
      rpc
  ibc.applications.fee.v1.PacketFee:
    type: object
    properties:
      fee:
        title: >-
          fee encapsulates the recv, ack and timeout fees associated with an IBC
          packet
        type: object
        properties:
          recv_fee:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            title: the packet receive fee
          ack_fee:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            title: the packet acknowledgement fee
          timeout_fee:
            type: array
            items:
              type: object
              properties:
                denom:
                  type: string
                amount:
                  type: string
              description: >-
                Coin defines a token with a denomination and an amount.


                NOTE: The amount field is an Int which implements the custom
                method

                signatures required by gogoproto.
            title: the packet timeout fee
      refund_address:
        type: string
        title: the refund address for unspent fees
      relayers:
        type: array
        items:
          type: string
        title: optional list of relayers permitted to receive fees
    title: >-
      PacketFee contains ICS29 relayer fees, refund address and optional list of
      permitted relayers
  ibc.core.channel.v1.PacketId:
    type: object
    properties:
      port_id:
        type: string
        title: channel port identifier
      channel_id:
        type: string
        title: channel unique identifier
      sequence:
        type: string
        format: uint64
        title: packet sequence
    title: |-
      PacketId is an identifer for a unique Packet
      Source chains refer to packets by source port/channel
      Destination chains refer to packets by destination port/channel
  ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount:
    type: object
    properties:
      owner:
        type: string
      connection_id:
        type: string
      version:
        type: string
      ordering:
        type: string
        enum:
          - ORDER_NONE_UNSPECIFIED
          - ORDER_UNORDERED
          - ORDER_ORDERED
        default: ORDER_NONE_UNSPECIFIED
        description: |-
          - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
           - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
          which they were sent.
           - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
        title: Order defines if a channel is ORDERED or UNORDERED
    title: MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount
  ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse:
    type: object
    properties:
      channel_id:
        type: string
      port_id:
        type: string
    title: >-
      MsgRegisterInterchainAccountResponse defines the response for
      Msg/RegisterAccount
  ibc.applications.interchain_accounts.controller.v1.MsgSendTx:
    type: object
    properties:
      owner:
        type: string
      connection_id:
        type: string
      packet_data:
        type: object
        properties:
          type:
            type: string
            enum:
              - TYPE_UNSPECIFIED
              - TYPE_EXECUTE_TX
            default: TYPE_UNSPECIFIED
            description: |-
              - TYPE_UNSPECIFIED: Default zero value enumeration
               - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain
            title: >-
              Type defines a classification of message issued from a controller
              chain to its associated interchain accounts

              host
          data:
            type: string
            format: byte
          memo:
            type: string
        description: >-
          InterchainAccountPacketData is comprised of a raw transaction, type of
          transaction and optional memo field.
      relative_timeout:
        type: string
        format: uint64
        description: >-
          Relative timeout timestamp provided will be added to the current block
          time during transaction execution.

          The timeout timestamp must be non-zero.
    title: MsgSendTx defines the payload for Msg/SendTx
  ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse:
    type: object
    properties:
      sequence:
        type: string
        format: uint64
    title: MsgSendTxResponse defines the response for MsgSendTx
  ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams:
    type: object
    properties:
      signer:
        type: string
        title: signer address
      params:
        description: >-
          params defines the 27-interchain-accounts/controller parameters to
          update.


          NOTE: All parameters must be supplied.
        type: object
        properties:
          controller_enabled:
            type: boolean
            description: controller_enabled enables or disables the controller submodule.
    title: MsgUpdateParams defines the payload for Msg/UpdateParams
  ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse:
    type: object
    title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams
  ibc.applications.interchain_accounts.controller.v1.Params:
    type: object
    properties:
      controller_enabled:
        type: boolean
        description: controller_enabled enables or disables the controller submodule.
    description: |-
      Params defines the set of on-chain interchain accounts parameters.
      The following parameters may be used to disable the controller submodule.
  ibc.applications.interchain_accounts.v1.InterchainAccountPacketData:
    type: object
    properties:
      type:
        type: string
        enum:
          - TYPE_UNSPECIFIED
          - TYPE_EXECUTE_TX
        default: TYPE_UNSPECIFIED
        description: |-
          - TYPE_UNSPECIFIED: Default zero value enumeration
           - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain
        title: >-
          Type defines a classification of message issued from a controller
          chain to its associated interchain accounts

          host
      data:
        type: string
        format: byte
      memo:
        type: string
    description: >-
      InterchainAccountPacketData is comprised of a raw transaction, type of
      transaction and optional memo field.
  ibc.applications.interchain_accounts.v1.Type:
    type: string
    enum:
      - TYPE_UNSPECIFIED
      - TYPE_EXECUTE_TX
    default: TYPE_UNSPECIFIED
    description: |-
      - TYPE_UNSPECIFIED: Default zero value enumeration
       - TYPE_EXECUTE_TX: Execute a transaction on an interchain accounts host chain
    title: >-
      Type defines a classification of message issued from a controller chain to
      its associated interchain accounts

      host
  ibc.core.channel.v1.Order:
    type: string
    enum:
      - ORDER_NONE_UNSPECIFIED
      - ORDER_UNORDERED
      - ORDER_ORDERED
    default: ORDER_NONE_UNSPECIFIED
    description: |-
      - ORDER_NONE_UNSPECIFIED: zero-value for channel ordering
       - ORDER_UNORDERED: packets can be delivered in any order, which may differ from the order in
      which they were sent.
       - ORDER_ORDERED: packets are delivered exactly in the order which they were sent
    title: Order defines if a channel is ORDERED or UNORDERED
  ibc.applications.interchain_accounts.host.v1.MsgUpdateParams:
    type: object
    properties:
      signer:
        type: string
        title: signer address
      params:
        description: |-
          params defines the 27-interchain-accounts/host parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          host_enabled:
            type: boolean
            description: host_enabled enables or disables the host submodule.
          allow_messages:
            type: array
            items:
              type: string
            description: >-
              allow_messages defines a list of sdk message typeURLs allowed to
              be executed on a host chain.
    title: MsgUpdateParams defines the payload for Msg/UpdateParams
  ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse:
    type: object
    title: MsgUpdateParamsResponse defines the response for Msg/UpdateParams
  ibc.applications.interchain_accounts.host.v1.Params:
    type: object
    properties:
      host_enabled:
        type: boolean
        description: host_enabled enables or disables the host submodule.
      allow_messages:
        type: array
        items:
          type: string
        description: >-
          allow_messages defines a list of sdk message typeURLs allowed to be
          executed on a host chain.
    description: |-
      Params defines the set of on-chain interchain accounts parameters.
      The following parameters may be used to disable the host submodule.
  cosmos.upgrade.v1beta1.Plan:
    type: object
    properties:
      name:
        type: string
        description: >-
          Sets the name for the upgrade. This name will be used by the upgraded

          version of the software to apply any special "on-upgrade" commands
          during

          the first BeginBlock method after the upgrade is applied. It is also
          used

          to detect whether a software version can handle a given upgrade. If no

          upgrade handler with this name has been set in the software, it will
          be

          assumed that the software is out-of-date when the upgrade Time or
          Height is

          reached and the software will exit.
      time:
        type: string
        format: date-time
        description: >-
          Deprecated: Time based upgrades have been deprecated. Time based
          upgrade logic

          has been removed from the SDK.

          If this field is not empty, an error will be thrown.
      height:
        type: string
        format: int64
        description: The height at which the upgrade must be performed.
      info:
        type: string
        title: |-
          Any application specific upgrade info to be included on-chain
          such as a git commit that validators could automatically upgrade to
      upgraded_client_state:
        description: >-
          Deprecated: UpgradedClientState field has been deprecated. IBC upgrade
          logic has been

          moved to the IBC module in the sub module 02-client.

          If this field is not empty, an error will be thrown.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
    description: >-
      Plan specifies information about a planned upgrade and when it should
      occur.
  ibc.core.client.v1.MsgCreateClient:
    type: object
    properties:
      client_state:
        title: light client state
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      consensus_state:
        description: |-
          consensus state associated with the client that corresponds to a given
          height.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
      signer:
        type: string
        title: signer address
    title: MsgCreateClient defines a message to create an IBC client
  ibc.core.client.v1.MsgCreateClientResponse:
    type: object
    description: MsgCreateClientResponse defines the Msg/CreateClient response type.
  ibc.core.client.v1.MsgIBCSoftwareUpgrade:
    type: object
    properties:
      plan:
        type: object
        properties:
          name:
            type: string
            description: >-
              Sets the name for the upgrade. This name will be used by the
              upgraded

              version of the software to apply any special "on-upgrade" commands
              during

              the first BeginBlock method after the upgrade is applied. It is
              also used

              to detect whether a software version can handle a given upgrade.
              If no

              upgrade handler with this name has been set in the software, it
              will be

              assumed that the software is out-of-date when the upgrade Time or
              Height is

              reached and the software will exit.
          time:
            type: string
            format: date-time
            description: >-
              Deprecated: Time based upgrades have been deprecated. Time based
              upgrade logic

              has been removed from the SDK.

              If this field is not empty, an error will be thrown.
          height:
            type: string
            format: int64
            description: The height at which the upgrade must be performed.
          info:
            type: string
            title: >-
              Any application specific upgrade info to be included on-chain

              such as a git commit that validators could automatically upgrade
              to
          upgraded_client_state:
            description: >-
              Deprecated: UpgradedClientState field has been deprecated. IBC
              upgrade logic has been

              moved to the IBC module in the sub module 02-client.

              If this field is not empty, an error will be thrown.
            type: object
            properties:
              '@type':
                type: string
                description: >-
                  A URL/resource name that uniquely identifies the type of the
                  serialized

                  protocol buffer message. This string must contain at least

                  one "/" character. The last segment of the URL's path must
                  represent

                  the fully qualified name of the type (as in

                  `path/google.protobuf.Duration`). The name should be in a
                  canonical form

                  (e.g., leading "." is not accepted).


                  In practice, teams usually precompile into the binary all
                  types that they

                  expect it to use in the context of Any. However, for URLs
                  which use the

                  scheme `http`, `https`, or no scheme, one can optionally set
                  up a type

                  server that maps type URLs to message definitions as follows:


                  * If no scheme is provided, `https` is assumed.

                  * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                    value in binary format, or produce an error.
                  * Applications are allowed to cache lookup results based on
                  the
                    URL, or have them precompiled into a binary to avoid any
                    lookup. Therefore, binary compatibility needs to be preserved
                    on changes to types. (Use versioned type names to manage
                    breaking changes.)

                  Note: this functionality is not currently available in the
                  official

                  protobuf release, and it is not used for type URLs beginning
                  with

                  type.googleapis.com. As of May 2023, there are no widely used
                  type server

                  implementations and no plans to implement one.


                  Schemes other than `http`, `https` (or the empty scheme) might
                  be

                  used with implementation specific semantics.
            additionalProperties: {}
        description: >-
          Plan specifies information about a planned upgrade and when it should
          occur.
      upgraded_client_state:
        description: >-
          An UpgradedClientState must be provided to perform an IBC breaking
          upgrade.

          This will make the chain commit to the correct upgraded (self) client
          state

          before the upgrade occurs, so that connecting chains can verify that
          the

          new upgraded client is valid by verifying a proof on the previous
          version

          of the chain. This will allow IBC connections to persist smoothly
          across

          planned chain upgrades. Correspondingly, the UpgradedClientState field
          has been

          deprecated in the Cosmos SDK to allow for this logic to exist solely
          in

          the 02-client module.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
      signer:
        type: string
        title: signer address
    title: >-
      MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of
      an IBC client using a v1 governance proposal
  ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse:
    type: object
    description: >-
      MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response
      type.
  ibc.core.client.v1.MsgRecoverClient:
    type: object
    properties:
      subject_client_id:
        type: string
        title: >-
          the client identifier for the client to be updated if the proposal
          passes
      substitute_client_id:
        type: string
        title: >-
          the substitute client identifier for the client which will replace the
          subject

          client
      signer:
        type: string
        title: signer address
    description: >-
      MsgRecoverClient defines the message used to recover a frozen or expired
      client.
  ibc.core.client.v1.MsgRecoverClientResponse:
    type: object
    description: MsgRecoverClientResponse defines the Msg/RecoverClient response type.
  ibc.core.client.v1.MsgSubmitMisbehaviour:
    type: object
    properties:
      client_id:
        type: string
        title: client unique identifier
      misbehaviour:
        title: misbehaviour used for freezing the light client
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      signer:
        type: string
        title: signer address
    description: |-
      MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for
      light client misbehaviour.
      This message has been deprecated. Use MsgUpdateClient instead.
  ibc.core.client.v1.MsgSubmitMisbehaviourResponse:
    type: object
    description: |-
      MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response
      type.
  ibc.core.client.v1.MsgUpdateClient:
    type: object
    properties:
      client_id:
        type: string
        title: client unique identifier
      client_message:
        title: client message to update the light client
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      signer:
        type: string
        title: signer address
    description: |-
      MsgUpdateClient defines an sdk.Msg to update a IBC client state using
      the given client message.
  ibc.core.client.v1.MsgUpdateClientResponse:
    type: object
    description: MsgUpdateClientResponse defines the Msg/UpdateClient response type.
  ibc.core.client.v1.MsgUpdateParams:
    type: object
    properties:
      signer:
        type: string
        title: signer address
      params:
        description: |-
          params defines the client parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          allowed_clients:
            type: array
            items:
              type: string
            description: >-
              allowed_clients defines the list of allowed client state types
              which can be created

              and interacted with. If a client type is removed from the allowed
              clients list, usage

              of this client will be disabled until it is added again to the
              list.
    description: MsgUpdateParams defines the sdk.Msg type to update the client parameters.
  ibc.core.client.v1.MsgUpdateParamsResponse:
    type: object
    description: MsgUpdateParamsResponse defines the MsgUpdateParams response type.
  ibc.core.client.v1.MsgUpgradeClient:
    type: object
    properties:
      client_id:
        type: string
        title: client unique identifier
      client_state:
        title: upgraded client state
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      consensus_state:
        title: >-
          upgraded consensus state, only contains enough information to serve as
          a

          basis of trust in update logic
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      proof_upgrade_client:
        type: string
        format: byte
        title: proof that old chain committed to new client
      proof_upgrade_consensus_state:
        type: string
        format: byte
        title: proof that old chain committed to new consensus state
      signer:
        type: string
        title: signer address
    title: >-
      MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new
      client

      state
  ibc.core.client.v1.MsgUpgradeClientResponse:
    type: object
    description: MsgUpgradeClientResponse defines the Msg/UpgradeClient response type.
  ibc.core.client.v1.Params:
    type: object
    properties:
      allowed_clients:
        type: array
        items:
          type: string
        description: >-
          allowed_clients defines the list of allowed client state types which
          can be created

          and interacted with. If a client type is removed from the allowed
          clients list, usage

          of this client will be disabled until it is added again to the list.
    description: Params defines the set of IBC light client parameters.
  ibc.core.client.v1.Height:
    type: object
    properties:
      revision_number:
        type: string
        format: uint64
        title: the revision that the client is currently on
      revision_height:
        type: string
        format: uint64
        title: the height within the given revision
    description: |-
      Normally the RevisionHeight is incremented at each height while keeping
      RevisionNumber the same. However some consensus algorithms may choose to
      reset the height in certain conditions e.g. hard forks, state-machine
      breaking changes In these cases, the RevisionNumber is incremented so that
      height continues to be monitonically increasing even as the RevisionHeight
      gets reset
    title: >-
      Height is a monotonically increasing data type

      that can be compared against another Height for the purposes of updating
      and

      freezing clients
  ibc.core.commitment.v1.MerklePrefix:
    type: object
    properties:
      key_prefix:
        type: string
        format: byte
    title: |-
      MerklePrefix is merkle path prefixed to the key.
      The constructed key from the Path and the key will be append(Path.KeyPath,
      append(Path.KeyPrefix, key...))
  ibc.core.connection.v1.Counterparty:
    type: object
    properties:
      client_id:
        type: string
        description: >-
          identifies the client on the counterparty chain associated with a
          given

          connection.
      connection_id:
        type: string
        description: >-
          identifies the connection end on the counterparty chain associated
          with a

          given connection.
      prefix:
        description: commitment merkle prefix of the counterparty chain.
        type: object
        properties:
          key_prefix:
            type: string
            format: byte
        title: >-
          MerklePrefix is merkle path prefixed to the key.

          The constructed key from the Path and the key will be
          append(Path.KeyPath,

          append(Path.KeyPrefix, key...))
    description: >-
      Counterparty defines the counterparty chain associated with a connection
      end.
  ibc.core.connection.v1.MsgConnectionOpenAck:
    type: object
    properties:
      connection_id:
        type: string
      counterparty_connection_id:
        type: string
      version:
        type: object
        properties:
          identifier:
            type: string
            title: unique version identifier
          features:
            type: array
            items:
              type: string
            title: list of features compatible with the specified identifier
        description: >-
          Version defines the versioning scheme used to negotiate the IBC
          verison in

          the connection handshake.
      client_state:
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      proof_height:
        type: object
        properties:
          revision_number:
            type: string
            format: uint64
            title: the revision that the client is currently on
          revision_height:
            type: string
            format: uint64
            title: the height within the given revision
        description: >-
          Normally the RevisionHeight is incremented at each height while
          keeping

          RevisionNumber the same. However some consensus algorithms may choose
          to

          reset the height in certain conditions e.g. hard forks, state-machine

          breaking changes In these cases, the RevisionNumber is incremented so
          that

          height continues to be monitonically increasing even as the
          RevisionHeight

          gets reset
        title: >-
          Height is a monotonically increasing data type

          that can be compared against another Height for the purposes of
          updating and

          freezing clients
      proof_try:
        type: string
        format: byte
        title: |-
          proof of the initialization the connection on Chain B: `UNITIALIZED ->
          TRYOPEN`
      proof_client:
        type: string
        format: byte
        title: proof of client state included in message
      proof_consensus:
        type: string
        format: byte
        title: proof of client consensus state
      consensus_height:
        type: object
        properties:
          revision_number:
            type: string
            format: uint64
            title: the revision that the client is currently on
          revision_height:
            type: string
            format: uint64
            title: the height within the given revision
        description: >-
          Normally the RevisionHeight is incremented at each height while
          keeping

          RevisionNumber the same. However some consensus algorithms may choose
          to

          reset the height in certain conditions e.g. hard forks, state-machine

          breaking changes In these cases, the RevisionNumber is incremented so
          that

          height continues to be monitonically increasing even as the
          RevisionHeight

          gets reset
        title: >-
          Height is a monotonically increasing data type

          that can be compared against another Height for the purposes of
          updating and

          freezing clients
      signer:
        type: string
      host_consensus_state_proof:
        type: string
        format: byte
        title: >-
          optional proof data for host state machines that are unable to
          introspect their own consensus state
    description: |-
      MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to
      acknowledge the change of connection state to TRYOPEN on Chain B.
  ibc.core.connection.v1.MsgConnectionOpenAckResponse:
    type: object
    description: >-
      MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response
      type.
  ibc.core.connection.v1.MsgConnectionOpenConfirm:
    type: object
    properties:
      connection_id:
        type: string
      proof_ack:
        type: string
        format: byte
        title: >-
          proof for the change of the connection state on Chain A: `INIT ->
          OPEN`
      proof_height:
        type: object
        properties:
          revision_number:
            type: string
            format: uint64
            title: the revision that the client is currently on
          revision_height:
            type: string
            format: uint64
            title: the height within the given revision
        description: >-
          Normally the RevisionHeight is incremented at each height while
          keeping

          RevisionNumber the same. However some consensus algorithms may choose
          to

          reset the height in certain conditions e.g. hard forks, state-machine

          breaking changes In these cases, the RevisionNumber is incremented so
          that

          height continues to be monitonically increasing even as the
          RevisionHeight

          gets reset
        title: >-
          Height is a monotonically increasing data type

          that can be compared against another Height for the purposes of
          updating and

          freezing clients
      signer:
        type: string
    description: |-
      MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to
      acknowledge the change of connection state to OPEN on Chain A.
  ibc.core.connection.v1.MsgConnectionOpenConfirmResponse:
    type: object
    description: |-
      MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm
      response type.
  ibc.core.connection.v1.MsgConnectionOpenInit:
    type: object
    properties:
      client_id:
        type: string
      counterparty:
        type: object
        properties:
          client_id:
            type: string
            description: >-
              identifies the client on the counterparty chain associated with a
              given

              connection.
          connection_id:
            type: string
            description: >-
              identifies the connection end on the counterparty chain associated
              with a

              given connection.
          prefix:
            description: commitment merkle prefix of the counterparty chain.
            type: object
            properties:
              key_prefix:
                type: string
                format: byte
            title: >-
              MerklePrefix is merkle path prefixed to the key.

              The constructed key from the Path and the key will be
              append(Path.KeyPath,

              append(Path.KeyPrefix, key...))
        description: >-
          Counterparty defines the counterparty chain associated with a
          connection end.
      version:
        type: object
        properties:
          identifier:
            type: string
            title: unique version identifier
          features:
            type: array
            items:
              type: string
            title: list of features compatible with the specified identifier
        description: >-
          Version defines the versioning scheme used to negotiate the IBC
          verison in

          the connection handshake.
      delay_period:
        type: string
        format: uint64
      signer:
        type: string
    description: |-
      MsgConnectionOpenInit defines the msg sent by an account on Chain A to
      initialize a connection with Chain B.
  ibc.core.connection.v1.MsgConnectionOpenInitResponse:
    type: object
    description: |-
      MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response
      type.
  ibc.core.connection.v1.MsgConnectionOpenTry:
    type: object
    properties:
      client_id:
        type: string
      previous_connection_id:
        type: string
        description: >-
          Deprecated: this field is unused. Crossing hellos are no longer
          supported in core IBC.
      client_state:
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      counterparty:
        type: object
        properties:
          client_id:
            type: string
            description: >-
              identifies the client on the counterparty chain associated with a
              given

              connection.
          connection_id:
            type: string
            description: >-
              identifies the connection end on the counterparty chain associated
              with a

              given connection.
          prefix:
            description: commitment merkle prefix of the counterparty chain.
            type: object
            properties:
              key_prefix:
                type: string
                format: byte
            title: >-
              MerklePrefix is merkle path prefixed to the key.

              The constructed key from the Path and the key will be
              append(Path.KeyPath,

              append(Path.KeyPrefix, key...))
        description: >-
          Counterparty defines the counterparty chain associated with a
          connection end.
      delay_period:
        type: string
        format: uint64
      counterparty_versions:
        type: array
        items:
          type: object
          properties:
            identifier:
              type: string
              title: unique version identifier
            features:
              type: array
              items:
                type: string
              title: list of features compatible with the specified identifier
          description: >-
            Version defines the versioning scheme used to negotiate the IBC
            verison in

            the connection handshake.
      proof_height:
        type: object
        properties:
          revision_number:
            type: string
            format: uint64
            title: the revision that the client is currently on
          revision_height:
            type: string
            format: uint64
            title: the height within the given revision
        description: >-
          Normally the RevisionHeight is incremented at each height while
          keeping

          RevisionNumber the same. However some consensus algorithms may choose
          to

          reset the height in certain conditions e.g. hard forks, state-machine

          breaking changes In these cases, the RevisionNumber is incremented so
          that

          height continues to be monitonically increasing even as the
          RevisionHeight

          gets reset
        title: >-
          Height is a monotonically increasing data type

          that can be compared against another Height for the purposes of
          updating and

          freezing clients
      proof_init:
        type: string
        format: byte
        title: |-
          proof of the initialization the connection on Chain A: `UNITIALIZED ->
          INIT`
      proof_client:
        type: string
        format: byte
        title: proof of client state included in message
      proof_consensus:
        type: string
        format: byte
        title: proof of client consensus state
      consensus_height:
        type: object
        properties:
          revision_number:
            type: string
            format: uint64
            title: the revision that the client is currently on
          revision_height:
            type: string
            format: uint64
            title: the height within the given revision
        description: >-
          Normally the RevisionHeight is incremented at each height while
          keeping

          RevisionNumber the same. However some consensus algorithms may choose
          to

          reset the height in certain conditions e.g. hard forks, state-machine

          breaking changes In these cases, the RevisionNumber is incremented so
          that

          height continues to be monitonically increasing even as the
          RevisionHeight

          gets reset
        title: >-
          Height is a monotonically increasing data type

          that can be compared against another Height for the purposes of
          updating and

          freezing clients
      signer:
        type: string
      host_consensus_state_proof:
        type: string
        format: byte
        title: >-
          optional proof data for host state machines that are unable to
          introspect their own consensus state
    description: |-
      MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a
      connection on Chain B.
  ibc.core.connection.v1.MsgConnectionOpenTryResponse:
    type: object
    description: >-
      MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response
      type.
  ibc.core.connection.v1.MsgUpdateParams:
    type: object
    properties:
      signer:
        type: string
        title: signer address
      params:
        description: |-
          params defines the connection parameters to update.

          NOTE: All parameters must be supplied.
        type: object
        properties:
          max_expected_time_per_block:
            type: string
            format: uint64
            description: >-
              maximum expected time per block (in nanoseconds), used to enforce
              block delay. This parameter should reflect the

              largest amount of time that the chain might reasonably take to
              produce the next block under normal operating

              conditions. A safe choice is 3-5x the expected time per block.
    description: >-
      MsgUpdateParams defines the sdk.Msg type to update the connection
      parameters.
  ibc.core.connection.v1.MsgUpdateParamsResponse:
    type: object
    description: MsgUpdateParamsResponse defines the MsgUpdateParams response type.
  ibc.core.connection.v1.Params:
    type: object
    properties:
      max_expected_time_per_block:
        type: string
        format: uint64
        description: >-
          maximum expected time per block (in nanoseconds), used to enforce
          block delay. This parameter should reflect the

          largest amount of time that the chain might reasonably take to produce
          the next block under normal operating

          conditions. A safe choice is 3-5x the expected time per block.
    description: Params defines the set of Connection parameters.
  ibc.core.connection.v1.Version:
    type: object
    properties:
      identifier:
        type: string
        title: unique version identifier
      features:
        type: array
        items:
          type: string
        title: list of features compatible with the specified identifier
    description: |-
      Version defines the versioning scheme used to negotiate the IBC verison in
      the connection handshake.
  warden.gmp.MsgBridge:
    type: object
    properties:
      relayer:
        type: string
        description: relayer is the address that signs the message.
      destination_chain:
        type: string
        description: destination_chain defines the chain which this will be relayed to.
      warden_contract_address:
        type: string
        description: >-
          warden_contract_address defines the warden contract that GMP is
          calling.
      destination_contract_address:
        type: string
        description: >-
          destination_contract_address defines the destination contract that
          warden is calling.
      destination_contract_calldata:
        type: string
        format: byte
        description: destination_contract_calldata defines the command to call.
      token:
        description: token determines the IBC token that the user wants to relay via GMP.
        type: object
        properties:
          denom:
            type: string
          amount:
            type: string
    description: MsgBridge defines the Bridge message type.
  warden.gmp.MsgBridgeResponse:
    type: object
    description: MsgBridge defines the Bridge response type.
  warden.gmp.MsgSetParams:
    type: object
    properties:
      authority:
        type: string
        description: address that controls the module (defaults to x/gov).
      params:
        description: params defines the gmp parameters to update.
        type: object
        properties:
          gmp_address:
            type: string
            description: The axelar address that we'll send IBC transactions to.
          gmp_channel:
            type: string
            description: The channel over which we communicate with axelar.
          gmp_timeout:
            type: string
            format: int64
            description: >-
              The amount of time we'll wait for a response from axelar before
              timing out.
          fee_recipient:
            type: string
            description: The axelar address of the fee recipient.
    description: MsgSetParams defines the SetParams message type.
  warden.gmp.MsgSetParamsResponse:
    type: object
    description: MsgSetParamsResponse defines the SetParams response type.
  warden.gmp.Params:
    type: object
    properties:
      gmp_address:
        type: string
        description: The axelar address that we'll send IBC transactions to.
      gmp_channel:
        type: string
        description: The channel over which we communicate with axelar.
      gmp_timeout:
        type: string
        format: int64
        description: >-
          The amount of time we'll wait for a response from axelar before timing
          out.
      fee_recipient:
        type: string
        description: The axelar address of the fee recipient.
    description: Params defines the parameters for the gmp module.
  warden.intent.MsgApproveAction:
    type: object
    properties:
      creator:
        type: string
      action_type:
        type: string
      action_id:
        type: string
        format: uint64
  warden.intent.MsgApproveActionResponse:
    type: object
    properties:
      status:
        type: string
  warden.intent.MsgNewAction:
    type: object
    properties:
      creator:
        type: string
        description: creator is the address of the requester of this action.
      message:
        description: >-
          message is the arbitrary message to be executed when the action is
          ready.
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
      action_timeout_height:
        type: string
        format: uint64
        description: >-
          action_timeout_height is the block height up until this action can be
          executed.
  warden.intent.MsgNewActionResponse:
    type: object
    properties:
      id:
        type: string
        format: uint64
        description: id is the unique id of the action.
  warden.intent.MsgNewIntent:
    type: object
    properties:
      creator:
        type: string
      name:
        type: string
      definition:
        type: string
  warden.intent.MsgNewIntentResponse:
    type: object
    properties:
      id:
        type: string
        format: uint64
  warden.intent.MsgRevokeAction:
    type: object
    properties:
      creator:
        type: string
      action_type:
        type: string
      action_id:
        type: string
        format: uint64
  warden.intent.MsgRevokeActionResponse:
    type: object
  warden.intent.MsgUpdateIntent:
    type: object
    properties:
      creator:
        type: string
      id:
        type: string
        format: uint64
      name:
        type: string
      definition:
        type: string
  warden.intent.MsgUpdateIntentResponse:
    type: object
  warden.intent.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: 'NOTE: All parameters must be supplied.'
        type: object
    description: MsgUpdateParams is the Msg/UpdateParams request type.
  warden.intent.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.
  warden.intent.Params:
    type: object
    description: Params defines the parameters for the module.
  warden.warden.v1beta2.KeyRequestStatus:
    type: string
    enum:
      - KEY_REQUEST_STATUS_UNSPECIFIED
      - KEY_REQUEST_STATUS_PENDING
      - KEY_REQUEST_STATUS_FULFILLED
      - KEY_REQUEST_STATUS_REJECTED
    default: KEY_REQUEST_STATUS_UNSPECIFIED
    description: >-
      KeyRequestStatus indicates the status of a key request.

      A request starts as "pending", waiting to be picked up. Then it can move
      to

      either "approved" or "rejected", depending on the decision of the
      keychain.

       - KEY_REQUEST_STATUS_UNSPECIFIED: The request is missing the status field.
       - KEY_REQUEST_STATUS_PENDING: The request is waiting to be fulfilled. This is the initial state of a
      request.
       - KEY_REQUEST_STATUS_FULFILLED: The request was fulfilled. This is a final state for a request.
       - KEY_REQUEST_STATUS_REJECTED: The request was rejected. This is a final state for a request.
  warden.warden.v1beta2.KeyType:
    type: string
    enum:
      - KEY_TYPE_UNSPECIFIED
      - KEY_TYPE_ECDSA_SECP256K1
      - KEY_TYPE_EDDSA_ED25519
    default: KEY_TYPE_UNSPECIFIED
    description: |-
      KeyType indicates what crypto scheme will be used by this key (e.g.
      ECDSA). Its public key will be one of the specified type.

       - KEY_TYPE_UNSPECIFIED: The key type is missing.
       - KEY_TYPE_ECDSA_SECP256K1: The key is an ECDSA secp256k1 key.
       - KEY_TYPE_EDDSA_ED25519: The key is an EdDSA Ed25519 key.
  warden.warden.v1beta2.KeychainFees:
    type: object
    properties:
      key_req:
        type: string
        format: int64
      sig_req:
        type: string
        format: int64
  warden.warden.v1beta2.MsgAddKeychainParty:
    type: object
    properties:
      creator:
        type: string
      keychain_id:
        type: string
        format: uint64
      party:
        type: string
  warden.warden.v1beta2.MsgAddKeychainPartyResponse:
    type: object
  warden.warden.v1beta2.MsgAddSpaceOwner:
    type: object
    properties:
      authority:
        type: string
      space_id:
        type: string
        format: uint64
      new_owner:
        type: string
  warden.warden.v1beta2.MsgAddSpaceOwnerResponse:
    type: object
  warden.warden.v1beta2.MsgFulfilSignRequest:
    type: object
    properties:
      creator:
        type: string
      request_id:
        type: string
        format: uint64
      status:
        type: string
        enum:
          - SIGN_REQUEST_STATUS_UNSPECIFIED
          - SIGN_REQUEST_STATUS_PENDING
          - SIGN_REQUEST_STATUS_FULFILLED
          - SIGN_REQUEST_STATUS_REJECTED
        default: SIGN_REQUEST_STATUS_UNSPECIFIED
        description: >-
          SignRequestStatus indicates the status of a signature request.

          A request starts as "pending", waiting to be picked up. Then it can
          move to

          either "approved" or "rejected", depending on the decision of the
          keychain.

           - SIGN_REQUEST_STATUS_UNSPECIFIED: The request is missing the status field.
           - SIGN_REQUEST_STATUS_PENDING: The request is waiting to be fulfilled. This is the initial state of a
          request.
           - SIGN_REQUEST_STATUS_FULFILLED: The request was fulfilled. This is a final state for a request.
           - SIGN_REQUEST_STATUS_REJECTED: The request was rejected. This is a final state for a request.
      payload:
        type: object
        properties:
          signed_data:
            type: string
            format: byte
      reject_reason:
        type: string
  warden.warden.v1beta2.MsgFulfilSignRequestResponse:
    type: object
  warden.warden.v1beta2.MsgNewKey:
    type: object
    properties:
      public_key:
        type: string
        format: byte
  warden.warden.v1beta2.MsgNewKeyRequest:
    type: object
    properties:
      authority:
        type: string
      space_id:
        type: string
        format: uint64
      keychain_id:
        type: string
        format: uint64
      key_type:
        type: string
        enum:
          - KEY_TYPE_UNSPECIFIED
          - KEY_TYPE_ECDSA_SECP256K1
          - KEY_TYPE_EDDSA_ED25519
        default: KEY_TYPE_UNSPECIFIED
        description: |-
          KeyType indicates what crypto scheme will be used by this key (e.g.
          ECDSA). Its public key will be one of the specified type.

           - KEY_TYPE_UNSPECIFIED: The key type is missing.
           - KEY_TYPE_ECDSA_SECP256K1: The key is an ECDSA secp256k1 key.
           - KEY_TYPE_EDDSA_ED25519: The key is an EdDSA Ed25519 key.
      intent_id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgNewKeyRequestResponse:
    type: object
    properties:
      id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgNewKeychain:
    type: object
    properties:
      creator:
        type: string
      description:
        type: string
      admin_intent_id:
        type: string
        format: uint64
      keychain_fees:
        type: object
        properties:
          key_req:
            type: string
            format: int64
          sig_req:
            type: string
            format: int64
  warden.warden.v1beta2.MsgNewKeychainResponse:
    type: object
    properties:
      id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgNewSignRequest:
    type: object
    properties:
      authority:
        type: string
      key_id:
        type: string
        format: uint64
      input:
        type: string
        format: byte
      sign_method:
        type: string
        enum:
          - SIGN_METHOD_BLACK_BOX
          - SIGN_METHOD_ETH
          - SIGN_METHOD_OSMOSIS
        default: SIGN_METHOD_BLACK_BOX
        description: >-
          SignMethod specifies what method of the protocol should be used for
          parsing

          the data to be signed.

           - SIGN_METHOD_BLACK_BOX: Sign method black box means that the input will be used as-is.
           - SIGN_METHOD_ETH: Sign method ETH means that the input will be parsed as an Ethereum
          transaction.
           - SIGN_METHOD_OSMOSIS: Sign method Osmosis means that the input will be parsed as an Osmosis
          transaction.
      metadata:
        type: object
        properties:
          '@type':
            type: string
            description: >-
              A URL/resource name that uniquely identifies the type of the
              serialized

              protocol buffer message. This string must contain at least

              one "/" character. The last segment of the URL's path must
              represent

              the fully qualified name of the type (as in

              `path/google.protobuf.Duration`). The name should be in a
              canonical form

              (e.g., leading "." is not accepted).


              In practice, teams usually precompile into the binary all types
              that they

              expect it to use in the context of Any. However, for URLs which
              use the

              scheme `http`, `https`, or no scheme, one can optionally set up a
              type

              server that maps type URLs to message definitions as follows:


              * If no scheme is provided, `https` is assumed.

              * An HTTP GET on the URL must yield a [google.protobuf.Type][]
                value in binary format, or produce an error.
              * Applications are allowed to cache lookup results based on the
                URL, or have them precompiled into a binary to avoid any
                lookup. Therefore, binary compatibility needs to be preserved
                on changes to types. (Use versioned type names to manage
                breaking changes.)

              Note: this functionality is not currently available in the
              official

              protobuf release, and it is not used for type URLs beginning with

              type.googleapis.com. As of May 2023, there are no widely used type
              server

              implementations and no plans to implement one.


              Schemes other than `http`, `https` (or the empty scheme) might be

              used with implementation specific semantics.
        additionalProperties: {}
        description: >-
          `Any` contains an arbitrary serialized protocol buffer message along
          with a

          URL that describes the type of the serialized message.


          Protobuf library provides support to pack/unpack Any values in the
          form

          of utility functions or additional generated methods of the Any type.


          Example 1: Pack and unpack a message in C++.

              Foo foo = ...;
              Any any;
              any.PackFrom(foo);
              ...
              if (any.UnpackTo(&foo)) {
                ...
              }

          Example 2: Pack and unpack a message in Java.

              Foo foo = ...;
              Any any = Any.pack(foo);
              ...
              if (any.is(Foo.class)) {
                foo = any.unpack(Foo.class);
              }
              // or ...
              if (any.isSameTypeAs(Foo.getDefaultInstance())) {
                foo = any.unpack(Foo.getDefaultInstance());
              }

           Example 3: Pack and unpack a message in Python.

              foo = Foo(...)
              any = Any()
              any.Pack(foo)
              ...
              if any.Is(Foo.DESCRIPTOR):
                any.Unpack(foo)
                ...

           Example 4: Pack and unpack a message in Go

               foo := &pb.Foo{...}
               any, err := anypb.New(foo)
               if err != nil {
                 ...
               }
               ...
               foo := &pb.Foo{}
               if err := any.UnmarshalTo(foo); err != nil {
                 ...
               }

          The pack methods provided by protobuf library will by default use

          'type.googleapis.com/full.type.name' as the type URL and the unpack

          methods only use the fully qualified type name after the last '/'

          in the type URL, for example "foo.bar.com/x/y.z" will yield type

          name "y.z".


          JSON

          ====

          The JSON representation of an `Any` value uses the regular

          representation of the deserialized, embedded message, with an

          additional field `@type` which contains the type URL. Example:

              package google.profile;
              message Person {
                string first_name = 1;
                string last_name = 2;
              }

              {
                "@type": "type.googleapis.com/google.profile.Person",
                "firstName": <string>,
                "lastName": <string>
              }

          If the embedded message type is well-known and has a custom JSON

          representation, that representation will be embedded adding a field

          `value` which holds the custom JSON in addition to the `@type`

          field. Example (for message [google.protobuf.Duration][]):

              {
                "@type": "type.googleapis.com/google.protobuf.Duration",
                "value": "1.212s"
              }
      analyzers:
        type: array
        items:
          type: string
  warden.warden.v1beta2.MsgNewSignRequestResponse:
    type: object
    properties:
      id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgNewSpace:
    type: object
    properties:
      creator:
        type: string
      admin_intent_id:
        type: string
        format: uint64
      sign_intent_id:
        type: string
        format: uint64
      additional_owners:
        type: array
        items:
          type: string
  warden.warden.v1beta2.MsgNewSpaceResponse:
    type: object
    properties:
      id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgRemoveSpaceOwner:
    type: object
    properties:
      authority:
        type: string
      space_id:
        type: string
        format: uint64
      owner:
        type: string
  warden.warden.v1beta2.MsgRemoveSpaceOwnerResponse:
    type: object
  warden.warden.v1beta2.MsgSignedData:
    type: object
    properties:
      signed_data:
        type: string
        format: byte
  warden.warden.v1beta2.MsgUpdateKey:
    type: object
    properties:
      authority:
        type: string
      key_id:
        type: string
        format: uint64
      intent_id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgUpdateKeyRequest:
    type: object
    properties:
      creator:
        type: string
      request_id:
        type: string
        format: uint64
      status:
        type: string
        enum:
          - KEY_REQUEST_STATUS_UNSPECIFIED
          - KEY_REQUEST_STATUS_PENDING
          - KEY_REQUEST_STATUS_FULFILLED
          - KEY_REQUEST_STATUS_REJECTED
        default: KEY_REQUEST_STATUS_UNSPECIFIED
        description: >-
          KeyRequestStatus indicates the status of a key request.

          A request starts as "pending", waiting to be picked up. Then it can
          move to

          either "approved" or "rejected", depending on the decision of the
          keychain.

           - KEY_REQUEST_STATUS_UNSPECIFIED: The request is missing the status field.
           - KEY_REQUEST_STATUS_PENDING: The request is waiting to be fulfilled. This is the initial state of a
          request.
           - KEY_REQUEST_STATUS_FULFILLED: The request was fulfilled. This is a final state for a request.
           - KEY_REQUEST_STATUS_REJECTED: The request was rejected. This is a final state for a request.
      key:
        type: object
        properties:
          public_key:
            type: string
            format: byte
      reject_reason:
        type: string
  warden.warden.v1beta2.MsgUpdateKeyRequestResponse:
    type: object
  warden.warden.v1beta2.MsgUpdateKeyResponse:
    type: object
  warden.warden.v1beta2.MsgUpdateKeychain:
    type: object
    properties:
      creator:
        type: string
      keychain_id:
        type: string
        format: uint64
      description:
        type: string
      is_active:
        type: boolean
      keychain_fees:
        type: object
        properties:
          key_req:
            type: string
            format: int64
          sig_req:
            type: string
            format: int64
  warden.warden.v1beta2.MsgUpdateKeychainResponse:
    type: object
  warden.warden.v1beta2.MsgUpdateParams:
    type: object
    properties:
      authority:
        type: string
        description: >-
          authority is the address that controls the module (defaults to x/gov
          unless overwritten).
      params:
        description: |-
          params defines the module parameters to update.

          NOTE: All parameters must be supplied.
        type: object
    description: MsgUpdateParams is the Msg/UpdateParams request type.
  warden.warden.v1beta2.MsgUpdateParamsResponse:
    type: object
    description: |-
      MsgUpdateParamsResponse defines the response structure for executing a
      MsgUpdateParams message.
  warden.warden.v1beta2.MsgUpdateSpace:
    type: object
    properties:
      authority:
        type: string
      space_id:
        type: string
        format: uint64
      admin_intent_id:
        type: string
        format: uint64
      sign_intent_id:
        type: string
        format: uint64
  warden.warden.v1beta2.MsgUpdateSpaceResponse:
    type: object
  warden.warden.v1beta2.Params:
    type: object
    description: Params defines the parameters for the module.
  warden.warden.v1beta2.SignMethod:
    type: string
    enum:
      - SIGN_METHOD_BLACK_BOX
      - SIGN_METHOD_ETH
      - SIGN_METHOD_OSMOSIS
    default: SIGN_METHOD_BLACK_BOX
    description: >-
      SignMethod specifies what method of the protocol should be used for
      parsing

      the data to be signed.

       - SIGN_METHOD_BLACK_BOX: Sign method black box means that the input will be used as-is.
       - SIGN_METHOD_ETH: Sign method ETH means that the input will be parsed as an Ethereum
      transaction.
       - SIGN_METHOD_OSMOSIS: Sign method Osmosis means that the input will be parsed as an Osmosis
      transaction.
  warden.warden.v1beta2.SignRequestStatus:
    type: string
    enum:
      - SIGN_REQUEST_STATUS_UNSPECIFIED
      - SIGN_REQUEST_STATUS_PENDING
      - SIGN_REQUEST_STATUS_FULFILLED
      - SIGN_REQUEST_STATUS_REJECTED
    default: SIGN_REQUEST_STATUS_UNSPECIFIED
    description: >-
      SignRequestStatus indicates the status of a signature request.

      A request starts as "pending", waiting to be picked up. Then it can move
      to

      either "approved" or "rejected", depending on the decision of the
      keychain.

       - SIGN_REQUEST_STATUS_UNSPECIFIED: The request is missing the status field.
       - SIGN_REQUEST_STATUS_PENDING: The request is waiting to be fulfilled. This is the initial state of a
      request.
       - SIGN_REQUEST_STATUS_FULFILLED: The request was fulfilled. This is a final state for a request.
       - SIGN_REQUEST_STATUS_REJECTED: The request was rejected. This is a final state for a request.
