diff --git a/docs/swagger.yml b/docs/swagger.yml index eec815890..005049d23 100644 --- a/docs/swagger.yml +++ b/docs/swagger.yml @@ -2184,181 +2184,9 @@ paths: properties: type_url: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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 @@ -2411,181 +2239,65 @@ paths: properties: type_url: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. - - - Protobuf library provides support to pack/unpack Any values - in the form + parameters: + - name: body + in: body + required: true + schema: + type: object + properties: + chain_id: + type: string + intents: + type: string + from_address: + type: string + description: >- + MsgSignalIntent represents a message type for signalling voting + intent for - 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": , - "lastName": - } - - 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" - } + one or more validators. + tags: + - Msg + /quicksilver/tx/v1/interchainstaking/redeem: + post: + summary: |- + RequestRedemption defines a method for requesting burning of qAssets for + native assets. + operationId: RequestRedemption + responses: + '200': + description: A successful response. + schema: + type: object + description: >- + MsgRequestRedemptionResponse defines the MsgRequestRedemption + response type. + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte parameters: - name: body in: body @@ -2593,32 +2305,42 @@ paths: schema: type: object properties: - chain_id: - type: string - intents: + 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. + destination_address: type: string from_address: type: string description: >- - MsgSignalIntent represents a message type for signalling voting - intent for + MsgRequestRedemption represents a message type to request a burn + of qAssets - one or more validators. + for native assets. tags: - Msg - /quicksilver/tx/v1/interchainstaking/redeem: + /quicksilver/tx/v1/interchainstaking/reopen_channel: post: - summary: |- - RequestRedemption defines a method for requesting burning of qAssets for - native assets. - operationId: RequestRedemption + operationId: GovReopenChannel responses: '200': description: A successful response. schema: type: object description: >- - MsgRequestRedemptionResponse defines the MsgRequestRedemption + MsgGovReopenChannelResponse defines the MsgGovReopenChannel response type. default: description: An unexpected error response. @@ -2639,181 +2361,9 @@ paths: properties: type_url: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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 @@ -2821,43 +2371,51 @@ paths: schema: type: object properties: - 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. - destination_address: + title: type: string - from_address: + description: + type: string + connection_id: + type: string + port_id: + type: string + authority: type: string - description: >- - MsgRequestRedemption represents a message type to request a burn - of qAssets - - for native assets. tags: - Msg - /quicksilver/tx/v1/interchainstaking/reopen_channel: - post: - operationId: GovReopenChannel + /quicksilver/interchainstaking/v1/delegator_intents/{delegator_address}: + get: + summary: >- + DelegatorIntents provides data on the intent of the delegator for all + zones + operationId: DelegatorIntents responses: '200': description: A successful response. schema: type: object - description: >- - MsgGovReopenChannelResponse defines the MsgGovReopenChannel - response type. + properties: + intents: + type: array + items: + type: object + properties: + chain_id: + type: string + intent: + type: object + properties: + delegator: + type: string + intents: + type: array + items: + type: object + properties: + valoper_address: + type: string + weight: + type: string default: description: An unexpected error response. schema: @@ -2877,3541 +2435,889 @@ paths: properties: type_url: type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized + value: + type: string + format: byte + parameters: + - name: delegator_address + in: path + required: true + type: string + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/mapped_addresses/{address}: + get: + summary: >- + MappedAccounts provides data on the mapped accounts for a given user + over different host chains. + operationId: MappedAccounts + responses: + '200': + description: A successful response. + schema: + type: object + properties: + RemoteAddressMap: + type: object + additionalProperties: + type: string + format: byte + pagination: + 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 - protocol buffer message. This string must contain at - least + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - one "/" character. The last segment of the URL's path - must represent + corresponding request message has used PageRequest. - the fully qualified name of the type (as in + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: address + 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. - `path/google.protobuf.Duration`). The name should be in - a canonical form + It is less efficient than using key. Only one of offset or key + should - (e.g., leading "." is not accepted). + 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 - In practice, teams usually precompile into the binary - all types that they + a count of the total number of items available for pagination in + UIs. - expect it to use in the context of Any. However, for - URLs which use the + count_total is only respected when offset is used. It is ignored + when key - scheme `http`, `https`, or no scheme, one can optionally - set up a type + 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. - server that maps type URLs to message definitions as - follows: + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/users/{user_address}/withdrawal_records: + get: + summary: WithdrawalRecords provides data on the active withdrawals. + operationId: UserWithdrawalRecords + responses: + '200': + description: A successful response. + schema: + type: object + properties: + withdrawals: + type: array + items: + type: object + properties: + chain_id: + type: string + delegator: + type: string + distribution: + type: array + items: + type: object + properties: + valoper: + type: string + amount: + type: string + format: uint64 + 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. - * If no scheme is provided, `https` is assumed. + NOTE: The amount field is an Int which implements the + custom method - * 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.) + signatures required by gogoproto. + burn_amount: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - Note: this functionality is not currently available in - the official - protobuf release, and it is not used for type URLs - beginning with + NOTE: The amount field is an Int which implements the + custom method - type.googleapis.com. + signatures required by gogoproto. + txhash: + type: string + status: + type: integer + format: int32 + completion_time: + type: string + format: date-time + requeued: + type: boolean + acknowledged: + type: boolean + epoch_number: + type: string + format: int64 + pagination: + 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 - Schemes other than `http`, `https` (or the empty scheme) - might be + corresponding request message has used PageRequest. - used with implementation specific semantics. + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - URL that describes the type of the serialized message. + parameters: + - name: user_address + 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 - Protobuf library provides support to pack/unpack Any values - in the form + 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. - of utility functions or additional generated methods of the - Any type. + 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. - Example 1: Pack and unpack a message in C++. + count_total is only respected when offset is used. It is ignored + when key - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + 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. - 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": , - "lastName": - } - - 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: - title: - type: string - description: - type: string - connection_id: - type: string - port_id: - type: string - authority: - type: string + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - - Msg - /quicksilver/interchainstaking/v1/delegator_intents/{delegator_address}: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/zone/{chain_id}: get: - summary: >- - DelegatorIntents provides data on the intent of the delegator for all - zones - operationId: DelegatorIntents + summary: Zone provides meta data on a specific zone. + operationId: Zone responses: '200': description: A successful response. schema: type: object properties: - intents: - type: array - items: - type: object - properties: - chain_id: - type: string - intent: - type: object - properties: - delegator: - type: string - intents: - type: array - items: - type: object - properties: - valoper_address: - type: string - weight: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - protocol buffer message. This string must contain at - least + zone: + type: object + properties: + connection_id: + type: string + chain_id: + type: string + deposit_address: + type: object + properties: + address: + type: string + balance: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - one "/" character. The last segment of the URL's path - must represent - the fully qualified name of the type (as in + NOTE: The amount field is an Int which implements + the custom method - `path/google.protobuf.Duration`). The name should be in - a canonical form + signatures required by gogoproto. + description: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + withdrawal_address: + type: object + properties: + address: + type: string + balance: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - (e.g., leading "." is not accepted). + NOTE: The amount field is an Int which implements + the custom method - In practice, teams usually precompile into the binary - all types that they + signatures required by gogoproto. + description: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + performance_address: + type: object + properties: + address: + type: string + balance: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - If the embedded message type is well-known and has a custom - JSON + NOTE: The amount field is an Int which implements + the custom method - representation, that representation will be embedded adding - a field + signatures required by gogoproto. + description: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + delegation_address: + type: object + properties: + address: + type: string + balance: + type: array + items: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an + amount. - `value` which holds the custom JSON in addition to the - `@type` - field. Example (for message [google.protobuf.Duration][]): + NOTE: The amount field is an Int which implements + the custom method - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - parameters: - - name: delegator_address - in: path - required: true - type: string - tags: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/mapped_addresses/{address}: - get: - summary: >- - MappedAccounts provides data on the mapped accounts for a given user - over different host chains. - operationId: MappedAccounts - responses: - '200': - description: A successful response. - schema: - type: object - properties: - RemoteAddressMap: - type: object - additionalProperties: - type: string - format: byte - pagination: - type: object - properties: - next_key: + signatures required by gogoproto. + description: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + account_prefix: 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: + local_denom: 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; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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 - 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: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/users/{user_address}/withdrawal_records: - get: - summary: WithdrawalRecords provides data on the active withdrawals. - operationId: UserWithdrawalRecords - responses: - '200': - description: A successful response. - schema: - type: object - properties: - withdrawals: - type: array - items: - type: object - properties: - chain_id: - type: string - delegator: - type: string - distribution: - type: array - items: - type: object - properties: - valoper: - type: string - amount: - type: string - format: uint64 - 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. - burn_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. - txhash: - type: string - status: - type: integer - format: int32 - completion_time: - type: string - format: date-time - requeued: - type: boolean - acknowledged: - type: boolean - epoch_number: - type: string - format: int64 - pagination: - 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; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: user_address - 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: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zone/{chain_id}: - get: - summary: Zone provides meta data on a specific zone. - operationId: Zone - responses: - '200': - description: A successful response. - schema: - type: object - properties: - zone: - type: object - properties: - connection_id: - type: string - chain_id: - type: string - deposit_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - withdrawal_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - performance_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - delegation_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - account_prefix: - type: string - local_denom: - type: string - base_denom: - type: string - redemption_rate: - type: string - last_redemption_rate: - type: string - validators: - type: array - items: - type: object - properties: - valoper_address: - type: string - commission_rate: - type: string - delegator_shares: - type: string - voting_power: - type: string - score: - type: string - status: - type: string - jailed: - type: boolean - tombstoned: - type: boolean - jailed_since: - type: string - format: date-time - consensus_pubkey: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of - the above specified type. - description: >- - `Any` contains an arbitrary serialized protocol - buffer message along with a - - 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": , - "lastName": - } - - 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" - } - aggregate_intent: - type: array - items: - type: object - properties: - valoper_address: - type: string - weight: - type: string - multi_send: - type: boolean - liquidity_module: - type: boolean - withdrawal_waitgroup: - type: integer - format: int64 - ibc_next_validators_hash: - type: string - format: byte - validator_selection_allocation: - type: string - format: uint64 - holdings_allocation: - type: string - format: uint64 - last_epoch_height: - type: string - format: int64 - tvl: - type: string - unbonding_period: - type: string - format: int64 - messages_per_tx: - type: string - format: int64 - decimals: - type: string - format: int64 - unbonding_enabled: - type: boolean - deposits_enabled: - type: boolean - return_to_sender: - type: boolean - is_118: - type: boolean - subzoneInfo: - type: object - properties: - authority: - type: string - base_chainID: - type: string - stats: - type: object - properties: - chain_id: - type: string - deposited: - type: string - format: int64 - deposits: - type: string - format: int64 - depositors: - type: string - format: int64 - delegated: - type: string - format: int64 - supply: - type: string - format: int64 - distance_to_target: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: chain_id - in: path - required: true - type: string - tags: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones: - get: - summary: Zones provides meta data on connected zones. - operationId: Zones - responses: - '200': - description: A successful response. - schema: - type: object - properties: - zones: - type: array - items: - type: object - properties: - connection_id: - type: string - chain_id: - type: string - deposit_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - withdrawal_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - performance_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - delegation_address: - type: object - properties: - address: - type: string - balance: - 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: >- - balance defines the different coins this balance - holds. - port_name: - type: string - withdrawal_address: - type: string - balance_waitgroup: - type: integer - format: int64 - account_prefix: - type: string - local_denom: - type: string - base_denom: - type: string - redemption_rate: - type: string - last_redemption_rate: - type: string - validators: - type: array - items: - type: object - properties: - valoper_address: - type: string - commission_rate: - type: string - delegator_shares: - type: string - voting_power: - type: string - score: - type: string - status: - type: string - jailed: - type: boolean - tombstoned: - type: boolean - jailed_since: - type: string - format: date-time - consensus_pubkey: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the - empty scheme) might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of - the above specified type. - description: >- - `Any` contains an arbitrary serialized protocol - buffer message along with a - - 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": , - "lastName": - } - - 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" - } - aggregate_intent: - type: array - items: - type: object - properties: - valoper_address: - type: string - weight: - type: string - multi_send: - type: boolean - liquidity_module: - type: boolean - withdrawal_waitgroup: - type: integer - format: int64 - ibc_next_validators_hash: - type: string - format: byte - validator_selection_allocation: - type: string - format: uint64 - holdings_allocation: - type: string - format: uint64 - last_epoch_height: - type: string - format: int64 - tvl: - type: string - unbonding_period: - type: string - format: int64 - messages_per_tx: - type: string - format: int64 - decimals: - type: string - format: int64 - unbonding_enabled: - type: boolean - deposits_enabled: - type: boolean - return_to_sender: - type: boolean - is_118: - type: boolean - subzoneInfo: - type: object - properties: - authority: - type: string - base_chainID: - type: string - stats: - type: array - items: - type: object - properties: - chain_id: - type: string - deposited: - type: string - format: int64 - deposits: - type: string - format: int64 - depositors: - type: string - format: int64 - delegated: - type: string - format: int64 - supply: - type: string - format: int64 - distance_to_target: - type: string - pagination: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - 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; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones/{chain_id}/delegations: - get: - summary: Delegations provides data on the delegations for the given zone. - operationId: Delegations - responses: - '200': - description: A successful response. - schema: - type: object - properties: - delegations: - type: array - items: - type: object - properties: - delegation_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. - height: - type: string - format: int64 - redelegation_end: - type: string - format: int64 - tvl: - type: string - format: int64 - pagination: - 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; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: chain_id - 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: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones/{chain_id}/delegator_intent/{delegator_address}: - get: - summary: >- - DelegatorIntent provides data on the intent of the delegator for the - given - - zone. - operationId: DelegatorIntent - responses: - '200': - description: A successful response. - schema: - type: object - properties: - intent: - type: object - properties: - delegator: - type: string - intents: - type: array - items: - type: object - properties: - valoper_address: - type: string - weight: - type: string - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: chain_id - in: path - required: true - type: string - - name: delegator_address - in: path - required: true - type: string - tags: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones/{chain_id}/deposit_address: - get: - summary: >- - DepositAccount provides data on the deposit address for a connected - zone. - operationId: DepositAccount - responses: - '200': - description: A successful response. - schema: - type: object - properties: - deposit_account_address: - type: string - title: |- - QueryDepositAccountForChainResponse the response type for the - Query/InterchainAccountAddress RPC - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: chain_id - in: path - required: true - type: string - tags: - - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones/{chain_id}/deposits/{tx_hash}: - get: - operationId: TxStatus - responses: - '200': - description: A successful response. - schema: - type: object - properties: - receipt: + base_denom: + type: string + redemption_rate: + type: string + last_redemption_rate: + type: string + validators: + type: array + items: + type: object + properties: + valoper_address: + type: string + commission_rate: + type: string + delegator_shares: + type: string + voting_power: + type: string + score: + type: string + status: + type: string + jailed: + type: boolean + tombstoned: + type: boolean + jailed_since: + type: string + format: date-time + aggregate_intent: + type: array + items: + type: object + properties: + valoper_address: + type: string + weight: + type: string + multi_send: + type: boolean + liquidity_module: + type: boolean + withdrawal_waitgroup: + type: integer + format: int64 + ibc_next_validators_hash: + type: string + format: byte + validator_selection_allocation: + type: string + format: uint64 + holdings_allocation: + type: string + format: uint64 + last_epoch_height: + type: string + format: int64 + tvl: + type: string + unbonding_period: + type: string + format: int64 + messages_per_tx: + type: string + format: int64 + decimals: + type: string + format: int64 + unbonding_enabled: + type: boolean + deposits_enabled: + type: boolean + return_to_sender: + type: boolean + is_118: + type: boolean + subzoneInfo: + type: object + properties: + authority: + type: string + base_chainID: + type: string + stats: type: object properties: chain_id: type: string - sender: + deposited: type: string - txhash: + format: int64 + deposits: 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. - first_seen: + format: int64 + depositors: type: string - format: date-time - completed: + format: int64 + delegated: + type: string + format: int64 + supply: + type: string + format: int64 + distance_to_target: type: string - format: date-time default: description: An unexpected error response. schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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" - } + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte parameters: - name: chain_id in: path required: true type: string - - name: tx_hash - in: path - required: true - type: string tags: - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones/{chain_id}/receipts: + /quicksilver/interchainstaking/v1/zones: get: - summary: Delegations provides data on the delegations for the given zone. - operationId: Receipts + summary: Zones provides meta data on connected zones. + operationId: Zones responses: '200': description: A successful response. schema: type: object properties: - receipts: + zones: + type: array + items: + type: object + properties: + connection_id: + type: string + chain_id: + type: string + deposit_address: + type: object + properties: + address: + type: string + balance: + 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: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + withdrawal_address: + type: object + properties: + address: + type: string + balance: + 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: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + performance_address: + type: object + properties: + address: + type: string + balance: + 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: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + delegation_address: + type: object + properties: + address: + type: string + balance: + 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: >- + balance defines the different coins this balance + holds. + port_name: + type: string + withdrawal_address: + type: string + balance_waitgroup: + type: integer + format: int64 + account_prefix: + type: string + local_denom: + type: string + base_denom: + type: string + redemption_rate: + type: string + last_redemption_rate: + type: string + validators: + type: array + items: + type: object + properties: + valoper_address: + type: string + commission_rate: + type: string + delegator_shares: + type: string + voting_power: + type: string + score: + type: string + status: + type: string + jailed: + type: boolean + tombstoned: + type: boolean + jailed_since: + type: string + format: date-time + aggregate_intent: + type: array + items: + type: object + properties: + valoper_address: + type: string + weight: + type: string + multi_send: + type: boolean + liquidity_module: + type: boolean + withdrawal_waitgroup: + type: integer + format: int64 + ibc_next_validators_hash: + type: string + format: byte + validator_selection_allocation: + type: string + format: uint64 + holdings_allocation: + type: string + format: uint64 + last_epoch_height: + type: string + format: int64 + tvl: + type: string + unbonding_period: + type: string + format: int64 + messages_per_tx: + type: string + format: int64 + decimals: + type: string + format: int64 + unbonding_enabled: + type: boolean + deposits_enabled: + type: boolean + return_to_sender: + type: boolean + is_118: + type: boolean + subzoneInfo: + type: object + properties: + authority: + type: string + base_chainID: + type: string + stats: type: array items: type: object properties: chain_id: type: string - sender: + deposited: type: string - txhash: + format: int64 + deposits: 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. - first_seen: + format: int64 + depositors: type: string - format: date-time - completed: + format: int64 + delegated: + type: string + format: int64 + supply: + type: string + format: int64 + distance_to_target: type: string - format: date-time pagination: type: object properties: @@ -6459,181 +3365,161 @@ paths: properties: type_url: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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 + 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. - name "y.z". + 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. - JSON + 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. - The JSON representation of an `Any` value uses the regular + count_total is only respected when offset is used. It is ignored + when key - representation of the deserialized, embedded message, with - an + 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. - additional field `@type` which contains the type URL. - Example: - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/zones/{chain_id}/delegations: + get: + summary: Delegations provides data on the delegations for the given zone. + operationId: Delegations + responses: + '200': + description: A successful response. + schema: + type: object + properties: + delegations: + type: array + items: + type: object + properties: + delegation_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. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom - JSON + NOTE: The amount field is an Int which implements the + custom method - representation, that representation will be embedded adding - a field + signatures required by gogoproto. + height: + type: string + format: int64 + redelegation_end: + type: string + format: int64 + tvl: + type: string + format: int64 + pagination: + 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 - `value` which holds the custom JSON in addition to the - `@type` + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - field. Example (for message [google.protobuf.Duration][]): + corresponding request message has used PageRequest. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte parameters: - name: chain_id in: path @@ -6697,34 +3583,230 @@ paths: type: boolean tags: - QueryInterchainStaking - /quicksilver/interchainstaking/v1/zones/{chain_id}/redelegation_records: + /quicksilver/interchainstaking/v1/zones/{chain_id}/delegator_intent/{delegator_address}: + get: + summary: >- + DelegatorIntent provides data on the intent of the delegator for the + given + + zone. + operationId: DelegatorIntent + responses: + '200': + description: A successful response. + schema: + type: object + properties: + intent: + type: object + properties: + delegator: + type: string + intents: + type: array + items: + type: object + properties: + valoper_address: + type: string + weight: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: chain_id + in: path + required: true + type: string + - name: delegator_address + in: path + required: true + type: string + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/zones/{chain_id}/deposit_address: + get: + summary: >- + DepositAccount provides data on the deposit address for a connected + zone. + operationId: DepositAccount + responses: + '200': + description: A successful response. + schema: + type: object + properties: + deposit_account_address: + type: string + title: |- + QueryDepositAccountForChainResponse the response type for the + Query/InterchainAccountAddress RPC + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: chain_id + in: path + required: true + type: string + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/zones/{chain_id}/deposits/{tx_hash}: + get: + operationId: TxStatus + responses: + '200': + description: A successful response. + schema: + type: object + properties: + receipt: + type: object + properties: + chain_id: + type: string + sender: + type: string + txhash: + 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. + first_seen: + type: string + format: date-time + completed: + type: string + format: date-time + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte + parameters: + - name: chain_id + in: path + required: true + type: string + - name: tx_hash + in: path + required: true + type: string + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/zones/{chain_id}/receipts: get: - summary: RedelegationRecords provides data on the active unbondings. - operationId: RedelegationRecords + summary: Delegations provides data on the delegations for the given zone. + operationId: Receipts responses: '200': description: A successful response. schema: type: object properties: - redelegations: + receipts: type: array items: type: object properties: chain_id: type: string - epoch_number: - type: string - format: int64 - source: + sender: type: string - destination: + txhash: 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. + first_seen: type: string - format: int64 - completion_time: + format: date-time + completed: type: string format: date-time pagination: @@ -6774,181 +3856,152 @@ paths: properties: type_url: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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 + parameters: + - name: chain_id + 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 - The JSON representation of an `Any` value uses the regular + 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. - representation of the deserialized, embedded message, with - an + 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 - additional field `@type` which contains the type URL. - Example: + a count of the total number of items available for pagination in + UIs. - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + count_total is only respected when offset is used. It is ignored + when key - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + 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. - If the embedded message type is well-known and has a custom - JSON - representation, that representation will be embedded adding - a field + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - QueryInterchainStaking + /quicksilver/interchainstaking/v1/zones/{chain_id}/redelegation_records: + get: + summary: RedelegationRecords provides data on the active unbondings. + operationId: RedelegationRecords + responses: + '200': + description: A successful response. + schema: + type: object + properties: + redelegations: + type: array + items: + type: object + properties: + chain_id: + type: string + epoch_number: + type: string + format: int64 + source: + type: string + destination: + type: string + amount: + type: string + format: int64 + completion_time: + type: string + format: date-time + pagination: + 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 - `value` which holds the custom JSON in addition to the - `@type` + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - field. Example (for message [google.protobuf.Duration][]): + corresponding request message has used PageRequest. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte parameters: - name: chain_id in: path @@ -7084,182 +4137,10 @@ paths: type: object properties: type_url: - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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" - } + type: string + value: + type: string + format: byte parameters: - name: chain_id in: path @@ -7356,188 +4237,6 @@ paths: jailed_since: type: string format: date-time - consensus_pubkey: - type: object - properties: - type_url: - 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. - - - Schemes other than `http`, `https` (or the empty - scheme) might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the - above specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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" - } pagination: type: object properties: @@ -7560,206 +4259,34 @@ paths: 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; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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][]): + corresponding request message has used PageRequest. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte parameters: - name: chain_id in: path @@ -7882,252 +4409,80 @@ paths: 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. - txhash: - type: string - status: - type: integer - format: int32 - completion_time: - type: string - format: date-time - requeued: - type: boolean - acknowledged: - type: boolean - epoch_number: - type: string - format: int64 - pagination: - 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; - } - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: - type: array - items: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of - the serialized - - 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. - value: - type: string - format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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: string + description: >- + Coin defines a token with a denomination and an amount. - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } - If the embedded message type is well-known and has a custom - JSON + NOTE: The amount field is an Int which implements the + custom method - representation, that representation will be embedded adding - a field + signatures required by gogoproto. + txhash: + type: string + status: + type: integer + format: int32 + completion_time: + type: string + format: date-time + requeued: + type: boolean + acknowledged: + type: boolean + epoch_number: + type: string + format: int64 + pagination: + 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 - `value` which holds the custom JSON in addition to the - `@type` + was set, its value is undefined otherwise + description: >- + PageResponse is to be embedded in gRPC response messages where + the - field. Example (for message [google.protobuf.Duration][]): + corresponding request message has used PageRequest. - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + default: + description: An unexpected error response. + schema: + type: object + properties: + error: + type: string + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + type_url: + type: string + value: + type: string + format: byte parameters: - name: chain_id in: path @@ -8321,181 +4676,9 @@ paths: properties: type_url: 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. - - - Schemes other than `http`, `https` (or the empty scheme) - might be - - used with implementation specific semantics. value: type: string format: byte - description: >- - Must be a valid serialized protocol buffer of the above - specified type. - description: >- - `Any` contains an arbitrary serialized protocol buffer - message along with a - - 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": , - "lastName": - } - - 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: chain_id in: path diff --git a/proto/quicksilver/interchainstaking/v1/interchainstaking.proto b/proto/quicksilver/interchainstaking/v1/interchainstaking.proto index dd4b4aecc..a9e57afa7 100644 --- a/proto/quicksilver/interchainstaking/v1/interchainstaking.proto +++ b/proto/quicksilver/interchainstaking/v1/interchainstaking.proto @@ -4,7 +4,6 @@ package quicksilver.interchainstaking.v1; import "cosmos/base/v1beta1/coin.proto"; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; -import "google/protobuf/any.proto"; import "google/protobuf/timestamp.proto"; option go_package = "github.com/quicksilver-zone/quicksilver/x/interchainstaking/types"; @@ -158,8 +157,6 @@ message Validator { (gogoproto.nullable) = false, (gogoproto.stdtime) = true ]; - // consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. - google.protobuf.Any consensus_pubkey = 10 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; } message DelegatorIntent { diff --git a/x/interchainstaking/keeper/callbacks.go b/x/interchainstaking/keeper/callbacks.go index 39700c364..6442e7478 100644 --- a/x/interchainstaking/keeper/callbacks.go +++ b/x/interchainstaking/keeper/callbacks.go @@ -272,7 +272,16 @@ func SigningInfoCallback(k *Keeper, ctx sdk.Context, args []byte, query icqtypes return err } if valSigningInfo.Tombstoned { - k.Logger(ctx).Error("Tombstoned validator found", "valoper", valSigningInfo.Address) + consAddr, err := sdk.ConsAddressFromBech32(valSigningInfo.Address) + if err != nil { + return err + } + valAddr, found := k.GetValidatorAddrByConsAddr(ctx, zone.ChainId, consAddr) + if !found { + + } + + k.Logger(ctx).Error("Tombstoned validator found", "valoper", valAddr) valAddrBytes, err := addressutils.ValAddressFromBech32(valSigningInfo.Address, zone.GetValoperPrefix()) if err != nil { diff --git a/x/interchainstaking/keeper/keeper.go b/x/interchainstaking/keeper/keeper.go index 5ea8ffd30..85a7845e0 100644 --- a/x/interchainstaking/keeper/keeper.go +++ b/x/interchainstaking/keeper/keeper.go @@ -270,7 +270,17 @@ func (k *Keeper) SetValidatorForZone(ctx sdk.Context, zone *types.Zone, data []b jailTime := time.Time{} if validator.IsJailed() { + consAddr, err := validator.GetConsAddr() + if err != nil { + return err + } + k.SetValidatorAddrByConsAddr(ctx, zone.ChainId, validator.OperatorAddress, consAddr) jailTime = ctx.BlockTime() + + err = k.EmitSigningInfoQuery(ctx, zone.ConnectionId, zone.ChainId, validator) + if err != nil { + return err + } } if err := k.SetValidator(ctx, zone.ChainId, types.Validator{ ValoperAddress: validator.OperatorAddress, @@ -297,7 +307,17 @@ func (k *Keeper) SetValidatorForZone(ctx sdk.Context, zone *types.Zone, data []b if !val.Jailed && validator.IsJailed() { k.Logger(ctx).Info("Transitioning validator to jailed state", "valoper", validator.OperatorAddress, "old_vp", val.VotingPower, "new_vp", validator.Tokens, "new_shares", validator.DelegatorShares, "old_shares", val.DelegatorShares) + + consAddr, err := validator.GetConsAddr() + if err != nil { + return err + } + k.SetValidatorAddrByConsAddr(ctx, zone.ChainId, validator.OperatorAddress, consAddr) + err = k.EmitSigningInfoQuery(ctx, zone.ConnectionId, zone.ChainId, validator) + if err != nil { + return err + } val.Jailed = true val.JailedSince = ctx.BlockTime() if !val.VotingPower.IsPositive() { @@ -315,6 +335,12 @@ func (k *Keeper) SetValidatorForZone(ctx sdk.Context, zone *types.Zone, data []b return err } } else if val.Jailed && !validator.IsJailed() { + consAddr, err := validator.GetConsAddr() + if err != nil { + return err + } + k.DeleteValidatorAddrByConsAddr(ctx, zone.ChainId, consAddr) + k.Logger(ctx).Info("Transitioning validator to unjailed state", "valoper", validator.OperatorAddress) val.Jailed = false @@ -353,14 +379,6 @@ func (k *Keeper) SetValidatorForZone(ctx sdk.Context, zone *types.Zone, data []b } } - // checking whether validator was tombstoned or not - if val.Jailed { - err := k.EmitSigningInfoQuery(ctx, zone.ConnectionId, zone.ChainId, validator) - if err != nil { - return err - } - } - return nil } diff --git a/x/interchainstaking/keeper/validator_test.go b/x/interchainstaking/keeper/validator_test.go index a93578d60..e3c285204 100644 --- a/x/interchainstaking/keeper/validator_test.go +++ b/x/interchainstaking/keeper/validator_test.go @@ -77,17 +77,14 @@ func (suite *KeeperTestSuite) TestStoreGetDeleteValidatorByConsAddr() { pkAny, err := codectypes.NewAnyWithValue(PKs[0]) suite.Require().NoError(err) - newValidator := types.Validator{ - ValoperAddress: validator.String(), - CommissionRate: sdk.NewDec(5.0), - DelegatorShares: sdk.NewDec(1000.0), - VotingPower: sdk.NewInt(1000), - Status: stakingtypes.BondStatusBonded, - Score: sdk.NewDec(0), + newValidator := stakingtypes.Validator{ + OperatorAddress: validator.String(), ConsensusPubkey: pkAny, } + consAddr, err := newValidator.GetConsAddr() + suite.NoError(err) - err = app.InterchainstakingKeeper.SetValidatorAddrByConsAddr(ctx, zone.ChainId, newValidator) + err = app.InterchainstakingKeeper.SetValidatorAddrByConsAddr(ctx, zone.ChainId, newValidator.OperatorAddress, consAddr) suite.NoError(err) _, found = app.InterchainstakingKeeper.GetValidatorAddrByConsAddr(ctx, zone.ChainId, sdk.ConsAddress(PKs[0].Address())) diff --git a/x/interchainstaking/keeper/validators.go b/x/interchainstaking/keeper/validators.go index 04946b48c..b3799e7cf 100644 --- a/x/interchainstaking/keeper/validators.go +++ b/x/interchainstaking/keeper/validators.go @@ -105,13 +105,9 @@ func (k Keeper) GetValidatorAddrByConsAddr(ctx sdk.Context, chainID string, cons } // SetValidatorAddrByConsAddr set validator address by Consensus address. -func (k Keeper) SetValidatorAddrByConsAddr(ctx sdk.Context, chainID string, val types.Validator) error { +func (k Keeper) SetValidatorAddrByConsAddr(ctx sdk.Context, chainID string, valAddr string, consAddr sdk.ConsAddress) error { store := prefix.NewStore(ctx.KVStore(k.storeKey), types.GetZoneValidatorAddrsByConsAddrKey(chainID)) - consPk, err := val.GetConsAddr() - if err != nil { - return err - } - store.Set(consPk, []byte(val.ValoperAddress)) + store.Set(consAddr, []byte(valAddr)) return nil } diff --git a/x/interchainstaking/types/interchainstaking.pb.go b/x/interchainstaking/types/interchainstaking.pb.go index f560a8994..195e6bb04 100644 --- a/x/interchainstaking/types/interchainstaking.pb.go +++ b/x/interchainstaking/types/interchainstaking.pb.go @@ -6,7 +6,6 @@ package types import ( fmt "fmt" _ "github.com/cosmos/cosmos-proto" - types1 "github.com/cosmos/cosmos-sdk/codec/types" github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" types "github.com/cosmos/cosmos-sdk/types" _ "github.com/cosmos/gogoproto/gogoproto" @@ -799,8 +798,6 @@ type Validator struct { Jailed bool `protobuf:"varint,7,opt,name=jailed,proto3" json:"jailed,omitempty"` Tombstoned bool `protobuf:"varint,8,opt,name=tombstoned,proto3" json:"tombstoned,omitempty"` JailedSince time.Time `protobuf:"bytes,9,opt,name=jailed_since,json=jailedSince,proto3,stdtime" json:"jailed_since"` - // consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. - ConsensusPubkey *types1.Any `protobuf:"bytes,10,opt,name=consensus_pubkey,json=consensusPubkey,proto3" json:"consensus_pubkey,omitempty"` } func (m *Validator) Reset() { *m = Validator{} } @@ -871,13 +868,6 @@ func (m *Validator) GetJailedSince() time.Time { return time.Time{} } -func (m *Validator) GetConsensusPubkey() *types1.Any { - if m != nil { - return m.ConsensusPubkey - } - return nil -} - type DelegatorIntent struct { Delegator string `protobuf:"bytes,1,opt,name=delegator,proto3" json:"delegator,omitempty"` Intents ValidatorIntents `protobuf:"bytes,2,rep,name=intents,proto3,castrepeated=ValidatorIntents" json:"intents,omitempty"` @@ -1202,132 +1192,129 @@ func init() { } var fileDescriptor_0d755cfd37ef9fee = []byte{ - // 1993 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x1b, 0xc7, - 0x15, 0xf7, 0xea, 0x0f, 0x45, 0x3e, 0x52, 0x22, 0x35, 0x96, 0x9d, 0xb5, 0x63, 0x8b, 0x0c, 0x9b, - 0xa4, 0x2c, 0x6c, 0x91, 0xa1, 0x03, 0xb4, 0x6e, 0x50, 0x14, 0x15, 0x2d, 0x23, 0x11, 0x52, 0xbb, - 0xc2, 0x4a, 0x69, 0x90, 0x04, 0xc5, 0x62, 0xb8, 0x3b, 0x22, 0xa7, 0xde, 0x9d, 0xa1, 0x77, 0x66, - 0x25, 0x31, 0x9f, 0x22, 0x1f, 0xa1, 0xb7, 0x02, 0x46, 0xd1, 0x93, 0x8f, 0xbd, 0x37, 0xe8, 0x29, - 0xf0, 0xa9, 0x28, 0x0a, 0xb9, 0xb0, 0x6f, 0x02, 0x7a, 0xe9, 0x27, 0x28, 0x66, 0x76, 0x76, 0xb9, - 0xfa, 0x53, 0x53, 0x76, 0x94, 0x9e, 0xc8, 0x79, 0x7f, 0x7e, 0xf3, 0x66, 0xe6, 0xcd, 0x7b, 0xbf, - 0x59, 0xb8, 0xfb, 0x38, 0xa6, 0xde, 0x23, 0x41, 0x83, 0x3d, 0x12, 0x75, 0x28, 0x93, 0x24, 0xf2, - 0x86, 0x98, 0x32, 0x21, 0xf1, 0x23, 0xca, 0x06, 0x9d, 0xbd, 0xee, 0x69, 0x61, 0x7b, 0x14, 0x71, - 0xc9, 0x51, 0x23, 0xe7, 0xd9, 0x3e, 0x6d, 0xb4, 0xd7, 0xbd, 0xbe, 0xea, 0x71, 0x11, 0x72, 0xd1, - 0xe9, 0x63, 0x41, 0x3a, 0x7b, 0xdd, 0x3e, 0x91, 0xb8, 0xdb, 0xf1, 0x38, 0x65, 0x09, 0xc2, 0xf5, - 0x6b, 0x89, 0xde, 0xd5, 0xa3, 0x4e, 0x32, 0x30, 0xaa, 0x95, 0x01, 0x1f, 0xf0, 0x44, 0xae, 0xfe, - 0xa5, 0x0e, 0x03, 0xce, 0x07, 0x01, 0xe9, 0xe8, 0x51, 0x3f, 0xde, 0xed, 0x60, 0x36, 0x36, 0xaa, - 0xfa, 0x49, 0x95, 0xa4, 0x21, 0x11, 0x12, 0x87, 0xa3, 0xc4, 0xa0, 0xf9, 0xa4, 0x0a, 0x73, 0x5f, - 0x72, 0x46, 0xd0, 0x8f, 0x60, 0xd1, 0xe3, 0x8c, 0x11, 0x4f, 0x52, 0xce, 0x5c, 0xea, 0xdb, 0x56, - 0xc3, 0x6a, 0x95, 0x9c, 0xca, 0x44, 0xb8, 0xe9, 0xa3, 0x6b, 0x50, 0xd4, 0xab, 0x51, 0xfa, 0x19, - 0xad, 0x5f, 0xd0, 0xe3, 0x4d, 0x1f, 0x7d, 0x06, 0x55, 0x9f, 0x8c, 0xb8, 0xa0, 0xd2, 0xc5, 0xbe, - 0x1f, 0x11, 0x21, 0xec, 0xd9, 0x86, 0xd5, 0x2a, 0xdf, 0xb9, 0xdd, 0x9e, 0xb6, 0x23, 0xed, 0xcd, - 0x7b, 0xeb, 0xeb, 0x9e, 0xc7, 0x63, 0x26, 0x9d, 0x25, 0x03, 0xb2, 0x9e, 0x60, 0xa0, 0xaf, 0x00, - 0xed, 0x53, 0x39, 0xf4, 0x23, 0xbc, 0x8f, 0x83, 0x0c, 0x79, 0xee, 0x0d, 0x90, 0x97, 0x27, 0x38, - 0x29, 0xf8, 0xef, 0xe0, 0xf2, 0x88, 0x44, 0xbb, 0x3c, 0x0a, 0x31, 0xf3, 0x48, 0x86, 0x3e, 0xff, - 0x06, 0xe8, 0x28, 0x07, 0x94, 0x8b, 0xdd, 0x27, 0x01, 0x19, 0x60, 0xbd, 0xa5, 0x29, 0x7a, 0xe1, - 0x4d, 0x62, 0x9f, 0xe0, 0xa4, 0xe0, 0xef, 0xc1, 0x12, 0x4e, 0xb4, 0xee, 0x28, 0x22, 0xbb, 0xf4, - 0xc0, 0x5e, 0xd0, 0x07, 0xb2, 0x68, 0xa4, 0x5b, 0x5a, 0x88, 0xea, 0x50, 0x0e, 0xb8, 0x87, 0x03, - 0xd7, 0x27, 0x8c, 0x87, 0x76, 0x51, 0xdb, 0x80, 0x16, 0x6d, 0x28, 0x09, 0xba, 0x09, 0xa0, 0x12, - 0xd1, 0xe8, 0x4b, 0x5a, 0x5f, 0x52, 0x92, 0x44, 0x4d, 0xa0, 0x1a, 0x11, 0x9f, 0x84, 0x23, 0xbd, - 0x86, 0x08, 0x4b, 0x62, 0x83, 0xb2, 0xe9, 0xfd, 0xe2, 0xdb, 0xc3, 0xfa, 0xa5, 0x7f, 0x1c, 0xd6, - 0xdf, 0x1f, 0x50, 0x39, 0x8c, 0xfb, 0x6d, 0x8f, 0x87, 0x26, 0x57, 0xcd, 0xcf, 0x9a, 0xf0, 0x1f, - 0x75, 0xe4, 0x78, 0x44, 0x44, 0x7b, 0x83, 0x78, 0xcf, 0x9e, 0xae, 0x81, 0x49, 0xe5, 0x0d, 0xe2, - 0x39, 0x4b, 0x13, 0x50, 0x07, 0x4b, 0x82, 0x18, 0xac, 0x04, 0x58, 0x48, 0xf7, 0xe4, 0x5c, 0xe5, - 0x0b, 0x98, 0x0b, 0x29, 0x64, 0xe7, 0xf8, 0x7c, 0x9f, 0x02, 0xec, 0xe1, 0x80, 0xfa, 0x58, 0xf2, - 0x48, 0xd8, 0x95, 0xc6, 0x6c, 0xab, 0x7c, 0xe7, 0xd6, 0xf4, 0x23, 0xf9, 0x6d, 0xea, 0xe3, 0xe4, - 0xdc, 0x51, 0x04, 0x35, 0x3c, 0x18, 0x44, 0xea, 0x80, 0x88, 0xab, 0xfc, 0x98, 0xb4, 0x17, 0x35, - 0x64, 0xf7, 0x35, 0x20, 0x37, 0xb5, 0x63, 0x6f, 0xe5, 0xc9, 0xf3, 0x7a, 0xed, 0x84, 0x50, 0x38, - 0xd5, 0x6c, 0x82, 0x44, 0xa2, 0x8e, 0x2d, 0x8c, 0x03, 0x49, 0x5d, 0x41, 0x98, 0x6f, 0x2f, 0x35, - 0xac, 0x56, 0xd1, 0x29, 0x69, 0xc9, 0x36, 0x61, 0x3e, 0xfa, 0x09, 0xd4, 0x02, 0xfa, 0x38, 0xa6, - 0x3e, 0x95, 0x63, 0x37, 0xe4, 0x7e, 0x1c, 0x10, 0xbb, 0xaa, 0x8d, 0xaa, 0x99, 0xfc, 0x81, 0x16, - 0xa3, 0x2e, 0xac, 0xe4, 0x6e, 0xd8, 0x3e, 0xa6, 0x72, 0x10, 0xf1, 0x78, 0x64, 0xd7, 0x1a, 0x56, - 0x6b, 0xd1, 0xb9, 0x3c, 0xd1, 0x7d, 0x9e, 0xaa, 0xd0, 0xcf, 0xc0, 0xa6, 0x7d, 0xcf, 0x65, 0xe4, - 0x40, 0xba, 0x93, 0x7d, 0x70, 0x87, 0x58, 0x0c, 0xed, 0xe5, 0x86, 0xd5, 0xaa, 0x38, 0x57, 0x68, - 0xdf, 0x7b, 0x48, 0x0e, 0x64, 0xb6, 0x10, 0xf1, 0x09, 0x16, 0x43, 0x34, 0x86, 0xd5, 0xcc, 0xde, - 0x15, 0x24, 0x30, 0xd5, 0x06, 0x07, 0x2a, 0x21, 0xd5, 0x5f, 0x1b, 0x35, 0xac, 0xd6, 0x5c, 0xef, - 0xc3, 0xa3, 0xc3, 0x7a, 0xe7, 0xd5, 0x96, 0xb7, 0x85, 0x8c, 0x28, 0x1b, 0xdc, 0xe6, 0x21, 0x95, - 0xea, 0x64, 0xc7, 0xce, 0x8d, 0xcc, 0x61, 0x3b, 0xb5, 0x5f, 0xcf, 0xcc, 0xd1, 0x17, 0x70, 0x79, - 0xc8, 0x03, 0x9f, 0xb2, 0x81, 0xc8, 0xcf, 0x77, 0x59, 0xcf, 0xd7, 0x3a, 0x3a, 0xac, 0xbf, 0x7b, - 0x86, 0xfa, 0xf4, 0x24, 0x28, 0xb5, 0xca, 0x41, 0x3b, 0xb0, 0xac, 0x93, 0x97, 0x8c, 0xb8, 0x37, - 0x74, 0x87, 0x84, 0x0e, 0x86, 0xd2, 0x5e, 0x69, 0x58, 0xad, 0xd9, 0xde, 0xfb, 0x47, 0x87, 0xf5, - 0xe6, 0x29, 0xe5, 0x69, 0xd8, 0xaa, 0xb2, 0xb9, 0xaf, 0x4c, 0x3e, 0xd1, 0x16, 0xe8, 0x21, 0xcc, - 0xca, 0xbd, 0xc0, 0xbe, 0x72, 0x01, 0xf9, 0xaf, 0x80, 0xd0, 0x16, 0xd4, 0x62, 0xd6, 0xe7, 0x4c, - 0xc5, 0xee, 0x8e, 0x48, 0x44, 0xb9, 0x6f, 0x5f, 0xd5, 0x21, 0xbe, 0x77, 0x74, 0x58, 0x7f, 0xe7, - 0xa4, 0xee, 0x8c, 0x08, 0x33, 0x93, 0x2d, 0x6d, 0x81, 0x7e, 0x0d, 0xd5, 0x90, 0x08, 0x81, 0x07, - 0x44, 0x28, 0x27, 0x57, 0x1e, 0xd8, 0x6f, 0x69, 0xc0, 0x77, 0x8f, 0x0e, 0xeb, 0x8d, 0x13, 0xaa, - 0xd3, 0x78, 0x8b, 0xa9, 0xc5, 0x16, 0x89, 0x76, 0x0e, 0xd0, 0xcf, 0xa1, 0xe8, 0x13, 0x8f, 0x86, - 0x38, 0x10, 0xb6, 0xad, 0x61, 0x6e, 0x1e, 0x1d, 0xd6, 0xaf, 0xa5, 0xb2, 0xd3, 0xfe, 0x99, 0x39, - 0xba, 0x05, 0xcb, 0x93, 0xf0, 0x09, 0xc3, 0xfd, 0x80, 0xf8, 0xf6, 0x35, 0x9d, 0xec, 0x93, 0x35, - 0xdf, 0x4f, 0xe4, 0xea, 0x62, 0x98, 0x0e, 0x23, 0x32, 0xdb, 0xeb, 0xc9, 0xc5, 0x48, 0xe5, 0xa9, - 0x69, 0x0b, 0x6a, 0x11, 0x91, 0x71, 0xc4, 0x5c, 0xc9, 0xf5, 0x35, 0x23, 0x91, 0xfd, 0xb6, 0x36, - 0x5d, 0x4a, 0xe4, 0x3b, 0x7c, 0x5b, 0x4b, 0xd1, 0x15, 0x28, 0x50, 0xe1, 0x76, 0xbb, 0x77, 0xed, - 0x1b, 0x5a, 0x3f, 0x4f, 0x45, 0xb7, 0x7b, 0x17, 0xfd, 0x06, 0xca, 0x22, 0xee, 0x7f, 0xcd, 0x19, - 0xd9, 0x64, 0xbb, 0xdc, 0xbe, 0xa9, 0x0b, 0xff, 0xda, 0xf4, 0x92, 0xb0, 0x3d, 0x71, 0x72, 0xf2, - 0x08, 0xcd, 0x87, 0x50, 0xce, 0xe9, 0xd0, 0x0d, 0x28, 0xe1, 0x58, 0x0e, 0x79, 0x44, 0xe5, 0xd8, - 0xb4, 0xeb, 0x89, 0x00, 0xbd, 0x03, 0x15, 0x5d, 0xd8, 0x93, 0x06, 0xbd, 0x61, 0xfa, 0x75, 0x59, - 0xc9, 0xee, 0x25, 0xa2, 0xe6, 0x1f, 0x66, 0x00, 0x26, 0x5d, 0x06, 0xdd, 0x81, 0x85, 0xb4, 0x49, - 0x69, 0xb4, 0x9e, 0xfd, 0xec, 0xe9, 0xda, 0x8a, 0xc9, 0x24, 0xd3, 0x77, 0xb6, 0xf5, 0x39, 0x38, - 0xa9, 0x21, 0x22, 0xb0, 0xd0, 0xc7, 0x81, 0xea, 0x7a, 0xf6, 0x8c, 0x2e, 0x79, 0xd7, 0xda, 0xc6, - 0x41, 0x4d, 0xd4, 0x36, 0xf4, 0xa6, 0x7d, 0x8f, 0x53, 0xd6, 0xfb, 0x40, 0xa5, 0xf1, 0x93, 0xe7, - 0xf5, 0xd6, 0x39, 0xd2, 0x58, 0x39, 0x08, 0x27, 0xc5, 0x46, 0x6f, 0x43, 0x69, 0xc4, 0x23, 0xe9, - 0x32, 0x1c, 0x12, 0xcd, 0x2b, 0x4a, 0x4e, 0x51, 0x09, 0x1e, 0xe2, 0x90, 0xa0, 0xb5, 0xff, 0xc9, - 0x11, 0x4a, 0x67, 0x75, 0xfd, 0x5b, 0xb0, 0x6c, 0x60, 0x73, 0xd5, 0x6e, 0x5e, 0x57, 0xbb, 0x9a, - 0x51, 0x64, 0xa5, 0xae, 0xf9, 0x2b, 0xa8, 0x6c, 0x50, 0x95, 0x7c, 0xfd, 0x58, 0xdf, 0x75, 0x1b, - 0x16, 0xf6, 0x70, 0xc0, 0x47, 0x24, 0x32, 0x3b, 0x9e, 0x0e, 0xd1, 0x55, 0x28, 0xe0, 0x50, 0xed, - 0xa3, 0xde, 0xe9, 0x39, 0xc7, 0x8c, 0x9a, 0x4f, 0xe7, 0xa1, 0xf6, 0x79, 0x16, 0x84, 0x43, 0x3c, - 0x1e, 0x1d, 0x27, 0x52, 0xd6, 0x71, 0x22, 0xf5, 0x53, 0x28, 0x99, 0x6e, 0xcf, 0xa3, 0xe4, 0xd0, - 0x5e, 0x71, 0x0e, 0x13, 0x53, 0xe4, 0x40, 0xc5, 0xcf, 0x45, 0x6a, 0xcf, 0xea, 0xe3, 0x68, 0x4f, - 0x4f, 0xb7, 0xfc, 0xfa, 0x9c, 0x63, 0x18, 0x2a, 0x96, 0x88, 0x78, 0x74, 0x44, 0x55, 0x4b, 0x9b, - 0x9b, 0x16, 0x4b, 0x66, 0x8a, 0xbc, 0x6c, 0x2f, 0xe6, 0x2f, 0x3e, 0x29, 0x0c, 0x34, 0xfa, 0x1a, - 0xca, 0x7d, 0x75, 0x3b, 0xcd, 0x4c, 0x09, 0xaf, 0x7a, 0xc5, 0x4c, 0xbf, 0x34, 0x55, 0xf4, 0xc7, - 0xe7, 0x9c, 0xe9, 0xd9, 0xd3, 0xb5, 0xb2, 0x01, 0x53, 0x43, 0x07, 0xd4, 0x6c, 0xeb, 0xc9, 0xdc, - 0x57, 0xa1, 0x20, 0x0f, 0x74, 0xbf, 0x4b, 0x58, 0x97, 0x19, 0x29, 0xb9, 0x90, 0x58, 0xc6, 0x42, - 0x33, 0xad, 0x79, 0xc7, 0x8c, 0xd0, 0x03, 0xa8, 0x7a, 0x3c, 0x1c, 0x05, 0x44, 0x77, 0x31, 0x45, - 0xc2, 0x35, 0xd5, 0x2a, 0xdf, 0xb9, 0xde, 0x4e, 0x18, 0x7a, 0x3b, 0x65, 0xe8, 0xed, 0x9d, 0x94, - 0xa1, 0xf7, 0x8a, 0x2a, 0xe0, 0x6f, 0x9e, 0xd7, 0x2d, 0x67, 0x69, 0xe2, 0xac, 0xd4, 0xe8, 0x3a, - 0x14, 0x23, 0xf2, 0x38, 0x26, 0x31, 0xf1, 0x35, 0x1d, 0x2b, 0x3a, 0xd9, 0x18, 0x35, 0xa1, 0x82, - 0xbd, 0x47, 0x8c, 0xef, 0x07, 0xc4, 0x1f, 0x10, 0x5f, 0x53, 0xa8, 0xa2, 0x73, 0x4c, 0xa6, 0x6a, - 0x43, 0xd2, 0x8f, 0x58, 0x1c, 0xf6, 0x49, 0x64, 0x57, 0x54, 0xc5, 0x75, 0xca, 0x5a, 0xf6, 0x50, - 0x8b, 0x9a, 0x7f, 0xb6, 0xa0, 0xfa, 0x59, 0x5a, 0x3d, 0xa7, 0x67, 0xed, 0x49, 0xc4, 0x99, 0x53, - 0x88, 0x2a, 0x99, 0xb2, 0x0e, 0x9d, 0xdc, 0xe1, 0x57, 0x25, 0x53, 0x66, 0xaa, 0x98, 0x6e, 0x44, - 0x02, 0x2c, 0x89, 0xef, 0x9a, 0x3d, 0x9f, 0x6b, 0xcc, 0x2a, 0xa6, 0x6b, 0xa4, 0x3b, 0x5a, 0xd8, - 0xfc, 0xe3, 0x0c, 0x20, 0xc5, 0xf2, 0x52, 0xa2, 0x7c, 0x21, 0x31, 0x7f, 0x00, 0x05, 0xc1, 0xe3, - 0xc8, 0x23, 0x53, 0x03, 0x36, 0x76, 0xe8, 0x23, 0x28, 0xfb, 0x44, 0x48, 0xca, 0x12, 0x7e, 0x31, - 0xed, 0xd2, 0xe4, 0x8d, 0x73, 0x25, 0x64, 0x5e, 0x87, 0x92, 0x66, 0xfa, 0x19, 0xd9, 0x53, 0x78, - 0xf3, 0xec, 0x69, 0xfe, 0xdb, 0x82, 0xa5, 0x9d, 0x08, 0x33, 0xb1, 0x4b, 0x22, 0xb3, 0x4b, 0x6a, - 0x9d, 0x49, 0x87, 0xb3, 0xa6, 0xae, 0x33, 0xe9, 0x79, 0xc7, 0x4a, 0xc3, 0xcc, 0xf9, 0x4b, 0xc3, - 0xe3, 0x6c, 0x8d, 0xb3, 0x3f, 0xf4, 0x85, 0x4d, 0x2b, 0xf0, 0x5f, 0xe7, 0xa1, 0x94, 0x11, 0x51, - 0xb4, 0x0e, 0x55, 0x53, 0xb2, 0xdd, 0xf3, 0x76, 0xbb, 0x25, 0xe3, 0xb0, 0x9e, 0x35, 0x3d, 0x75, - 0x1e, 0x21, 0x15, 0x22, 0x7b, 0xa8, 0xcc, 0x5c, 0xc4, 0xa3, 0x68, 0x02, 0xaa, 0x1f, 0x29, 0x03, - 0xc5, 0x55, 0x4c, 0x79, 0x77, 0xc5, 0x10, 0x47, 0x44, 0x98, 0x34, 0xfc, 0x7e, 0xf3, 0x54, 0x33, - 0xd4, 0x6d, 0x0d, 0x8a, 0x5c, 0xa8, 0xec, 0x71, 0xa9, 0xd9, 0x1f, 0xdf, 0x27, 0x91, 0x49, 0xda, - 0xd7, 0x99, 0x64, 0x93, 0xc9, 0xdc, 0x24, 0x9b, 0x4c, 0x3a, 0xe5, 0x04, 0x71, 0x4b, 0x01, 0x22, - 0x07, 0xe6, 0x85, 0xc7, 0x23, 0xa2, 0xf3, 0xfa, 0xfb, 0x86, 0x9f, 0x40, 0xe5, 0x4a, 0x6d, 0x21, - 0x29, 0xc1, 0xa6, 0xd4, 0x5e, 0x85, 0xc2, 0xef, 0x31, 0x55, 0xbc, 0x6e, 0x41, 0x57, 0x3e, 0x33, - 0x42, 0xab, 0x00, 0x92, 0x87, 0x7d, 0x21, 0x39, 0x23, 0xbe, 0x2e, 0xcf, 0x45, 0x27, 0x27, 0x41, - 0x1f, 0x43, 0x25, 0xb1, 0x74, 0x05, 0x55, 0x74, 0xe6, 0x75, 0xea, 0x73, 0x39, 0xf1, 0xdc, 0x56, - 0x8e, 0xe8, 0x0b, 0xa8, 0x79, 0x9c, 0x09, 0xc2, 0x44, 0x2c, 0xdc, 0x51, 0xdc, 0x7f, 0x44, 0xc6, - 0xba, 0x48, 0x97, 0xef, 0xac, 0x9c, 0x02, 0x5b, 0x67, 0xe3, 0x9e, 0xfd, 0xb7, 0x49, 0xde, 0x79, - 0xd1, 0x78, 0x24, 0x79, 0x7b, 0x2b, 0xee, 0x7f, 0x4a, 0xc6, 0x4e, 0x35, 0xc3, 0xd9, 0xd2, 0x30, - 0xcd, 0x3f, 0x59, 0x50, 0xdd, 0x48, 0x0f, 0xcf, 0xbc, 0x04, 0x8f, 0xf1, 0x05, 0xeb, 0xfc, 0x7c, - 0x01, 0xc3, 0x42, 0xf2, 0x56, 0x15, 0x86, 0xb9, 0x5d, 0xd8, 0x63, 0x35, 0xc5, 0x6d, 0xfe, 0xc5, - 0x82, 0xea, 0x09, 0x2d, 0xea, 0xbd, 0xfe, 0xf5, 0x3b, 0xe9, 0x80, 0x08, 0x14, 0xf6, 0x93, 0x57, - 0x56, 0x72, 0xed, 0x1e, 0xbc, 0x5e, 0x3e, 0xfd, 0xe7, 0xb0, 0xbe, 0x38, 0xc6, 0x61, 0xf0, 0x51, - 0x33, 0x41, 0x69, 0x9e, 0x48, 0xb0, 0x42, 0x2a, 0x9e, 0x01, 0xd8, 0xc8, 0xfa, 0x09, 0xfa, 0xf8, - 0xcc, 0xcf, 0x39, 0xd3, 0x82, 0x3f, 0xe3, 0xd3, 0xcd, 0x7d, 0x58, 0x9e, 0xbc, 0x6d, 0x53, 0x9c, - 0x69, 0x25, 0xb4, 0x96, 0xb9, 0xa4, 0x30, 0xff, 0xff, 0x4a, 0xaa, 0xee, 0x96, 0x79, 0xde, 0xce, - 0x25, 0x0d, 0x2a, 0x19, 0xa9, 0x57, 0x55, 0x94, 0x6b, 0xbd, 0x2e, 0x61, 0xbe, 0x69, 0x61, 0xd5, - 0xbc, 0xfc, 0x3e, 0xf3, 0x9b, 0xdb, 0x70, 0x79, 0x8b, 0x47, 0xf2, 0x5e, 0xf6, 0x59, 0x71, 0x27, - 0x1e, 0x05, 0xe7, 0xfc, 0xfc, 0xf8, 0x16, 0x2c, 0xe8, 0x57, 0x40, 0xf6, 0xf5, 0xb1, 0xa0, 0x86, - 0x9b, 0x7e, 0xf3, 0x9f, 0x33, 0xb0, 0xe0, 0x10, 0x8f, 0xd0, 0x91, 0x7c, 0x55, 0xc3, 0x9f, 0x74, - 0xb9, 0x99, 0x73, 0x76, 0xb9, 0x09, 0xcf, 0x9b, 0x3d, 0xc6, 0xf3, 0x26, 0x04, 0x77, 0xee, 0x87, - 0x23, 0xb8, 0xf7, 0x00, 0x76, 0x69, 0x24, 0xa4, 0x2b, 0x08, 0x61, 0xe6, 0xab, 0xe4, 0xb4, 0x7a, - 0x64, 0xe9, 0x7a, 0x54, 0xd2, 0x7e, 0xdb, 0x84, 0x30, 0xd4, 0x83, 0x92, 0x69, 0xff, 0xc4, 0x3f, - 0x27, 0x6b, 0x30, 0x18, 0x99, 0x5b, 0xef, 0xab, 0x6f, 0x5f, 0xac, 0x5a, 0xdf, 0xbd, 0x58, 0xb5, - 0xfe, 0xf5, 0x62, 0xd5, 0xfa, 0xe6, 0xe5, 0xea, 0xa5, 0xef, 0x5e, 0xae, 0x5e, 0xfa, 0xfb, 0xcb, - 0xd5, 0x4b, 0x5f, 0xae, 0xe7, 0x16, 0x95, 0xab, 0x1e, 0x6b, 0xea, 0x8d, 0x9a, 0x17, 0x74, 0x0e, - 0xce, 0xf8, 0x8a, 0xae, 0xd7, 0xdc, 0x2f, 0xe8, 0x28, 0x3e, 0xfc, 0x6f, 0x00, 0x00, 0x00, 0xff, - 0xff, 0x16, 0x0f, 0xb7, 0x23, 0x73, 0x17, 0x00, 0x00, + // 1939 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x6e, 0x1b, 0xc7, + 0xf5, 0xf7, 0x52, 0x12, 0x45, 0x1e, 0x52, 0xa2, 0x34, 0x92, 0x9d, 0x95, 0x62, 0x8b, 0x0c, 0xff, + 0x49, 0xfe, 0x2c, 0x6c, 0x91, 0xa1, 0x03, 0xb4, 0x6e, 0x50, 0x14, 0x15, 0x25, 0x23, 0x11, 0x5a, + 0xab, 0xc2, 0x4a, 0x69, 0xd0, 0x04, 0xc5, 0x62, 0xb8, 0x3b, 0x22, 0xa7, 0xde, 0xdd, 0xa1, 0x67, + 0x86, 0xfa, 0xc8, 0x53, 0xe4, 0x11, 0x7a, 0x57, 0xc0, 0x28, 0x7a, 0xe5, 0xcb, 0x3e, 0x40, 0x2e, + 0x03, 0x5f, 0x15, 0x45, 0x21, 0x17, 0xf6, 0x9d, 0xd0, 0xde, 0xf4, 0x09, 0x8a, 0x99, 0x9d, 0x5d, + 0xae, 0x3e, 0x2a, 0x4a, 0x8e, 0xd2, 0x2b, 0x72, 0x7e, 0xe7, 0x9c, 0xdf, 0x9c, 0x99, 0x39, 0x73, + 0xce, 0x99, 0x85, 0x47, 0xcf, 0x86, 0xd4, 0x7b, 0x2a, 0x68, 0xb0, 0x4f, 0x78, 0x8b, 0x46, 0x92, + 0x70, 0xaf, 0x8f, 0x69, 0x24, 0x24, 0x7e, 0x4a, 0xa3, 0x5e, 0x6b, 0xbf, 0x7d, 0x1e, 0x6c, 0x0e, + 0x38, 0x93, 0x0c, 0xd5, 0x32, 0x96, 0xcd, 0xf3, 0x4a, 0xfb, 0xed, 0xe5, 0x15, 0x8f, 0x89, 0x90, + 0x89, 0x56, 0x17, 0x0b, 0xd2, 0xda, 0x6f, 0x77, 0x89, 0xc4, 0xed, 0x96, 0xc7, 0x68, 0x14, 0x33, + 0x2c, 0x2f, 0xc5, 0x72, 0x57, 0x8f, 0x5a, 0xf1, 0xc0, 0x88, 0x16, 0x7b, 0xac, 0xc7, 0x62, 0x5c, + 0xfd, 0x33, 0x68, 0xb5, 0xc7, 0x58, 0x2f, 0x20, 0x2d, 0x3d, 0xea, 0x0e, 0xf7, 0x5a, 0x92, 0x86, + 0x44, 0x48, 0x1c, 0x0e, 0x62, 0x85, 0xfa, 0xf3, 0x0a, 0x4c, 0x7e, 0xc9, 0x22, 0x82, 0xfe, 0x0f, + 0x66, 0x3c, 0x16, 0x45, 0xc4, 0x93, 0x94, 0x45, 0x2e, 0xf5, 0x6d, 0xab, 0x66, 0x35, 0x8a, 0x4e, + 0x79, 0x04, 0x6e, 0xfa, 0x68, 0x09, 0x0a, 0xda, 0x65, 0x25, 0xcf, 0x69, 0xf9, 0xb4, 0x1e, 0x6f, + 0xfa, 0xe8, 0x73, 0xa8, 0xf8, 0x64, 0xc0, 0x04, 0x95, 0x2e, 0xf6, 0x7d, 0x4e, 0x84, 0xb0, 0x27, + 0x6a, 0x56, 0xa3, 0xf4, 0xf0, 0x41, 0x73, 0xdc, 0xb2, 0x9b, 0x9b, 0xeb, 0x6b, 0x6b, 0x9e, 0xc7, + 0x86, 0x91, 0x74, 0x66, 0x0d, 0xc9, 0x5a, 0xcc, 0x81, 0xbe, 0x02, 0x74, 0x40, 0x65, 0xdf, 0xe7, + 0xf8, 0x00, 0x07, 0x29, 0xf3, 0xe4, 0x5b, 0x30, 0xcf, 0x8f, 0x78, 0x12, 0xf2, 0xdf, 0xc1, 0xc2, + 0x80, 0xf0, 0x3d, 0xc6, 0x43, 0x1c, 0x79, 0x24, 0x65, 0x9f, 0x7a, 0x0b, 0x76, 0x94, 0x21, 0xca, + 0xf8, 0xee, 0x93, 0x80, 0xf4, 0xb0, 0xde, 0xd2, 0x84, 0x3d, 0xff, 0x36, 0xbe, 0x8f, 0x78, 0x12, + 0xf2, 0x0f, 0x60, 0x16, 0xc7, 0x52, 0x77, 0xc0, 0xc9, 0x1e, 0x3d, 0xb4, 0xa7, 0xf5, 0x81, 0xcc, + 0x18, 0x74, 0x5b, 0x83, 0xa8, 0x0a, 0xa5, 0x80, 0x79, 0x38, 0x70, 0x7d, 0x12, 0xb1, 0xd0, 0x2e, + 0x68, 0x1d, 0xd0, 0xd0, 0x86, 0x42, 0xd0, 0x3d, 0x00, 0x15, 0x6d, 0x46, 0x5e, 0xd4, 0xf2, 0xa2, + 0x42, 0x62, 0x31, 0x81, 0x0a, 0x27, 0x3e, 0x09, 0x07, 0x7a, 0x0d, 0x1c, 0x4b, 0x62, 0x83, 0xd2, + 0xe9, 0xfc, 0xec, 0xdb, 0xe3, 0xea, 0xad, 0xbf, 0x1d, 0x57, 0x3f, 0xec, 0x51, 0xd9, 0x1f, 0x76, + 0x9b, 0x1e, 0x0b, 0x4d, 0x40, 0x9a, 0x9f, 0x55, 0xe1, 0x3f, 0x6d, 0xc9, 0xa3, 0x01, 0x11, 0xcd, + 0x0d, 0xe2, 0xbd, 0x7c, 0xb1, 0x0a, 0x26, 0x5e, 0x37, 0x88, 0xe7, 0xcc, 0x8e, 0x48, 0x1d, 0x2c, + 0x09, 0x8a, 0x60, 0x31, 0xc0, 0x42, 0xba, 0x67, 0xe7, 0x2a, 0xdd, 0xc0, 0x5c, 0x48, 0x31, 0x3b, + 0xa7, 0xe7, 0xfb, 0x25, 0xc0, 0x3e, 0x0e, 0xa8, 0x8f, 0x25, 0xe3, 0xc2, 0x2e, 0xd7, 0x26, 0x1a, + 0xa5, 0x87, 0xf7, 0xc7, 0x1f, 0xc9, 0x6f, 0x12, 0x1b, 0x27, 0x63, 0x8e, 0x38, 0xcc, 0xe1, 0x5e, + 0x8f, 0xab, 0x03, 0x22, 0xae, 0xb2, 0x8b, 0xa4, 0x3d, 0xa3, 0x29, 0xdb, 0xd7, 0xa0, 0xdc, 0xd4, + 0x86, 0x9d, 0xc5, 0xe7, 0xaf, 0xaa, 0x73, 0x67, 0x40, 0xe1, 0x54, 0xd2, 0x09, 0x62, 0x44, 0x1d, + 0x5b, 0x38, 0x0c, 0x24, 0x75, 0x05, 0x89, 0x7c, 0x7b, 0xb6, 0x66, 0x35, 0x0a, 0x4e, 0x51, 0x23, + 0x3b, 0x24, 0xf2, 0xd1, 0x8f, 0x60, 0x2e, 0xa0, 0xcf, 0x86, 0xd4, 0xa7, 0xf2, 0xc8, 0x0d, 0x99, + 0x3f, 0x0c, 0x88, 0x5d, 0xd1, 0x4a, 0x95, 0x14, 0x7f, 0xa2, 0x61, 0xd4, 0x86, 0xc5, 0xcc, 0x0d, + 0x3b, 0xc0, 0x54, 0xf6, 0x38, 0x1b, 0x0e, 0xec, 0xb9, 0x9a, 0xd5, 0x98, 0x71, 0x16, 0x46, 0xb2, + 0x2f, 0x12, 0x11, 0xfa, 0x09, 0xd8, 0xb4, 0xeb, 0xb9, 0x11, 0x39, 0x94, 0xee, 0x68, 0x1f, 0xdc, + 0x3e, 0x16, 0x7d, 0x7b, 0xbe, 0x66, 0x35, 0xca, 0xce, 0x6d, 0xda, 0xf5, 0xb6, 0xc8, 0xa1, 0x4c, + 0x17, 0x22, 0x3e, 0xc3, 0xa2, 0x8f, 0x8e, 0x60, 0x25, 0xd5, 0x77, 0x05, 0x09, 0x4c, 0xb6, 0xc1, + 0x81, 0x0a, 0x48, 0xf5, 0xd7, 0x46, 0x35, 0xab, 0x31, 0xd9, 0xf9, 0xf8, 0xe4, 0xb8, 0xda, 0xba, + 0x5c, 0xf3, 0x81, 0x90, 0x9c, 0x46, 0xbd, 0x07, 0x2c, 0xa4, 0x52, 0x9d, 0xec, 0x91, 0x73, 0x37, + 0x35, 0xd8, 0x49, 0xf4, 0xd7, 0x52, 0x75, 0xf4, 0x5b, 0x58, 0xe8, 0xb3, 0xc0, 0xa7, 0x51, 0x4f, + 0x64, 0xe7, 0x5b, 0xd0, 0xf3, 0x35, 0x4e, 0x8e, 0xab, 0xef, 0x5f, 0x20, 0x3e, 0x3f, 0x09, 0x4a, + 0xb4, 0x32, 0xd4, 0x0e, 0xcc, 0xeb, 0xe0, 0x25, 0x03, 0xe6, 0xf5, 0xdd, 0x3e, 0xa1, 0xbd, 0xbe, + 0xb4, 0x17, 0x6b, 0x56, 0x63, 0xa2, 0xf3, 0xe1, 0xc9, 0x71, 0xb5, 0x7e, 0x4e, 0x78, 0x9e, 0xb6, + 0xa2, 0x74, 0x1e, 0x2b, 0x95, 0xcf, 0xb4, 0x06, 0xda, 0x82, 0x09, 0xb9, 0x1f, 0xd8, 0xb7, 0x6f, + 0x20, 0xfe, 0x15, 0x11, 0xda, 0x86, 0xb9, 0x61, 0xd4, 0x65, 0x91, 0xf2, 0xdd, 0x1d, 0x10, 0x4e, + 0x99, 0x6f, 0xdf, 0xd1, 0x2e, 0x7e, 0x70, 0x72, 0x5c, 0x7d, 0xef, 0xac, 0xec, 0x02, 0x0f, 0x53, + 0x95, 0x6d, 0xad, 0x81, 0x7e, 0x05, 0x95, 0x90, 0x08, 0x81, 0x7b, 0x44, 0x28, 0x23, 0x57, 0x1e, + 0xda, 0xef, 0x68, 0xc2, 0xf7, 0x4f, 0x8e, 0xab, 0xb5, 0x33, 0xa2, 0xf3, 0x7c, 0x33, 0x89, 0xc6, + 0x36, 0xe1, 0xbb, 0x87, 0xe8, 0xa7, 0x50, 0xf0, 0x89, 0x47, 0x43, 0x1c, 0x08, 0xdb, 0xd6, 0x34, + 0xf7, 0x4e, 0x8e, 0xab, 0x4b, 0x09, 0x76, 0xde, 0x3e, 0x55, 0x47, 0xf7, 0x61, 0x7e, 0xe4, 0x3e, + 0x89, 0x70, 0x37, 0x20, 0xbe, 0xbd, 0xa4, 0x83, 0x7d, 0xb4, 0xe6, 0xc7, 0x31, 0xae, 0x2e, 0x86, + 0xa9, 0x30, 0x22, 0xd5, 0x5d, 0x8e, 0x2f, 0x46, 0x82, 0x27, 0xaa, 0x0d, 0x98, 0xe3, 0x44, 0x0e, + 0x79, 0xe4, 0x4a, 0xa6, 0xaf, 0x19, 0xe1, 0xf6, 0xbb, 0x5a, 0x75, 0x36, 0xc6, 0x77, 0xd9, 0x8e, + 0x46, 0xd1, 0x6d, 0xc8, 0x53, 0xe1, 0xb6, 0xdb, 0x8f, 0xec, 0xbb, 0x5a, 0x3e, 0x45, 0x45, 0xbb, + 0xfd, 0x08, 0xfd, 0x1a, 0x4a, 0x62, 0xd8, 0xfd, 0x9a, 0x45, 0x64, 0x33, 0xda, 0x63, 0xf6, 0x3d, + 0x9d, 0xf8, 0x57, 0xc7, 0xa7, 0x84, 0x9d, 0x91, 0x91, 0x93, 0x65, 0xa8, 0x6f, 0x41, 0x29, 0x23, + 0x43, 0x77, 0xa1, 0x88, 0x87, 0xb2, 0xcf, 0x38, 0x95, 0x47, 0xa6, 0x5c, 0x8f, 0x00, 0xf4, 0x1e, + 0x94, 0x75, 0x62, 0x8f, 0x0b, 0xf4, 0x86, 0xa9, 0xd7, 0x25, 0x85, 0xad, 0xc7, 0x50, 0xfd, 0x0f, + 0x39, 0x80, 0x51, 0x95, 0x41, 0x0f, 0x61, 0x3a, 0x29, 0x52, 0x9a, 0xad, 0x63, 0xbf, 0x7c, 0xb1, + 0xba, 0x68, 0x22, 0xc9, 0xd4, 0x9d, 0x1d, 0x7d, 0x0e, 0x4e, 0xa2, 0x88, 0x08, 0x4c, 0x77, 0x71, + 0xa0, 0xaa, 0x9e, 0x9d, 0xd3, 0x29, 0x6f, 0xa9, 0x69, 0x0c, 0xd4, 0x44, 0x4d, 0xd3, 0xc3, 0x34, + 0xd7, 0x19, 0x8d, 0x3a, 0x1f, 0xa9, 0x30, 0x7e, 0xfe, 0xaa, 0xda, 0xb8, 0x42, 0x18, 0x2b, 0x03, + 0xe1, 0x24, 0xdc, 0xe8, 0x5d, 0x28, 0x0e, 0x18, 0x97, 0x6e, 0x84, 0x43, 0xa2, 0xfb, 0x8a, 0xa2, + 0x53, 0x50, 0xc0, 0x16, 0x0e, 0x09, 0x5a, 0xfd, 0xaf, 0x3d, 0x42, 0xf1, 0xa2, 0xaa, 0x7f, 0x1f, + 0xe6, 0x0d, 0x6d, 0x26, 0xdb, 0x4d, 0xe9, 0x6c, 0x37, 0x67, 0x04, 0x69, 0xaa, 0xab, 0xff, 0x02, + 0xca, 0x1b, 0x54, 0x05, 0x5f, 0x77, 0xa8, 0xef, 0xba, 0x0d, 0xd3, 0xfb, 0x38, 0x60, 0x03, 0xc2, + 0xcd, 0x8e, 0x27, 0x43, 0x74, 0x07, 0xf2, 0x38, 0x54, 0xfb, 0xa8, 0x77, 0x7a, 0xd2, 0x31, 0xa3, + 0xfa, 0x8b, 0x29, 0x98, 0xfb, 0x22, 0x75, 0xc2, 0x21, 0x1e, 0xe3, 0xa7, 0x1b, 0x29, 0xeb, 0x74, + 0x23, 0xf5, 0x63, 0x28, 0x9a, 0x6a, 0xcf, 0x78, 0x7c, 0x68, 0x97, 0x9c, 0xc3, 0x48, 0x15, 0x39, + 0x50, 0xf6, 0x33, 0x9e, 0xda, 0x13, 0xfa, 0x38, 0x9a, 0xe3, 0xc3, 0x2d, 0xbb, 0x3e, 0xe7, 0x14, + 0x87, 0xf2, 0x85, 0x13, 0x8f, 0x0e, 0xa8, 0x2a, 0x69, 0x93, 0xe3, 0x7c, 0x49, 0x55, 0x91, 0x97, + 0xee, 0xc5, 0xd4, 0xcd, 0x07, 0x85, 0xa1, 0x46, 0x5f, 0x43, 0xa9, 0xab, 0x6e, 0xa7, 0x99, 0x29, + 0xee, 0xab, 0x2e, 0x99, 0xe9, 0xe7, 0x26, 0x8b, 0xfe, 0xff, 0x15, 0x67, 0x7a, 0xf9, 0x62, 0xb5, + 0x64, 0xc8, 0xd4, 0xd0, 0x01, 0x35, 0xdb, 0x5a, 0x3c, 0xf7, 0x1d, 0xc8, 0xcb, 0x43, 0x5d, 0xef, + 0xe2, 0xae, 0xcb, 0x8c, 0x14, 0x2e, 0x24, 0x96, 0x43, 0xa1, 0x3b, 0xad, 0x29, 0xc7, 0x8c, 0xd0, + 0x13, 0xa8, 0x78, 0x2c, 0x1c, 0x04, 0x44, 0x57, 0x31, 0xd5, 0x84, 0xeb, 0x56, 0xab, 0xf4, 0x70, + 0xb9, 0x19, 0x77, 0xe8, 0xcd, 0xa4, 0x43, 0x6f, 0xee, 0x26, 0x1d, 0x7a, 0xa7, 0xa0, 0x1c, 0xfe, + 0xe6, 0x55, 0xd5, 0x72, 0x66, 0x47, 0xc6, 0x4a, 0x8c, 0x96, 0xa1, 0xc0, 0xc9, 0xb3, 0x21, 0x19, + 0x12, 0x5f, 0xb7, 0x63, 0x05, 0x27, 0x1d, 0xa3, 0x3a, 0x94, 0xb1, 0xf7, 0x34, 0x62, 0x07, 0x01, + 0xf1, 0x7b, 0xc4, 0xd7, 0x2d, 0x54, 0xc1, 0x39, 0x85, 0xa9, 0xdc, 0x10, 0xd7, 0xa3, 0x68, 0x18, + 0x76, 0x09, 0xb7, 0xcb, 0x2a, 0xe3, 0x3a, 0x25, 0x8d, 0x6d, 0x69, 0xa8, 0xfe, 0x67, 0x0b, 0x2a, + 0x9f, 0x27, 0xd9, 0x73, 0x7c, 0xd4, 0x9e, 0x65, 0xcc, 0x9d, 0x63, 0x54, 0xc1, 0x94, 0x56, 0xe8, + 0xf8, 0x0e, 0x5f, 0x16, 0x4c, 0xa9, 0xaa, 0xea, 0x74, 0x39, 0x09, 0xb0, 0x24, 0xbe, 0x6b, 0xf6, + 0x7c, 0xb2, 0x36, 0xa1, 0x3a, 0x5d, 0x83, 0xee, 0x6a, 0xb0, 0xfe, 0xc7, 0x1c, 0x20, 0xd5, 0xe5, + 0x25, 0x8d, 0xf2, 0x8d, 0xf8, 0xfc, 0x11, 0xe4, 0x05, 0x1b, 0x72, 0x8f, 0x8c, 0x75, 0xd8, 0xe8, + 0xa1, 0x4f, 0xa0, 0xe4, 0x13, 0x21, 0x69, 0x14, 0xf7, 0x17, 0xe3, 0x2e, 0x4d, 0x56, 0x39, 0x93, + 0x42, 0xa6, 0xb4, 0x2b, 0x49, 0xa4, 0x5f, 0x10, 0x3d, 0xf9, 0xb7, 0x8f, 0x9e, 0xfa, 0xbf, 0x2c, + 0x98, 0xdd, 0xe5, 0x38, 0x12, 0x7b, 0x84, 0x9b, 0x5d, 0x52, 0xeb, 0x8c, 0x2b, 0x9c, 0x35, 0x76, + 0x9d, 0x71, 0xcd, 0x3b, 0x95, 0x1a, 0x72, 0x57, 0x4f, 0x0d, 0xcf, 0xd2, 0x35, 0x4e, 0xfc, 0xd0, + 0x17, 0x36, 0xc9, 0xc0, 0xff, 0x9c, 0x84, 0x62, 0xda, 0x88, 0xa2, 0x35, 0xa8, 0x98, 0x94, 0xed, + 0x5e, 0xb5, 0xda, 0xcd, 0x1a, 0x83, 0xb5, 0xb4, 0xe8, 0xa9, 0xf3, 0x08, 0xa9, 0x10, 0xe9, 0x43, + 0x25, 0x77, 0x13, 0x8f, 0xa2, 0x11, 0xa9, 0x7e, 0xa4, 0xf4, 0x54, 0xaf, 0x62, 0xd2, 0xbb, 0x2b, + 0xfa, 0x98, 0x13, 0x61, 0xc2, 0xf0, 0xfb, 0xcd, 0x53, 0x49, 0x59, 0x77, 0x34, 0x29, 0x72, 0xa1, + 0xbc, 0xcf, 0xa4, 0xee, 0xfe, 0xd8, 0x01, 0xe1, 0x26, 0x68, 0xaf, 0x33, 0xc9, 0x66, 0x24, 0x33, + 0x93, 0x6c, 0x46, 0xd2, 0x29, 0xc5, 0x8c, 0xdb, 0x8a, 0x10, 0x39, 0x30, 0x25, 0x3c, 0xc6, 0x89, + 0x8e, 0xeb, 0xef, 0xeb, 0x7e, 0x4c, 0x95, 0x49, 0xb5, 0xf9, 0x38, 0x05, 0x9b, 0x54, 0x7b, 0x07, + 0xf2, 0xbf, 0xc7, 0x54, 0xf5, 0x75, 0xd3, 0x3a, 0xf3, 0x99, 0x11, 0x5a, 0x01, 0x90, 0x2c, 0xec, + 0x0a, 0xc9, 0x22, 0xe2, 0xeb, 0xf4, 0x5c, 0x70, 0x32, 0x08, 0xfa, 0x14, 0xca, 0xb1, 0xa6, 0x2b, + 0xa8, 0x6a, 0x67, 0xae, 0x93, 0x9f, 0x4b, 0xb1, 0xe5, 0x8e, 0x32, 0xac, 0xff, 0xc9, 0x82, 0xca, + 0x46, 0xb2, 0xc3, 0xe6, 0xb9, 0x76, 0xaa, 0xa8, 0x5b, 0x57, 0x2f, 0xea, 0x18, 0xa6, 0xe3, 0x07, + 0xa5, 0x30, 0xed, 0xd5, 0x8d, 0xbd, 0x28, 0x13, 0xde, 0xfa, 0x5f, 0x2c, 0xa8, 0x9c, 0x91, 0xa2, + 0xce, 0xf5, 0xef, 0xc8, 0x59, 0x03, 0x44, 0x20, 0x7f, 0x10, 0x3f, 0x85, 0xe2, 0xbb, 0xf1, 0xe4, + 0x7a, 0x87, 0xfe, 0xef, 0xe3, 0xea, 0xcc, 0x11, 0x0e, 0x83, 0x4f, 0xea, 0x31, 0x4b, 0xfd, 0x4c, + 0x14, 0xe4, 0x13, 0x38, 0x07, 0xb0, 0x91, 0x26, 0x7d, 0xf4, 0xe9, 0x85, 0xdf, 0x5c, 0xc6, 0x39, + 0x7f, 0xc1, 0xf7, 0x95, 0xc7, 0x30, 0x3f, 0x7a, 0x80, 0x26, 0x3c, 0xe3, 0xf2, 0xdc, 0x5c, 0x6a, + 0x92, 0xd0, 0xfc, 0xef, 0xd3, 0x9d, 0xba, 0x00, 0xe6, 0x0d, 0x3a, 0x19, 0x57, 0x91, 0x78, 0xa4, + 0x9e, 0x3e, 0x3c, 0x53, 0x1f, 0x5d, 0x12, 0xf9, 0xa6, 0xce, 0x54, 0xb2, 0xf8, 0xe3, 0xc8, 0xaf, + 0xef, 0xc0, 0xc2, 0x36, 0xe3, 0x72, 0x3d, 0xfd, 0xf6, 0xb7, 0x3b, 0x1c, 0x04, 0x57, 0xfc, 0x46, + 0xf8, 0x0e, 0x4c, 0xeb, 0x56, 0x3d, 0xfd, 0x44, 0x98, 0x57, 0xc3, 0x4d, 0xbf, 0xfe, 0xf7, 0x1c, + 0x4c, 0x3b, 0xc4, 0x23, 0x74, 0x20, 0x2f, 0xab, 0xca, 0xa3, 0x52, 0x94, 0xbb, 0x62, 0x29, 0x1a, + 0x35, 0x63, 0x13, 0xa7, 0x9a, 0xb1, 0x51, 0x17, 0x3a, 0xf9, 0xc3, 0x75, 0xa1, 0xeb, 0x00, 0x7b, + 0x94, 0x0b, 0xe9, 0x0a, 0x42, 0x22, 0xf3, 0xe9, 0x70, 0x5c, 0xd2, 0xb0, 0x74, 0xd2, 0x28, 0x6a, + 0xbb, 0x1d, 0x42, 0x22, 0xd4, 0x81, 0xa2, 0xa9, 0xd1, 0xc4, 0xbf, 0x62, 0x69, 0x37, 0x1c, 0xa9, + 0x59, 0xe7, 0xab, 0x6f, 0x5f, 0xaf, 0x58, 0xdf, 0xbd, 0x5e, 0xb1, 0xfe, 0xf1, 0x7a, 0xc5, 0xfa, + 0xe6, 0xcd, 0xca, 0xad, 0xef, 0xde, 0xac, 0xdc, 0xfa, 0xeb, 0x9b, 0x95, 0x5b, 0x5f, 0xae, 0x65, + 0x16, 0x95, 0xc9, 0x1e, 0xab, 0xea, 0x21, 0x99, 0x05, 0x5a, 0x87, 0x17, 0x7c, 0xcf, 0xd6, 0x6b, + 0xee, 0xe6, 0xb5, 0x17, 0x1f, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0xef, 0x4a, 0xe1, 0x5d, 0xfd, + 0x16, 0x00, 0x00, } func (m *Zone) Marshal() (dAtA []byte, err error) { @@ -2078,24 +2065,12 @@ func (m *Validator) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.ConsensusPubkey != nil { - { - size, err := m.ConsensusPubkey.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintInterchainstaking(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x52 - } - n11, err11 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.JailedSince, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.JailedSince):]) - if err11 != nil { - return 0, err11 + n10, err10 := github_com_gogo_protobuf_types.StdTimeMarshalTo(m.JailedSince, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(m.JailedSince):]) + if err10 != nil { + return 0, err10 } - i -= n11 - i = encodeVarintInterchainstaking(dAtA, i, uint64(n11)) + i -= n10 + i = encodeVarintInterchainstaking(dAtA, i, uint64(n10)) i-- dAtA[i] = 0x4a if m.Tombstoned { @@ -2374,22 +2349,22 @@ func (m *Receipt) MarshalToSizedBuffer(dAtA []byte) (int, error) { var l int _ = l if m.Completed != nil { - n13, err13 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Completed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Completed):]) - if err13 != nil { - return 0, err13 + n12, err12 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.Completed, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.Completed):]) + if err12 != nil { + return 0, err12 } - i -= n13 - i = encodeVarintInterchainstaking(dAtA, i, uint64(n13)) + i -= n12 + i = encodeVarintInterchainstaking(dAtA, i, uint64(n12)) i-- dAtA[i] = 0x32 } if m.FirstSeen != nil { - n14, err14 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.FirstSeen, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.FirstSeen):]) - if err14 != nil { - return 0, err14 + n13, err13 := github_com_gogo_protobuf_types.StdTimeMarshalTo(*m.FirstSeen, dAtA[i-github_com_gogo_protobuf_types.SizeOfStdTime(*m.FirstSeen):]) + if err13 != nil { + return 0, err13 } - i -= n14 - i = encodeVarintInterchainstaking(dAtA, i, uint64(n14)) + i -= n13 + i = encodeVarintInterchainstaking(dAtA, i, uint64(n13)) i-- dAtA[i] = 0x2a } @@ -2772,10 +2747,6 @@ func (m *Validator) Size() (n int) { } l = github_com_gogo_protobuf_types.SizeOfStdTime(m.JailedSince) n += 1 + l + sovInterchainstaking(uint64(l)) - if m.ConsensusPubkey != nil { - l = m.ConsensusPubkey.Size() - n += 1 + l + sovInterchainstaking(uint64(l)) - } return n } @@ -5378,42 +5349,6 @@ func (m *Validator) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsensusPubkey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowInterchainstaking - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthInterchainstaking - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthInterchainstaking - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ConsensusPubkey == nil { - m.ConsensusPubkey = &types1.Any{} - } - if err := m.ConsensusPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipInterchainstaking(dAtA[iNdEx:]) diff --git a/x/interchainstaking/types/validator.go b/x/interchainstaking/types/validator.go index 1b86e537e..4ffab9e0b 100644 --- a/x/interchainstaking/types/validator.go +++ b/x/interchainstaking/types/validator.go @@ -1,13 +1,10 @@ package types import ( - sdkioerrors "cosmossdk.io/errors" sdkmath "cosmossdk.io/math" - cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/bech32" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" ) func (v Validator) GetAddressBytes() ([]byte, error) { @@ -43,16 +40,6 @@ func (v Validator) SharesToTokens(shares sdk.Dec) sdkmath.Int { return sdk.NewDecFromInt(v.VotingPower).Quo(v.DelegatorShares).Mul(shares).TruncateInt() } -// GetConsAddr extracts Consensus key address -func (v Validator) GetConsAddr() (sdk.ConsAddress, error) { - pk, ok := v.ConsensusPubkey.GetCachedValue().(cryptotypes.PubKey) - if !ok { - return nil, sdkioerrors.Wrapf(sdkerrors.ErrInvalidType, "expecting cryptotypes.PubKey, got %T", pk) - } - - return sdk.ConsAddress(pk.Address()), nil -} - func (di DelegatorIntent) AddOrdinal(multiplier sdk.Dec, intents ValidatorIntents) DelegatorIntent { if len(intents) == 0 { return di