diff --git a/CHANGELOG.md b/CHANGELOG.md index 41b18b33d..8b981242a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## Unreleased +### Improvements + +- [#419](https://github.com/babylonlabs-io/babylon/pull/419) Add new modules to swagger config + ### Bug fixes - [#353](https://github.com/babylonlabs-io/babylon/pull/353) Bump to SDK diff --git a/client/docs/config.json b/client/docs/config.json index 83337a2aa..05b1f16ac 100644 --- a/client/docs/config.json +++ b/client/docs/config.json @@ -30,6 +30,23 @@ } } }, + { + "url": "./tmp-swagger-gen/babylon/btcstaking/v1/query.swagger.json" + }, + { + "url": "./tmp-swagger-gen/babylon/finality/v1/query.swagger.json", + "operationIds": { + "rename": { + "Params": "FinalityParams" + } + } + }, + { + "url": "./tmp-swagger-gen/babylon/mint/v1/query.swagger.json" + }, + { + "url": "./tmp-swagger-gen/babylon/monitor/v1/query.swagger.json" + }, { "url": "./tmp-swagger-gen/babylon/checkpointing/v1/query.swagger.json", "operationIds": { diff --git a/client/docs/swagger-ui/swagger.yaml b/client/docs/swagger-ui/swagger.yaml index 6499e284f..14e5a9e80 100644 --- a/client/docs/swagger-ui/swagger.yaml +++ b/client/docs/swagger-ui/swagger.yaml @@ -3704,64 +3704,253 @@ paths: type: string tags: - Query - /babylon/checkpointing/v1/bls_public_keys/{epoch_num}: + /babylon/btcstaking/v1/btc_delegation/{staking_tx_hash_hex}: get: - summary: >- - BlsPublicKeyList queries a list of bls public keys of the validators at - a - - given epoch number. - operationId: BlsPublicKeyList + summary: BTCDelegation retrieves delegation by corresponding staking tx hash + operationId: BTCDelegation responses: '200': description: A successful response. schema: type: object properties: - validator_with_bls_keys: - type: array - items: - type: object - properties: - validator_address: - type: string - title: validator_address is the address of the validator - bls_pub_key_hex: - type: string - title: bls_pub_key is the BLS public key of the validator - voting_power: - type: string - format: uint64 - title: >- - voting_power is the voting power of the validator at the - given epoch - title: >- - BlsPublicKeyListResponse couples validator address, voting - power, and its bls - - public key - pagination: - description: pagination defines the pagination in the response. + btc_delegation: + description: >- + BTCDelegation represents the client needed information of an + BTCDelegation. type: object properties: - next_key: + staker_addr: + type: string + description: >- + staker_addr is the address to receive rewards from BTC + delegation. + btc_pk: 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: + title: |- + btc_pk is the Bitcoin secp256k1 PK of this BTC delegation + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the finality + providers that + + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the + delegation is locked on BTC chain + start_height: + type: integer + format: int64 + title: |- + start_height is the start BTC height of the BTC delegation + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: type: string format: uint64 title: >- - total is total number of results available if - PageRequest.count_total + total_sat is the total amount of BTC stakes in this + delegation - was set, its value is undefined otherwise - description: |- - QueryBlsPublicKeyListResponse is the response type for the - Query/BlsPublicKeys RPC method. + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: >- + delegator_slash_sig_hex is the signature on the slashing + tx + + by the delegator (i.e., SK corresponding to btc_pk) as + string hex. + + It will be a part of the witness for the staking tx + output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, + used as the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's + public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures + signed by the + + covenant with different finality provider's public keys + as encryption keys + description: >- + covenant_sigs is a list of adaptor signatures on the + slashing tx + + by each covenant member + + It will be a part of the witness for the staking tx + output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in + the staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path and + in slashing transactions + + change outputs + undelegation_response: + description: >- + undelegation_response is the undelegation info of this + delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer + the funds from staking + + output to unbonding output. Unbonding output will + usually have lower timelock + + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with + its signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of signatures + on the unbonding tx + + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: >- + delegator_slashing_sig is the signature on the + slashing tx + + by the delegator (i.e., SK corresponding to btc_pk). + + It will be a part of the witness for the unbonding tx + output. + + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant + emulator, used as the public key of the adaptor + signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, + each encrypted by a restaked BTC finality + provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor + signatures signed by the + + covenant with different finality provider's public + keys as encryption keys + description: >- + covenant_slashing_sigs is a list of adaptor signatures + on the + + unbonding slashing tx by each covenant member + + It will be a part of the witness for the staking tx + output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info + about the transaction + + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent + the staking output. It is + + filled only if the spend_stake_tx_hex is different + than the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about + the undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + title: >- + QueryBTCDelegationResponse is response type matching + QueryBTCDelegationRequest + + and containing BTC delegation information default: description: An unexpected error response. schema: @@ -3781,162 +3970,462 @@ 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 - parameters: - - name: epoch_num - description: epoch_num defines the epoch for the queried bls public keys - in: path - required: true - type: string - format: uint64 - - name: pagination.key - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - in: query - required: false - type: string - format: byte - - name: pagination.offset - description: >- - offset is a numeric offset that can be used when key is unavailable. + 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 - It is less efficient than using key. Only one of offset or key - should + URL that describes the type of the serialized message. - 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 + Protobuf library provides support to pack/unpack Any values + in the form - a count of the total number of items available for pagination in - UIs. + of utility functions or additional generated methods of the + Any type. - 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. + Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean + 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: staking_tx_hash_hex + description: Hash of staking transaction in btc format + in: path + required: true + type: string tags: - Query - /babylon/checkpointing/v1/epochs/{epoch_num}/status: + /babylon/btcstaking/v1/btc_delegations/{status}: get: - summary: EpochStatus queries the status of the checkpoint at a given epoch - operationId: EpochStatus + summary: BTCDelegations queries all BTC delegations under a given status + operationId: BTCDelegations responses: '200': description: A successful response. schema: type: object properties: - status: - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. + btc_delegations: + type: array + items: + type: object + properties: + staker_addr: + type: string + description: >- + staker_addr is the address to receive rewards from BTC + delegation. + btc_pk: + type: string + format: byte + title: >- + btc_pk is the Bitcoin secp256k1 PK of this BTC + delegation - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. - description: >- - QueryEpochStatusResponse is the response type for the - Query/EpochStatus + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the + finality providers that - RPC method. - 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: epoch_num - in: path - required: true - type: string - format: uint64 - tags: - - Query - /babylon/checkpointing/v1/epochs:status_count: - get: - summary: |- - RecentEpochStatusCount queries the number of epochs with each status in - recent epochs - operationId: RecentEpochStatusCount - responses: - '200': - description: A successful response. - schema: - type: object - properties: - tip_epoch: - type: string - format: uint64 - epoch_count: - type: string - format: uint64 - status_count: - type: object - additionalProperties: - type: string - format: uint64 - description: |- - QueryRecentEpochStatusCountResponse is the response type for the - Query/EpochStatusCount RPC method. + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the + delegation is locked on BTC chain + start_height: + type: integer + format: int64 + title: >- + start_height is the start BTC height of the BTC + delegation + + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: + type: string + format: uint64 + title: >- + total_sat is the total amount of BTC stakes in this + delegation + + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: >- + delegator_slash_sig_hex is the signature on the slashing + tx + + by the delegator (i.e., SK corresponding to btc_pk) as + string hex. + + It will be a part of the witness for the staking tx + output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, + used as the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's + public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures + signed by the + + covenant with different finality provider's public + keys as encryption keys + description: >- + covenant_sigs is a list of adaptor signatures on the + slashing tx + + by each covenant member + + It will be a part of the witness for the staking tx + output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in + the staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path + and in slashing transactions + + change outputs + undelegation_response: + description: >- + undelegation_response is the undelegation info of this + delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer + the funds from staking + + output to unbonding output. Unbonding output will + usually have lower timelock + + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with + its signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of + signatures on the unbonding tx + + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: >- + delegator_slashing_sig is the signature on the + slashing tx + + by the delegator (i.e., SK corresponding to btc_pk). + + It will be a part of the witness for the unbonding + tx output. + + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant + emulator, used as the public key of the + adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, + each encrypted by a restaked BTC finality + provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor + signatures signed by the + + covenant with different finality provider's public + keys as encryption keys + description: >- + covenant_slashing_sigs is a list of adaptor + signatures on the + + unbonding slashing tx by each covenant member + + It will be a part of the witness for the staking tx + output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info + about the transaction + + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which + spent the staking output. It is + + filled only if the spend_stake_tx_hex is + different than the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info + about the undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + description: >- + BTCDelegationResponse is the client needed information from + a BTCDelegation with the current status based on parameters. + title: >- + btc_delegations contains all the queried BTC delegations under + the given status + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryBTCDelegationsResponse is the response type for the + Query/BTCDelegations RPC method. default: description: An unexpected error response. schema: @@ -3956,249 +4445,408 @@ 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: epoch_count + - name: status + description: status is the queried status for BTC delegations + in: path + required: true + type: string + enum: + - PENDING + - VERIFIED + - ACTIVE + - UNBONDED + - EXPIRED + - ANY + - 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: >- - epoch_count is the number of the most recent epochs to include in - the + offset is a numeric offset that can be used when key is unavailable. - aggregation. + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. in: query required: false type: string format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean tags: - Query - /babylon/checkpointing/v1/last_raw_checkpoint/{status}: + /babylon/btcstaking/v1/finality_providers: get: - summary: >- - LastCheckpointWithStatus queries the last checkpoint with a given status - or - - a more matured status - operationId: LastCheckpointWithStatus + summary: FinalityProviders queries all finality providers + operationId: FinalityProviders responses: '200': description: A successful response. schema: type: object properties: - raw_checkpoint: - type: object - properties: - epoch_num: - type: string - format: uint64 - title: >- - epoch_num defines the epoch number the raw checkpoint is - for - block_hash_hex: - type: string - title: >- - block_hash_hex defines the 'BlockID.Hash', which is the - hash of - - the block that individual BLS sigs are signed on as hex - string - bitmap: - type: string - format: byte - title: >- - bitmap defines the bitmap that indicates the signers of - the BLS multi sig - bls_multi_sig: - type: string - format: byte - title: >- - bls_multi_sig defines the multi sig that is aggregated - from individual BLS - - sigs - title: RawCheckpointResponse wraps the BLS multi sig with metadata - description: |- - QueryLastCheckpointWithStatusResponse is the response type for the - Query/LastCheckpointWithStatus RPC method. - default: - description: An unexpected error response. - schema: - type: object - properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: + finality_providers: type: array items: type: object properties: - type_url: + description: + description: >- + description defines the description terms for the + finality provider. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + commission: type: string - value: + description: >- + commission defines the commission rate of the finality + provider. + addr: + type: string + description: >- + addr is the address to receive commission from + delegations. + btc_pk: type: string format: byte - parameters: - - name: status - in: path - required: true - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - tags: - - Query - /babylon/checkpointing/v1/raw_checkpoint/{epoch_num}: - get: - summary: RawCheckpoint queries a checkpoints at a given epoch number. - operationId: RawCheckpoint - responses: - '200': - description: A successful response. - schema: - type: object - properties: - raw_checkpoint: - type: object - properties: - ckpt: - type: object - properties: - epoch_num: - type: string - format: uint64 - title: >- - epoch_num defines the epoch number the raw checkpoint - is for - block_hash_hex: - type: string - title: >- - block_hash_hex defines the 'BlockID.Hash', which is - the hash of - - the block that individual BLS sigs are signed on as - hex string - bitmap: - type: string - format: byte - title: >- - bitmap defines the bitmap that indicates the signers - of the BLS multi sig - bls_multi_sig: - type: string - format: byte - title: >- - bls_multi_sig defines the multi sig that is aggregated - from individual BLS + title: >- + btc_pk is the Bitcoin secp256k1 PK of this finality + provider - sigs - title: >- - RawCheckpointResponse wraps the BLS multi sig with - metadata - status: - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. + the PK follows encoding in BIP-340 spec + pop: + description: >- + pop is the proof of possession of the BTC_PK by the fp + addr. - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. - title: status defines the status of the checkpoint - status_desc: - type: string - description: status_desc represents the description of status enum. - bls_aggr_pk: - type: string - format: byte - title: bls_aggr_pk defines the aggregated BLS public key - power_sum: - type: string - format: uint64 - title: >- - power_sum defines the accumulated voting power for the - checkpoint - lifecycle: - type: array - items: + Essentially is the signature where the BTC SK sigs the + fp addr. type: object properties: - state: - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. - - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + btc_sig_type: title: >- - state defines the event of a state transition - towards this state - status_desc: + btc_sig_type indicates the type of btc_sig in the + pop type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 description: >- - status_desc represents the description of status - enum. - block_height: - type: string - format: uint64 - title: >- - block_height is the height of the Babylon block that - triggers the state - - update - block_time: + - BIP340: BIP340 means the btc_sig will follow the + BIP-340 encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + btc_sig: type: string - format: date-time + format: byte title: >- - block_time is the timestamp in the Babylon block - that triggers the state + btc_sig is the signature generated via sign(sk_btc, + babylon_staker_address) - update - description: >- - CheckpointStateUpdateResponse defines a state transition - on the checkpoint. - description: >- - lifecycle defines the lifecycle of this checkpoint, i.e., - each state + the signature follows encoding in either BIP-340 + spec or BIP-322 spec + title: >- + ProofOfPossessionBTC is the proof of possession that a + Babylon - transition and the time (in both timestamp and block - height) of this + address and a Bitcoin secp256k1 secret key are held by + the same - transition. - description: >- - RawCheckpointWithMetaResponse wraps the raw checkpoint with - metadata. - description: >- - QueryRawCheckpointResponse is the response type for the - Query/RawCheckpoint + person + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + height: + type: string + format: uint64 + title: height is the queried Babylon height + jailed: + type: boolean + title: jailed defines whether the finality provider is jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + FinalityProviderResponse defines a finality provider with + voting power information. + title: finality_providers contains all the finality providers + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - RPC method. + was set, its value is undefined otherwise + description: |- + QueryFinalityProvidersResponse is the response type for the + Query/FinalityProviders RPC method. default: description: An unexpected error response. schema: @@ -4218,163 +4866,505 @@ paths: properties: type_url: type: string - value: - type: string - format: byte - parameters: - - name: epoch_num - description: epoch_num defines the epoch for the queried checkpoint - in: path - required: true + 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: - Query - /babylon/checkpointing/v1/raw_checkpoints: + /babylon/btcstaking/v1/finality_providers/{fp_btc_pk_hex}/delegations: get: summary: >- - RawCheckpoints queries checkpoints for a epoch range specified in - pagination params. - operationId: RawCheckpoints + FinalityProviderDelegations queries all BTC delegations of the given + finality provider + operationId: FinalityProviderDelegations responses: '200': description: A successful response. schema: type: object properties: - raw_checkpoints: + btc_delegator_delegations: type: array items: type: object properties: - ckpt: - type: object - properties: - epoch_num: - type: string - format: uint64 - title: >- - epoch_num defines the epoch number the raw - checkpoint is for - block_hash_hex: - type: string - title: >- - block_hash_hex defines the 'BlockID.Hash', which is - the hash of - - the block that individual BLS sigs are signed on as - hex string - bitmap: - type: string - format: byte - title: >- - bitmap defines the bitmap that indicates the signers - of the BLS multi sig - bls_multi_sig: - type: string - format: byte - title: >- - bls_multi_sig defines the multi sig that is - aggregated from individual BLS - - sigs - title: >- - RawCheckpointResponse wraps the BLS multi sig with - metadata - status: - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. - - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. - title: status defines the status of the checkpoint - status_desc: - type: string - description: status_desc represents the description of status enum. - bls_aggr_pk: - type: string - format: byte - title: bls_aggr_pk defines the aggregated BLS public key - power_sum: - type: string - format: uint64 - title: >- - power_sum defines the accumulated voting power for the - checkpoint - lifecycle: + dels: type: array items: type: object properties: - state: + staker_addr: type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. + description: >- + staker_addr is the address to receive rewards from + BTC delegation. + btc_pk: + type: string + format: byte + title: >- + btc_pk is the Bitcoin secp256k1 PK of this BTC + delegation - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte title: >- - state defines the event of a state transition - towards this state - status_desc: - type: string - description: >- - status_desc represents the description of status - enum. - block_height: + fp_btc_pk_list is the list of BIP-340 PKs of the + finality providers that + + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the + delegation is locked on BTC chain + start_height: + type: integer + format: int64 + title: >- + start_height is the start BTC height of the BTC + delegation + + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: type: string format: uint64 title: >- - block_height is the height of the Babylon block - that triggers the state + total_sat is the total amount of BTC stakes in + this delegation - update - block_time: + quantified in satoshi + staking_tx_hex: type: string - format: date-time - title: >- - block_time is the timestamp in the Babylon block - that triggers the state + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: >- + delegator_slash_sig_hex is the signature on the + slashing tx + + by the delegator (i.e., SK corresponding to + btc_pk) as string hex. + + It will be a part of the witness for the staking + tx output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant + emulator, used as the public key of the + adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor + signatures, each encrypted by a restaked BTC + finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor + signatures signed by the + + covenant with different finality provider's + public keys as encryption keys + description: >- + covenant_sigs is a list of adaptor signatures on + the slashing tx - update - description: >- - CheckpointStateUpdateResponse defines a state - transition on the checkpoint. - description: >- - lifecycle defines the lifecycle of this checkpoint, - i.e., each state + by each covenant member - transition and the time (in both timestamp and block - height) of this + It will be a part of the witness for the staking + tx output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking + output in the staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock + path and in slashing transactions - transition. + change outputs + undelegation_response: + description: >- + undelegation_response is the undelegation info of + this delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will + transfer the funds from staking + + output to unbonding output. Unbonding output + will usually have lower timelock + + than staking output. The unbonding tx as + string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature + together with its signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of + signatures on the unbonding tx + + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: >- + delegator_slashing_sig is the signature on the + slashing tx + + by the delegator (i.e., SK corresponding to + btc_pk). + + It will be a part of the witness for the + unbonding tx output. + + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant + emulator, used as the public key of the + adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor + signatures, each encrypted by a restaked + BTC finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor + signatures signed by the + + covenant with different finality provider's + public keys as encryption keys + description: >- + covenant_slashing_sigs is a list of adaptor + signatures on the + + unbonding slashing tx by each covenant member + + It will be a part of the witness for the + staking tx output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary + info about the transaction + + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction + which spent the staking output. It is + + filled only if the spend_stake_tx_hex is + different than the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary + info about the undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + description: >- + BTCDelegationResponse is the client needed information + from a BTCDelegation with the current status based on + parameters. description: >- - RawCheckpointWithMetaResponse wraps the raw checkpoint with - metadata. - title: >- - the order is going from the newest to oldest based on the - epoch number + BTCDelegatorDelegationsResponse is a collection of BTC + delegations responses from the same delegator. + description: >- + btc_delegator_delegations contains all the queried BTC + delegations. pagination: description: pagination defines the pagination in the response. type: object @@ -4395,10 +5385,10 @@ paths: was set, its value is undefined otherwise description: >- - QueryRawCheckpointsResponse is the response type for the - Query/RawCheckpoints + QueryFinalityProviderDelegationsResponse is the response type for + the - RPC method. + Query/FinalityProviderDelegations RPC method. default: description: An unexpected error response. schema: @@ -4418,548 +5408,6041 @@ 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 - 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. + 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 - It is less efficient than using key. Only one of offset or key - should + URL that describes the type of the serialized message. - 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 + Protobuf library provides support to pack/unpack Any values + in the form - a count of the total number of items available for pagination in - UIs. + of utility functions or additional generated methods of the + Any type. - 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. + Example 1: Pack and unpack a message in C++. + Foo foo = ...; + Any any; + any.PackFrom(foo); + ... + if (any.UnpackTo(&foo)) { + ... + } - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query - /babylon/checkpointing/v1/raw_checkpoints/{status}: + 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: fp_btc_pk_hex + description: >- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality + providerthat + + this BTC delegation delegates to + + the PK follows encoding in BIP-340 spec + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/btcstaking/v1/finality_providers/{fp_btc_pk_hex}/finality_provider: get: - summary: RawCheckpointList queries all checkpoints that match the given status. - operationId: RawCheckpointList + summary: FinalityProvider info about one finality provider + operationId: FinalityProvider responses: '200': description: A successful response. schema: type: object properties: - raw_checkpoints: + finality_provider: + type: object + properties: + description: + description: >- + description defines the description terms for the finality + provider. + type: object + properties: + moniker: + type: string + description: >- + moniker defines a human-readable name for the + validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. + UPort or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for + security contact. + details: + type: string + description: details define other optional details. + commission: + type: string + description: >- + commission defines the commission rate of the finality + provider. + addr: + type: string + description: >- + addr is the address to receive commission from + delegations. + btc_pk: + type: string + format: byte + title: >- + btc_pk is the Bitcoin secp256k1 PK of this finality + provider + + the PK follows encoding in BIP-340 spec + pop: + description: >- + pop is the proof of possession of the BTC_PK by the fp + addr. + + Essentially is the signature where the BTC SK sigs the fp + addr. + type: object + properties: + btc_sig_type: + title: btc_sig_type indicates the type of btc_sig in the pop + type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 + description: >- + - BIP340: BIP340 means the btc_sig will follow the + BIP-340 encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + btc_sig: + type: string + format: byte + title: >- + btc_sig is the signature generated via sign(sk_btc, + babylon_staker_address) + + the signature follows encoding in either BIP-340 spec + or BIP-322 spec + title: >- + ProofOfPossessionBTC is the proof of possession that a + Babylon + + address and a Bitcoin secp256k1 secret key are held by the + same + + person + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + height: + type: string + format: uint64 + title: height is the queried Babylon height + jailed: + type: boolean + title: jailed defines whether the finality provider is jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + FinalityProviderResponse defines a finality provider with + voting power information. + title: finality_provider contains the FinalityProvider + title: >- + QueryFinalityProviderResponse contains information about a + finality provider + 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: - ckpt: - type: object - properties: - epoch_num: - type: string - format: uint64 - title: >- - epoch_num defines the epoch number the raw - checkpoint is for - block_hash_hex: - type: string - title: >- - block_hash_hex defines the 'BlockID.Hash', which is - the hash of + type_url: + type: string + description: >- + A URL/resource name that uniquely identifies the type of + the serialized - the block that individual BLS sigs are signed on as - hex string - bitmap: - type: string - format: byte - title: >- - bitmap defines the bitmap that indicates the signers - of the BLS multi sig - bls_multi_sig: - type: string - format: byte - title: >- - bls_multi_sig defines the multi sig that is - aggregated from individual BLS + protocol buffer message. This string must contain at + least - sigs - title: >- - RawCheckpointResponse wraps the BLS multi sig with - metadata - status: - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. + one "/" character. The last segment of the URL's path + must represent - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. - title: status defines the status of the checkpoint - status_desc: - type: string - description: status_desc represents the description of status enum. - bls_aggr_pk: - type: string - format: byte - title: bls_aggr_pk defines the aggregated BLS public key - power_sum: - type: string - format: uint64 - title: >- - power_sum defines the accumulated voting power for the - checkpoint - lifecycle: - type: array - items: - type: object - properties: - state: - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - default: CKPT_STATUS_ACCUMULATING - description: |- - CheckpointStatus is the status of a checkpoint. + the fully qualified name of the type (as in - - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. - - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. - - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. - - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. - - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. - title: >- - state defines the event of a state transition - towards this state - status_desc: - type: string - description: >- - status_desc represents the description of status - enum. - block_height: - type: string - format: uint64 - title: >- - block_height is the height of the Babylon block - that triggers the state + `path/google.protobuf.Duration`). The name should be in + a canonical form - update - block_time: - type: string - format: date-time - title: >- - block_time is the timestamp in the Babylon block - that triggers the state + (e.g., leading "." is not accepted). - update - description: >- - CheckpointStateUpdateResponse defines a state - transition on the checkpoint. - description: >- - lifecycle defines the lifecycle of this checkpoint, - i.e., each state - transition and the time (in both timestamp and block - height) of this + In practice, teams usually precompile into the binary + all types that they - transition. - description: >- - RawCheckpointWithMetaResponse wraps the raw checkpoint with - metadata. - title: >- - the order is going from the newest to oldest based on the - epoch number - pagination: - description: pagination defines the pagination in the response. - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: >- - total is total number of results available if - PageRequest.count_total + expect it to use in the context of Any. However, for + URLs which use the - was set, its value is undefined otherwise - description: |- - QueryRawCheckpointListResponse is the response type for the - Query/RawCheckpoints RPC method. - 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 + 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 - parameters: - - name: status - description: status defines the status of the raw checkpoints of the query - in: path - required: true - type: string - enum: - - CKPT_STATUS_ACCUMULATING - - CKPT_STATUS_SEALED - - CKPT_STATUS_SUBMITTED - - CKPT_STATUS_CONFIRMED - - CKPT_STATUS_FINALIZED - - 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. + 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: fp_btc_pk_hex + description: >- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality + provider + in: path + required: true + type: string + tags: + - Query + /babylon/btcstaking/v1/params: + get: + summary: Parameters queries the parameters of the module. + operationId: Params + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + covenant_pks: + type: array + items: + type: string + format: byte + title: >- + PARAMETERS COVERING STAKING + + covenant_pks is the list of public keys held by the + covenant committee + + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed + for the covenant + + multisignature + min_staking_value_sat: + type: string + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in + staking output + max_staking_value_sat: + type: string + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in + staking output + min_staking_time_blocks: + type: integer + format: int64 + title: >- + min_staking_time is the minimum lock time specified in + staking output script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time + specified in staking output script + slashing_pk_script: + type: string + format: byte + title: >- + PARAMETERS COVERING SLASHING + + slashing_pk_script is the pk_script expected in slashing + output ie. the first + + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: >- + min_slashing_tx_fee_sat is the minimum amount of tx fee + (quantified + + in Satoshi) needed for the pre-signed slashing tx. It + covers both: + + staking slashing transaction and unbonding slashing + transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount + to be slashed, + + expressed as a decimal (e.g., 0.5 for 50%). Maximal + precion is 2 decimal + + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING + + unbonding_time is the exact unbonding time required from + unbonding transaction + + it must be larger than `checkpoint_finalization_timeout` + from `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS + + min_commission_rate is the chain-wide minimum commission + rate that a finality provider + + can charge their delegators expressed as a decimal (e.g., + 0.5 for 50%). Maximal precion + + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: + type: string + format: uint64 + title: >- + allow_list_expiration_height is the height at which the + allow list expires + + i.e all staking transactions are allowed to enter Babylon + chain afterwards + + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which + parameters are activated (inclusive) + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + 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" + } + tags: + - Query + /babylon/btcstaking/v1/params/btc_height/{btc_height}: + get: + summary: >- + ParamsByBTCHeight queries the parameters of the module for a specific + BTC height + operationId: ParamsByBTCHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + covenant_pks: + type: array + items: + type: string + format: byte + title: >- + PARAMETERS COVERING STAKING + + covenant_pks is the list of public keys held by the + covenant committee + + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed + for the covenant + + multisignature + min_staking_value_sat: + type: string + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in + staking output + max_staking_value_sat: + type: string + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in + staking output + min_staking_time_blocks: + type: integer + format: int64 + title: >- + min_staking_time is the minimum lock time specified in + staking output script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time + specified in staking output script + slashing_pk_script: + type: string + format: byte + title: >- + PARAMETERS COVERING SLASHING + + slashing_pk_script is the pk_script expected in slashing + output ie. the first + + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: >- + min_slashing_tx_fee_sat is the minimum amount of tx fee + (quantified + + in Satoshi) needed for the pre-signed slashing tx. It + covers both: + + staking slashing transaction and unbonding slashing + transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount + to be slashed, + + expressed as a decimal (e.g., 0.5 for 50%). Maximal + precion is 2 decimal + + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING + + unbonding_time is the exact unbonding time required from + unbonding transaction + + it must be larger than `checkpoint_finalization_timeout` + from `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS + + min_commission_rate is the chain-wide minimum commission + rate that a finality provider + + can charge their delegators expressed as a decimal (e.g., + 0.5 for 50%). Maximal precion + + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: + type: string + format: uint64 + title: >- + allow_list_expiration_height is the height at which the + allow list expires + + i.e all staking transactions are allowed to enter Babylon + chain afterwards + + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which + parameters are activated (inclusive) + version: + type: integer + format: int64 + title: version is the version of the params for the given BTC height + description: >- + QueryParamsByBTCHeightResponse is response type for the + Query/QueryParamsByBTCHeightResponse RPC method. + 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: btc_height + in: path + required: true + type: integer + format: int64 + tags: + - Query + /babylon/btcstaking/v1/params/{version}: + get: + summary: >- + ParamsByVersion queries the parameters of the module for a specific + version of past params. + operationId: ParamsByVersion + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + covenant_pks: + type: array + items: + type: string + format: byte + title: >- + PARAMETERS COVERING STAKING + + covenant_pks is the list of public keys held by the + covenant committee + + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed + for the covenant + + multisignature + min_staking_value_sat: + type: string + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in + staking output + max_staking_value_sat: + type: string + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in + staking output + min_staking_time_blocks: + type: integer + format: int64 + title: >- + min_staking_time is the minimum lock time specified in + staking output script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time + specified in staking output script + slashing_pk_script: + type: string + format: byte + title: >- + PARAMETERS COVERING SLASHING + + slashing_pk_script is the pk_script expected in slashing + output ie. the first + + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: >- + min_slashing_tx_fee_sat is the minimum amount of tx fee + (quantified + + in Satoshi) needed for the pre-signed slashing tx. It + covers both: + + staking slashing transaction and unbonding slashing + transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount + to be slashed, + + expressed as a decimal (e.g., 0.5 for 50%). Maximal + precion is 2 decimal + + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING + + unbonding_time is the exact unbonding time required from + unbonding transaction + + it must be larger than `checkpoint_finalization_timeout` + from `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS + + min_commission_rate is the chain-wide minimum commission + rate that a finality provider + + can charge their delegators expressed as a decimal (e.g., + 0.5 for 50%). Maximal precion + + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: + type: string + format: uint64 + title: >- + allow_list_expiration_height is the height at which the + allow list expires + + i.e all staking transactions are allowed to enter Babylon + chain afterwards + + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which + parameters are activated (inclusive) + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + 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: version + in: path + required: true + type: integer + format: int64 + tags: + - Query + /babylon/finality/v1/activated_height: + get: + summary: >- + ActivatedHeight queries the height when BTC staking protocol is + activated, i.e., the first height when + + there exists 1 finality provider with voting power + operationId: ActivatedHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + height: + type: string + format: uint64 + description: >- + QueryActivatedHeightResponse is the response type for the + Query/ActivatedHeight RPC method. + 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 + tags: + - Query + /babylon/finality/v1/blocks: + get: + summary: ListBlocks is a range query for blocks at a given status + operationId: ListBlocks + responses: + '200': + description: A successful response. + schema: + type: object + properties: + blocks: + type: array + items: + type: object + properties: + height: + type: string + format: uint64 + title: height is the height of the block + app_hash: + type: string + format: byte + title: app_hash is the AppHash of the block + finalized: + type: boolean + title: >- + finalized indicates whether the IndexedBlock is + finalised by 2/3 + + finality providers or not + title: >- + IndexedBlock is the necessary metadata and finalization + status of a block + title: blocks is the list of blocks at the given status + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryListBlocksResponse is the response type for the + Query/ListBlocks RPC method. + 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: status + description: >- + status indicates the status of blocks that the querier wants to + query. + + - NON_FINALIZED: NON_FINALIZED means the block is not finalised + - FINALIZED: FINALIZED means the block is finalized + - ANY: ANY means the block can be in any status + in: query + required: false + type: string + enum: + - NON_FINALIZED + - FINALIZED + - ANY + default: NON_FINALIZED + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/finality/v1/blocks/{height}: + get: + summary: Block queries a block at a given height + operationId: Block + responses: + '200': + description: A successful response. + schema: + type: object + properties: + block: + type: object + properties: + height: + type: string + format: uint64 + title: height is the height of the block + app_hash: + type: string + format: byte + title: app_hash is the AppHash of the block + finalized: + type: boolean + title: >- + finalized indicates whether the IndexedBlock is finalised + by 2/3 + + finality providers or not + title: >- + IndexedBlock is the necessary metadata and finalization status + of a block + description: |- + QueryBlockResponse is the response type for the + Query/Block RPC method. + 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: height + description: height is the height of the Babylon block + in: path + required: true + type: string + format: uint64 + tags: + - Query + /babylon/finality/v1/evidences: + get: + summary: ListEvidences queries is a range query for evidences + operationId: ListEvidences + responses: + '200': + description: A successful response. + schema: + type: object + properties: + evidences: + type: array + items: + type: object + properties: + fp_btc_pk_hex: + type: string + title: >- + fp_btc_pk_hex is the BTC PK of the finality provider + that casts this vote + block_height: + type: string + format: uint64 + title: block_height is the height of the conflicting blocks + pub_rand: + type: string + format: byte + title: >- + pub_rand is the public randomness the finality provider + has committed to + canonical_app_hash: + type: string + format: byte + title: canonical_app_hash is the AppHash of the canonical block + fork_app_hash: + type: string + format: byte + title: fork_app_hash is the AppHash of the fork block + canonical_finality_sig: + type: string + format: byte + title: >- + canonical_finality_sig is the finality signature to the + canonical block + + where finality signature is an EOTS signature, i.e., + + the `s` in a Schnorr signature `(r, s)` + + `r` is the public randomness that is already committed + by the finality provider + fork_finality_sig: + type: string + format: byte + title: >- + fork_finality_sig is the finality signature to the fork + block + + where finality signature is an EOTS signature + title: >- + Evidence is the evidence that a finality provider has signed + finality + + signatures with correct public randomness on two conflicting + Babylon headers + title: blocks is the list of evidences + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryListEvidencesResponse is the response type for the + Query/ListEvidences RPC method. + 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: start_height + description: |- + start_height is the starting height that the querier specifies + such that the RPC will only return evidences since this height. + in: query + required: false + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/finality/v1/finality_providers/{fp_btc_pk_hex}/evidence: + get: + summary: >- + Evidence queries the first evidence which can be used for extracting the + BTC SK + operationId: Evidence + responses: + '200': + description: A successful response. + schema: + type: object + properties: + evidence: + type: object + properties: + fp_btc_pk_hex: + type: string + title: >- + fp_btc_pk_hex is the BTC PK of the finality provider that + casts this vote + block_height: + type: string + format: uint64 + title: block_height is the height of the conflicting blocks + pub_rand: + type: string + format: byte + title: >- + pub_rand is the public randomness the finality provider + has committed to + canonical_app_hash: + type: string + format: byte + title: canonical_app_hash is the AppHash of the canonical block + fork_app_hash: + type: string + format: byte + title: fork_app_hash is the AppHash of the fork block + canonical_finality_sig: + type: string + format: byte + title: >- + canonical_finality_sig is the finality signature to the + canonical block + + where finality signature is an EOTS signature, i.e., + + the `s` in a Schnorr signature `(r, s)` + + `r` is the public randomness that is already committed by + the finality provider + fork_finality_sig: + type: string + format: byte + title: >- + fork_finality_sig is the finality signature to the fork + block + + where finality signature is an EOTS signature + title: >- + Evidence is the evidence that a finality provider has signed + finality + + signatures with correct public randomness on two conflicting + Babylon headers + description: |- + QueryEvidenceResponse is the response type for the + Query/Evidence RPC method. + 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: fp_btc_pk_hex + description: |- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK + (in BIP340 format) of the finality provider + in: path + required: true + type: string + tags: + - Query + /babylon/finality/v1/finality_providers/{fp_btc_pk_hex}/power: + get: + summary: >- + FinalityProviderCurrentPower queries the voting power of a finality + provider at the current height + operationId: FinalityProviderCurrentPower + responses: + '200': + description: A successful response. + schema: + type: object + properties: + height: + type: string + format: uint64 + title: height is the current height + voting_power: + type: string + format: uint64 + title: voting_power is the voting power of the finality provider + description: >- + QueryFinalityProviderCurrentPowerResponse is the response type for + the + + Query/FinalityProviderCurrentPower RPC method. + 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: fp_btc_pk_hex + description: >- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality + provider that + + this BTC delegation delegates to + + the PK follows encoding in BIP-340 spec + in: path + required: true + type: string + tags: + - Query + /babylon/finality/v1/finality_providers/{fp_btc_pk_hex}/power/{height}: + get: + summary: >- + FinalityProviderPowerAtHeight queries the voting power of a finality + provider at a given height + operationId: FinalityProviderPowerAtHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + voting_power: + type: string + format: uint64 + title: voting_power is the voting power of the finality provider + description: >- + QueryFinalityProviderPowerAtHeightResponse is the response type + for the + + Query/FinalityProviderPowerAtHeight RPC method. + 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: fp_btc_pk_hex + description: >- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality + provider that + + this BTC delegation delegates to + + the PK follows encoding in BIP-340 spec + in: path + required: true + type: string + - name: height + description: >- + height is used for querying the given finality provider's voting + power at this height + in: path + required: true + type: string + format: uint64 + tags: + - Query + /babylon/finality/v1/finality_providers/{fp_btc_pk_hex}/pub_rand_commit_list: + get: + summary: >- + ListPubRandCommit is a range query for public randomness commitments of + a given finality provider + operationId: ListPubRandCommit + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pub_rand_commit_map: + type: object + additionalProperties: + type: object + properties: + num_pub_rand: + type: string + format: uint64 + title: >- + num_pub_rand is the number of committed public + randomness + commitment: + type: string + format: byte + title: commitment is the value of the commitment + epoch_num: + type: string + format: uint64 + title: >- + epoch_num defines the epoch number that the commit falls + into + title: >- + PubRandCommitResponse is the response type for a public + randomness commitment + title: >- + pub_rand_commit_map is the map where the key is the start + height and the value + + is the public randomness commitment at this height for the + given finality provider + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryListPubRandCommitResponse is the response type for the + Query/ListPubRandCommit RPC method. + 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: fp_btc_pk_hex + description: >- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality + provider + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/finality/v1/finality_providers/{fp_btc_pk_hex}/public_randomness_list: + get: + summary: >- + ListPublicRandomness is a range query for public randomness of a given + finality provider + + NOTE: Babylon only has the knowledge of public randomness that is + already revealed by + + finality providers, i.e., the finality provider already provides a + finality signature + + at the corresponding height + operationId: ListPublicRandomness + responses: + '200': + description: A successful response. + schema: + type: object + properties: + pub_rand_map: + type: object + additionalProperties: + type: string + format: byte + title: >- + pub_rand_map is the map where the key is the height and the + value + + is the public randomness at this height for the given finality + provider + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryListPublicRandomnessResponse is the response type for the + Query/ListPublicRandomness RPC method. + 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: fp_btc_pk_hex + description: >- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality + provider + in: path + required: true + type: string + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/finality/v1/finality_providers/{height}: + get: + summary: >- + ActiveFinalityProvidersAtHeight queries finality providers with non zero + voting power at given height. + operationId: ActiveFinalityProvidersAtHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + finality_providers: + type: array + items: + type: object + properties: + btc_pk_hex: + type: string + title: >- + btc_pk is the Bitcoin secp256k1 PK of thisfinality + provider + + the PK follows encoding in BIP-340 spec + height: + type: string + format: uint64 + title: height is the queried Babylon height + voting_power: + type: string + format: uint64 + title: >- + voting_power is the voting power of this finality + provider at the given height + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + jailed: + type: boolean + title: >- + jailed defines whether the finality provider is detected + jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + ActiveFinalityProvidersAtHeightResponse wraps the + FinalityProvider with metadata. + description: >- + finality_providers contains all the queried finality + providersn. + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryActiveFinalityProvidersAtHeightResponse is the response type + for the + + Query/ActiveFinalityProvidersAtHeight RPC method. + 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: height + description: >- + height defines at which Babylon height to query the finality + providers info. + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/finality/v1/params: + get: + summary: Parameters queries the parameters of the module. + operationId: FinalityParams + responses: + '200': + description: A successful response. + schema: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + max_active_finality_providers: + type: integer + format: int64 + title: >- + max_active_finality_providers is the maximum number of + active finality providers in the BTC staking protocol + signed_blocks_window: + type: string + format: int64 + title: >- + signed_blocks_window defines the size of the sliding + window for tracking finality provider liveness + finality_sig_timeout: + type: string + format: int64 + title: >- + finality_sig_timeout defines how much time (in terms of + blocks) finality providers have to cast a finality + + vote before being judged as missing their voting turn on + the given block + min_signed_per_window: + type: string + format: byte + title: >- + min_signed_per_window defines the minimum number of blocks + that a finality provider is required to sign + + within the sliding window to avoid being jailed + min_pub_rand: + type: string + format: uint64 + title: >- + min_pub_rand is the minimum number of public randomness + each + + message should commit + jail_duration: + type: string + title: >- + jail_duration is the minimum period of time that a + finality provider remains jailed + finality_activation_height: + type: string + format: uint64 + description: >- + finality_activation_height is the babylon block height + which the finality module will + + start to accept finality voting and the minimum allowed + value for the public randomness + + commit start height. + description: >- + QueryParamsResponse is response type for the Query/Params RPC + method. + 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 + tags: + - Query + /babylon/finality/v1/signing_infos: + get: + summary: >- + SigningInfos queries the signing info of all the active finality + providers + operationId: SigningInfos + responses: + '200': + description: A successful response. + schema: + type: object + properties: + signing_infos: + type: array + items: + type: object + properties: + fp_btc_pk_hex: + type: string + title: >- + fp_btc_pk is the BTC PK of the finality provider that + casts this vote + start_height: + type: string + format: int64 + title: >- + start_height is the block height at which finality + provider become active + missed_blocks_counter: + type: string + format: int64 + description: >- + missed_blocks_counter defines a counter to avoid + unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to + liveness downtime. + description: >- + SigningInfoResponse defines the API response containing a + finality provider's signing info + + for monitoring their liveness activity. + title: >- + info is the signing info of all finality providers with + signing info + 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; + } + title: >- + QuerySigningInfosResponse is the response type for the + Query/SigningInfos RPC + + method + 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: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/finality/v1/signing_infos/{fp_btc_pk_hex}: + get: + summary: >- + SigningInfo queries the signing info of given finality provider BTC + public key + operationId: SigningInfo + responses: + '200': + description: A successful response. + schema: + type: object + properties: + signing_info: + type: object + properties: + fp_btc_pk_hex: + type: string + title: >- + fp_btc_pk is the BTC PK of the finality provider that + casts this vote + start_height: + type: string + format: int64 + title: >- + start_height is the block height at which finality + provider become active + missed_blocks_counter: + type: string + format: int64 + description: >- + missed_blocks_counter defines a counter to avoid + unnecessary array reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to + liveness downtime. + description: >- + SigningInfoResponse defines the API response containing a + finality provider's signing info + + for monitoring their liveness activity. + title: >- + QuerySigningInfoResponse is the response type for the + Query/SigningInfo RPC + + method + 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: fp_btc_pk_hex + description: |- + fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK + (in BIP340 format) of the finality provider + in: path + required: true + type: string + tags: + - Query + /babylon/finality/v1/votes/{height}: + get: + summary: >- + VotesAtHeight queries finality providers who have signed the block at + given height. + operationId: VotesAtHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + btc_pks: + type: array + items: + type: string + format: byte + title: >- + btc_pk is the Bitcoin secp256k1 PK of finality providers who + have signed the block at given height. + + the PK follows encoding in BIP-340 spec + description: |- + QueryVotesAtHeightResponse is the response type for the + Query/VotesAtHeight RPC method. + 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: height + description: height defines at which height to query the finality providers. + in: path + required: true + type: string + format: uint64 + tags: + - Query + /cosmos/mint/v1beta1/annual_provisions: + get: + summary: AnnualProvisions returns the current annual provisions. + operationId: AnnualProvisions + responses: + '200': + description: A successful response. + schema: + type: object + properties: + annual_provisions: + type: string + format: byte + description: AnnualProvisions is the current annual provisions. + description: |- + QueryAnnualProvisionsResponse is the response type for the + Query/AnnualProvisions RPC method. + 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 + tags: + - Query + /cosmos/mint/v1beta1/genesis_time: + get: + summary: GenesisTime returns the genesis time. + operationId: GenesisTime + responses: + '200': + description: A successful response. + schema: + type: object + properties: + genesis_time: + type: string + format: date-time + description: GenesisTime is the timestamp associated with the first block. + description: >- + QueryGenesisTimeResponse is the response type for the + Query/GenesisTime RPC + + method. + 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 + tags: + - Query + /cosmos/mint/v1beta1/inflation_rate: + get: + summary: InflationRate returns the current inflation rate. + operationId: InflationRate + responses: + '200': + description: A successful response. + schema: + type: object + properties: + inflation_rate: + type: string + format: byte + description: InflationRate is the current inflation rate. + description: >- + QueryInflationRateResponse is the response type for the + Query/InflationRate + + RPC method. + 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 + tags: + - Query + /babylon/monitor/v1/checkpoints/{ckpt_hash}: + get: + summary: |- + ReportedCheckpointBtcHeight returns the BTC light client height at which + the checkpoint with the given hash is reported back to Babylon + operationId: ReportedCheckpointBtcHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + btc_light_client_height: + type: integer + format: int64 + title: height of btc light client when checkpoint is reported + title: >- + QueryReportedCheckpointBtcHeightResponse defines a response type + for + + ReportedCheckpointBtcHeight RPC method + 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: ckpt_hash + description: ckpt_hash is hex encoded byte string of the hash of the checkpoint + in: path + required: true + type: string + tags: + - Query + /babylon/monitor/v1/epochs/{epoch_num}: + get: + summary: >- + EndedEpochBtcHeight returns the BTC light client height at provided + epoch + + finish + operationId: EndedEpochBtcHeight + responses: + '200': + description: A successful response. + schema: + type: object + properties: + btc_light_client_height: + type: integer + format: int64 + title: height of btc light client when epoch ended + title: |- + QueryEndedEpochBtcHeightResponse defines a response type for + EndedEpochBtcHeight RPC method + 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: epoch_num + in: path + required: true + type: string + format: uint64 + tags: + - Query + /babylon/checkpointing/v1/bls_public_keys/{epoch_num}: + get: + summary: >- + BlsPublicKeyList queries a list of bls public keys of the validators at + a + + given epoch number. + operationId: BlsPublicKeyList + responses: + '200': + description: A successful response. + schema: + type: object + properties: + validator_with_bls_keys: + type: array + items: + type: object + properties: + validator_address: + type: string + title: validator_address is the address of the validator + bls_pub_key_hex: + type: string + title: bls_pub_key is the BLS public key of the validator + voting_power: + type: string + format: uint64 + title: >- + voting_power is the voting power of the validator at the + given epoch + title: >- + BlsPublicKeyListResponse couples validator address, voting + power, and its bls + + public key + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryBlsPublicKeyListResponse is the response type for the + Query/BlsPublicKeys RPC method. + 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: epoch_num + description: epoch_num defines the epoch for the queried bls public keys + in: path + required: true + type: string + format: uint64 + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/checkpointing/v1/epochs/{epoch_num}/status: + get: + summary: EpochStatus queries the status of the checkpoint at a given epoch + operationId: EpochStatus + responses: + '200': + description: A successful response. + schema: + type: object + properties: + status: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + description: >- + QueryEpochStatusResponse is the response type for the + Query/EpochStatus + + RPC method. + 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: epoch_num + in: path + required: true + type: string + format: uint64 + tags: + - Query + /babylon/checkpointing/v1/epochs:status_count: + get: + summary: |- + RecentEpochStatusCount queries the number of epochs with each status in + recent epochs + operationId: RecentEpochStatusCount + responses: + '200': + description: A successful response. + schema: + type: object + properties: + tip_epoch: + type: string + format: uint64 + epoch_count: + type: string + format: uint64 + status_count: + type: object + additionalProperties: + type: string + format: uint64 + description: |- + QueryRecentEpochStatusCountResponse is the response type for the + Query/EpochStatusCount RPC method. + 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: epoch_count + description: >- + epoch_count is the number of the most recent epochs to include in + the + + aggregation. + in: query + required: false + type: string + format: uint64 + tags: + - Query + /babylon/checkpointing/v1/last_raw_checkpoint/{status}: + get: + summary: >- + LastCheckpointWithStatus queries the last checkpoint with a given status + or + + a more matured status + operationId: LastCheckpointWithStatus + responses: + '200': + description: A successful response. + schema: + type: object + properties: + raw_checkpoint: + type: object + properties: + epoch_num: + type: string + format: uint64 + title: >- + epoch_num defines the epoch number the raw checkpoint is + for + block_hash_hex: + type: string + title: >- + block_hash_hex defines the 'BlockID.Hash', which is the + hash of + + the block that individual BLS sigs are signed on as hex + string + bitmap: + type: string + format: byte + title: >- + bitmap defines the bitmap that indicates the signers of + the BLS multi sig + bls_multi_sig: + type: string + format: byte + title: >- + bls_multi_sig defines the multi sig that is aggregated + from individual BLS + + sigs + title: RawCheckpointResponse wraps the BLS multi sig with metadata + description: |- + QueryLastCheckpointWithStatusResponse is the response type for the + Query/LastCheckpointWithStatus RPC method. + 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: status + in: path + required: true + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + tags: + - Query + /babylon/checkpointing/v1/raw_checkpoint/{epoch_num}: + get: + summary: RawCheckpoint queries a checkpoints at a given epoch number. + operationId: RawCheckpoint + responses: + '200': + description: A successful response. + schema: + type: object + properties: + raw_checkpoint: + type: object + properties: + ckpt: + type: object + properties: + epoch_num: + type: string + format: uint64 + title: >- + epoch_num defines the epoch number the raw checkpoint + is for + block_hash_hex: + type: string + title: >- + block_hash_hex defines the 'BlockID.Hash', which is + the hash of + + the block that individual BLS sigs are signed on as + hex string + bitmap: + type: string + format: byte + title: >- + bitmap defines the bitmap that indicates the signers + of the BLS multi sig + bls_multi_sig: + type: string + format: byte + title: >- + bls_multi_sig defines the multi sig that is aggregated + from individual BLS + + sigs + title: >- + RawCheckpointResponse wraps the BLS multi sig with + metadata + status: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + title: status defines the status of the checkpoint + status_desc: + type: string + description: status_desc represents the description of status enum. + bls_aggr_pk: + type: string + format: byte + title: bls_aggr_pk defines the aggregated BLS public key + power_sum: + type: string + format: uint64 + title: >- + power_sum defines the accumulated voting power for the + checkpoint + lifecycle: + type: array + items: + type: object + properties: + state: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + title: >- + state defines the event of a state transition + towards this state + status_desc: + type: string + description: >- + status_desc represents the description of status + enum. + block_height: + type: string + format: uint64 + title: >- + block_height is the height of the Babylon block that + triggers the state + + update + block_time: + type: string + format: date-time + title: >- + block_time is the timestamp in the Babylon block + that triggers the state + + update + description: >- + CheckpointStateUpdateResponse defines a state transition + on the checkpoint. + description: >- + lifecycle defines the lifecycle of this checkpoint, i.e., + each state + + transition and the time (in both timestamp and block + height) of this + + transition. + description: >- + RawCheckpointWithMetaResponse wraps the raw checkpoint with + metadata. + description: >- + QueryRawCheckpointResponse is the response type for the + Query/RawCheckpoint + + RPC method. + 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: epoch_num + description: epoch_num defines the epoch for the queried checkpoint + in: path + required: true + type: string + format: uint64 + tags: + - Query + /babylon/checkpointing/v1/raw_checkpoints: + get: + summary: >- + RawCheckpoints queries checkpoints for a epoch range specified in + pagination params. + operationId: RawCheckpoints + responses: + '200': + description: A successful response. + schema: + type: object + properties: + raw_checkpoints: + type: array + items: + type: object + properties: + ckpt: + type: object + properties: + epoch_num: + type: string + format: uint64 + title: >- + epoch_num defines the epoch number the raw + checkpoint is for + block_hash_hex: + type: string + title: >- + block_hash_hex defines the 'BlockID.Hash', which is + the hash of + + the block that individual BLS sigs are signed on as + hex string + bitmap: + type: string + format: byte + title: >- + bitmap defines the bitmap that indicates the signers + of the BLS multi sig + bls_multi_sig: + type: string + format: byte + title: >- + bls_multi_sig defines the multi sig that is + aggregated from individual BLS + + sigs + title: >- + RawCheckpointResponse wraps the BLS multi sig with + metadata + status: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + title: status defines the status of the checkpoint + status_desc: + type: string + description: status_desc represents the description of status enum. + bls_aggr_pk: + type: string + format: byte + title: bls_aggr_pk defines the aggregated BLS public key + power_sum: + type: string + format: uint64 + title: >- + power_sum defines the accumulated voting power for the + checkpoint + lifecycle: + type: array + items: + type: object + properties: + state: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + title: >- + state defines the event of a state transition + towards this state + status_desc: + type: string + description: >- + status_desc represents the description of status + enum. + block_height: + type: string + format: uint64 + title: >- + block_height is the height of the Babylon block + that triggers the state + + update + block_time: + type: string + format: date-time + title: >- + block_time is the timestamp in the Babylon block + that triggers the state + + update + description: >- + CheckpointStateUpdateResponse defines a state + transition on the checkpoint. + description: >- + lifecycle defines the lifecycle of this checkpoint, + i.e., each state + + transition and the time (in both timestamp and block + height) of this + + transition. + description: >- + RawCheckpointWithMetaResponse wraps the raw checkpoint with + metadata. + title: >- + the order is going from the newest to oldest based on the + epoch number + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: >- + QueryRawCheckpointsResponse is the response type for the + Query/RawCheckpoints + + RPC method. + 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: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query + /babylon/checkpointing/v1/raw_checkpoints/{status}: + get: + summary: RawCheckpointList queries all checkpoints that match the given status. + operationId: RawCheckpointList + responses: + '200': + description: A successful response. + schema: + type: object + properties: + raw_checkpoints: + type: array + items: + type: object + properties: + ckpt: + type: object + properties: + epoch_num: + type: string + format: uint64 + title: >- + epoch_num defines the epoch number the raw + checkpoint is for + block_hash_hex: + type: string + title: >- + block_hash_hex defines the 'BlockID.Hash', which is + the hash of + + the block that individual BLS sigs are signed on as + hex string + bitmap: + type: string + format: byte + title: >- + bitmap defines the bitmap that indicates the signers + of the BLS multi sig + bls_multi_sig: + type: string + format: byte + title: >- + bls_multi_sig defines the multi sig that is + aggregated from individual BLS + + sigs + title: >- + RawCheckpointResponse wraps the BLS multi sig with + metadata + status: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + title: status defines the status of the checkpoint + status_desc: + type: string + description: status_desc represents the description of status enum. + bls_aggr_pk: + type: string + format: byte + title: bls_aggr_pk defines the aggregated BLS public key + power_sum: + type: string + format: uint64 + title: >- + power_sum defines the accumulated voting power for the + checkpoint + lifecycle: + type: array + items: + type: object + properties: + state: + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + default: CKPT_STATUS_ACCUMULATING + description: |- + CheckpointStatus is the status of a checkpoint. + + - CKPT_STATUS_ACCUMULATING: ACCUMULATING defines a checkpoint that is awaiting for BLS signatures. + - CKPT_STATUS_SEALED: SEALED defines a checkpoint that has accumulated sufficient BLS signatures. + - CKPT_STATUS_SUBMITTED: SUBMITTED defines a checkpoint that is included on BTC. + - CKPT_STATUS_CONFIRMED: CONFIRMED defines a checkpoint that is k-deep on BTC. + - CKPT_STATUS_FINALIZED: FINALIZED defines a checkpoint that is w-deep on BTC. + title: >- + state defines the event of a state transition + towards this state + status_desc: + type: string + description: >- + status_desc represents the description of status + enum. + block_height: + type: string + format: uint64 + title: >- + block_height is the height of the Babylon block + that triggers the state + + update + block_time: + type: string + format: date-time + title: >- + block_time is the timestamp in the Babylon block + that triggers the state + + update + description: >- + CheckpointStateUpdateResponse defines a state + transition on the checkpoint. + description: >- + lifecycle defines the lifecycle of this checkpoint, + i.e., each state + + transition and the time (in both timestamp and block + height) of this + + transition. + description: >- + RawCheckpointWithMetaResponse wraps the raw checkpoint with + metadata. + title: >- + the order is going from the newest to oldest based on the + epoch number + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + QueryRawCheckpointListResponse is the response type for the + Query/RawCheckpoints RPC method. + 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: status + description: status defines the status of the raw checkpoints of the query + in: path + required: true + type: string + enum: + - CKPT_STATUS_ACCUMULATING + - CKPT_STATUS_SEALED + - CKPT_STATUS_SUBMITTED + - CKPT_STATUS_CONFIRMED + - CKPT_STATUS_FINALIZED + - name: pagination.key + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + in: query + required: false + type: string + format: byte + - name: pagination.offset + description: >- + offset is a numeric offset that can be used when key is unavailable. + + It is less efficient than using key. Only one of offset or key + should + + be set. + in: query + required: false + type: string + format: uint64 + - name: pagination.limit + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + in: query + required: false + type: string + format: uint64 + - name: pagination.count_total + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in + UIs. + + count_total is only respected when offset is used. It is ignored + when key + + is set. + in: query + required: false + type: boolean + - name: pagination.reverse + description: >- + reverse is set to true if results are to be returned in the + descending order. + + + Since: cosmos-sdk 0.43 + in: query + required: false + type: boolean + tags: + - Query +definitions: + babylon.btccheckpoint.v1.BTCCheckpointInfoResponse: + type: object + properties: + epoch_number: + type: string + format: uint64 + description: EpochNumber of this checkpoint. + best_submission_btc_block_height: + type: integer + format: int64 + title: btc height of the best submission of the epoch + best_submission_btc_block_hash: + type: string + title: >- + hash of the btc block which determines checkpoint btc block height + i.e. + + youngest block of best submission Hexadecimal + best_submission_transactions: + type: array + items: + type: object + properties: + index: + type: integer + format: int64 + description: Index Bitcoin Transaction index in block. + hash: + type: string + description: Hash BTC Header hash as hex. + transaction: + type: string + description: transaction is the full transaction data as str hex. + proof: + type: string + title: >- + proof is the Merkle proof that this tx is included in the + position in `key` + title: |- + TransactionInfoResponse is the info of a tx on Bitcoin, + including + - the position of the tx on BTC blockchain + - the full tx content + - the Merkle proof that this tx is on the above position + title: the BTC checkpoint transactions of the best submission + best_submission_vigilante_address_list: + type: array + items: + type: object + properties: + submitter: + type: string + description: >- + submitter is the address of the checkpoint submitter to BTC, + extracted from + + the checkpoint itself. + reporter: + type: string + title: >- + reporter is the address of the reporter who reported the + submissions, + + calculated from submission message MsgInsertBTCSpvProof itself + title: >- + CheckpointAddressesResponse contains the addresses of the submitter + and reporter of a + + given checkpoint + title: list of vigilantes' addresses of the best submission + description: >- + BTCCheckpointInfoResponse contains all data about best submission of + checkpoint for + + given epoch. Best submission is the submission which is deeper in btc + ledger. + babylon.btccheckpoint.v1.CheckpointAddressesResponse: + type: object + properties: + submitter: + type: string + description: >- + submitter is the address of the checkpoint submitter to BTC, extracted + from + + the checkpoint itself. + reporter: + type: string + title: |- + reporter is the address of the reporter who reported the submissions, + calculated from submission message MsgInsertBTCSpvProof itself + title: >- + CheckpointAddressesResponse contains the addresses of the submitter and + reporter of a + + given checkpoint + babylon.btccheckpoint.v1.Params: + type: object + properties: + btc_confirmation_depth: + type: integer + format: int64 + title: >- + btc_confirmation_depth is the confirmation depth in BTC. + + A block is considered irreversible only when it is at least k-deep in + BTC + + (k in research paper) + checkpoint_finalization_timeout: + type: integer + format: int64 + title: >- + checkpoint_finalization_timeout is the maximum time window (measured + in BTC + + blocks) between a checkpoint + + - being submitted to BTC, and + + - being reported back to BBN + + If a checkpoint has not been reported back within w BTC blocks, then + BBN + + has dishonest majority and is stalling checkpoints (w in research + paper) + checkpoint_tag: + type: string + title: >- + 4byte tag in hex format, required to be present in the OP_RETURN + transaction + + related to babylon + description: Params defines the parameters for the module. + babylon.btccheckpoint.v1.QueryBtcCheckpointInfoResponse: + type: object + properties: + info: + type: object + properties: + epoch_number: + type: string + format: uint64 + description: EpochNumber of this checkpoint. + best_submission_btc_block_height: + type: integer + format: int64 + title: btc height of the best submission of the epoch + best_submission_btc_block_hash: + type: string + title: >- + hash of the btc block which determines checkpoint btc block height + i.e. + + youngest block of best submission Hexadecimal + best_submission_transactions: + type: array + items: + type: object + properties: + index: + type: integer + format: int64 + description: Index Bitcoin Transaction index in block. + hash: + type: string + description: Hash BTC Header hash as hex. + transaction: + type: string + description: transaction is the full transaction data as str hex. + proof: + type: string + title: >- + proof is the Merkle proof that this tx is included in the + position in `key` + title: |- + TransactionInfoResponse is the info of a tx on Bitcoin, + including + - the position of the tx on BTC blockchain + - the full tx content + - the Merkle proof that this tx is on the above position + title: the BTC checkpoint transactions of the best submission + best_submission_vigilante_address_list: + type: array + items: + type: object + properties: + submitter: + type: string + description: >- + submitter is the address of the checkpoint submitter to BTC, + extracted from + + the checkpoint itself. + reporter: + type: string + title: >- + reporter is the address of the reporter who reported the + submissions, + + calculated from submission message MsgInsertBTCSpvProof + itself + title: >- + CheckpointAddressesResponse contains the addresses of the + submitter and reporter of a + + given checkpoint + title: list of vigilantes' addresses of the best submission + description: >- + BTCCheckpointInfoResponse contains all data about best submission of + checkpoint for + + given epoch. Best submission is the submission which is deeper in btc + ledger. + title: |- + QueryBtcCheckpointInfoResponse is response type for the + Query/BtcCheckpointInfo RPC method + babylon.btccheckpoint.v1.QueryBtcCheckpointsInfoResponse: + type: object + properties: + info_list: + type: array + items: + type: object + properties: + epoch_number: + type: string + format: uint64 + description: EpochNumber of this checkpoint. + best_submission_btc_block_height: + type: integer + format: int64 + title: btc height of the best submission of the epoch + best_submission_btc_block_hash: + type: string + title: >- + hash of the btc block which determines checkpoint btc block + height i.e. + + youngest block of best submission Hexadecimal + best_submission_transactions: + type: array + items: + type: object + properties: + index: + type: integer + format: int64 + description: Index Bitcoin Transaction index in block. + hash: + type: string + description: Hash BTC Header hash as hex. + transaction: + type: string + description: transaction is the full transaction data as str hex. + proof: + type: string + title: >- + proof is the Merkle proof that this tx is included in the + position in `key` + title: |- + TransactionInfoResponse is the info of a tx on Bitcoin, + including + - the position of the tx on BTC blockchain + - the full tx content + - the Merkle proof that this tx is on the above position + title: the BTC checkpoint transactions of the best submission + best_submission_vigilante_address_list: + type: array + items: + type: object + properties: + submitter: + type: string + description: >- + submitter is the address of the checkpoint submitter to + BTC, extracted from + + the checkpoint itself. + reporter: + type: string + title: >- + reporter is the address of the reporter who reported the + submissions, + + calculated from submission message MsgInsertBTCSpvProof + itself + title: >- + CheckpointAddressesResponse contains the addresses of the + submitter and reporter of a + + given checkpoint + title: list of vigilantes' addresses of the best submission + description: >- + BTCCheckpointInfoResponse contains all data about best submission of + checkpoint for + + given epoch. Best submission is the submission which is deeper in + btc ledger. + pagination: + title: pagination defines the pagination in the response + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + 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; + } + title: |- + QueryBtcCheckpointsInfoResponse is response type for the + Query/BtcCheckpointsInfo RPC method + babylon.btccheckpoint.v1.QueryEpochSubmissionsResponse: + type: object + properties: + keys: + type: array + items: + type: object + properties: + first_tx_block_hash: + type: string + description: FirstTxBlockHash is the BTCHeaderHashBytes in hex. + first_tx_index: + type: integer + format: int64 + second_tx_block_hash: + type: string + description: SecondBlockHash is the BTCHeaderHashBytes in hex. + second_tx_index: + type: integer + format: int64 + title: >- + SubmissionKeyResponse Checkpoint can be composed from multiple + transactions, + + so to identify whole submission we need list of transaction keys. + + Each submission can generally be identified by this list of (txIdx, + + blockHash) tuples. Note: this could possibly be optimized as if + transactions + + were in one block they would have the same block hash and different + indexes, + + but each blockhash is only 33 (1 byte for prefix encoding and 32 + byte hash), + + so there should be other strong arguments for this optimization + description: Keys All submissions transactions key saved during an epoch. + title: |- + QueryEpochSubmissionsResponse defines a response to get all submissions in + given epoch (QueryEpochSubmissionsRequest) + babylon.btccheckpoint.v1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + btc_confirmation_depth: + type: integer + format: int64 + title: >- + btc_confirmation_depth is the confirmation depth in BTC. + + A block is considered irreversible only when it is at least k-deep + in BTC + + (k in research paper) + checkpoint_finalization_timeout: + type: integer + format: int64 + title: >- + checkpoint_finalization_timeout is the maximum time window + (measured in BTC + + blocks) between a checkpoint + + - being submitted to BTC, and + + - being reported back to BBN + + If a checkpoint has not been reported back within w BTC blocks, + then BBN + + has dishonest majority and is stalling checkpoints (w in research + paper) + checkpoint_tag: + type: string + title: >- + 4byte tag in hex format, required to be present in the OP_RETURN + transaction + + related to babylon + description: QueryParamsResponse is response type for the Query/Params RPC method. + babylon.btccheckpoint.v1.SubmissionKeyResponse: + type: object + properties: + first_tx_block_hash: + type: string + description: FirstTxBlockHash is the BTCHeaderHashBytes in hex. + first_tx_index: + type: integer + format: int64 + second_tx_block_hash: + type: string + description: SecondBlockHash is the BTCHeaderHashBytes in hex. + second_tx_index: + type: integer + format: int64 + title: >- + SubmissionKeyResponse Checkpoint can be composed from multiple + transactions, + + so to identify whole submission we need list of transaction keys. + + Each submission can generally be identified by this list of (txIdx, + + blockHash) tuples. Note: this could possibly be optimized as if + transactions + + were in one block they would have the same block hash and different + indexes, + + but each blockhash is only 33 (1 byte for prefix encoding and 32 byte + hash), + + so there should be other strong arguments for this optimization + babylon.btccheckpoint.v1.TransactionInfoResponse: + type: object + properties: + index: + type: integer + format: int64 + description: Index Bitcoin Transaction index in block. + hash: + type: string + description: Hash BTC Header hash as hex. + transaction: + type: string + description: transaction is the full transaction data as str hex. + proof: + type: string + title: >- + proof is the Merkle proof that this tx is included in the position in + `key` + title: |- + TransactionInfoResponse is the info of a tx on Bitcoin, + including + - the position of the tx on BTC blockchain + - the full tx content + - the Merkle proof that this tx is on the above position + cosmos.base.query.v1beta1.PageRequest: + type: object + properties: + key: + type: string + format: byte + description: |- + key is a value returned in PageResponse.next_key to begin + querying the next page most efficiently. Only one of offset or key + should be set. + offset: + type: string + format: uint64 + description: |- + offset is a numeric offset that can be used when key is unavailable. + It is less efficient than using key. Only one of offset or key should + be set. + limit: + type: string + format: uint64 + description: >- + limit is the total number of results to be returned in the result + page. + + If left empty it will default to a value to be set by each app. + count_total: + type: boolean + description: >- + count_total is set to true to indicate that the result set should + include + + a count of the total number of items available for pagination in UIs. + + count_total is only respected when offset is used. It is ignored when + key + + is set. + reverse: + type: boolean + description: >- + reverse is set to true if results are to be returned in the descending + order. + + + Since: cosmos-sdk 0.43 + description: |- + message SomeRequest { + Foo some_parameter = 1; + PageRequest pagination = 2; + } + title: |- + PageRequest is to be embedded in gRPC request messages for efficient + pagination. Ex: + cosmos.base.query.v1beta1.PageResponse: + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: |- + total is total number of results available if PageRequest.count_total + was set, its value is undefined otherwise + description: |- + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. + + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + google.protobuf.Any: + 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" + } + grpc.gateway.runtime.Error: + 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" + } + babylon.btclightclient.v1.BTCHeaderInfoResponse: + type: object + properties: + header_hex: + type: string + hash_hex: + type: string + height: + type: integer + format: int64 + work: + type: string + description: Work is the sdkmath.Uint as string. + description: >- + BTCHeaderInfoResponse is a structure that contains all relevant + information about a + + BTC header response + - Full header as string hex. + - Header hash for easy retrieval as string hex. + - Height of the header in the BTC chain. + - Total work spent on the header. This is the sum of the work corresponding + to the header Bits field + and the total work of the header. + babylon.btclightclient.v1.Params: + type: object + properties: + insert_headers_allow_list: + type: array + items: + type: string + title: >- + List of addresses which are allowed to insert headers to btc light + client + + if the list is empty, any address can insert headers + description: Params defines the parameters for the module. + babylon.btclightclient.v1.QueryBaseHeaderResponse: + type: object + properties: + header: + type: object + properties: + header_hex: + type: string + hash_hex: + type: string + height: + type: integer + format: int64 + work: + type: string + description: Work is the sdkmath.Uint as string. + description: >- + BTCHeaderInfoResponse is a structure that contains all relevant + information about a + + BTC header response + - Full header as string hex. + - Header hash for easy retrieval as string hex. + - Height of the header in the BTC chain. + - Total work spent on the header. This is the sum of the work corresponding + to the header Bits field + and the total work of the header. + description: |- + QueryBaseHeaderResponse is the response type for the Query/BaseHeader RPC + method. + babylon.btclightclient.v1.QueryContainsBytesResponse: + type: object + properties: + contains: + type: boolean + description: >- + QueryContainsResponse is response type for the temporary + Query/ContainsBytes + + RPC method. + babylon.btclightclient.v1.QueryContainsResponse: + type: object + properties: + contains: + type: boolean + description: QueryContainsResponse is response type for the Query/Contains RPC method. + babylon.btclightclient.v1.QueryHashesResponse: + type: object + properties: + hashes: + type: array + items: + 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 + + 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; + } + description: QueryHashesResponse is response type for the Query/Hashes RPC method. + babylon.btclightclient.v1.QueryHeaderDepthResponse: + type: object + properties: + depth: + type: integer + format: int64 + title: >- + QueryMainChainDepthResponse is the response type for the + Query/MainChainDepth RPC + + it contains depth of the block in main chain + babylon.btclightclient.v1.QueryMainChainResponse: + type: object + properties: + headers: + type: array + items: + type: object + properties: + header_hex: + type: string + hash_hex: + type: string + height: + type: integer + format: int64 + work: + type: string + description: Work is the sdkmath.Uint as string. + description: >- + BTCHeaderInfoResponse is a structure that contains all relevant + information about a + + BTC header response + - Full header as string hex. + - Header hash for easy retrieval as string hex. + - Height of the header in the BTC chain. + - Total work spent on the header. This is the sum of the work corresponding + to the header Bits field + and the total work of the header. + 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; + } + description: >- + QueryMainChainResponse is response type for the Query/MainChain RPC + method. + babylon.btclightclient.v1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + insert_headers_allow_list: + type: array + items: + type: string + title: >- + List of addresses which are allowed to insert headers to btc light + client + + if the list is empty, any address can insert headers + description: QueryParamsResponse is the response type for the Query/Params RPC method. + babylon.btclightclient.v1.QueryTipResponse: + type: object + properties: + header: + type: object + properties: + header_hex: + type: string + hash_hex: + type: string + height: + type: integer + format: int64 + work: + type: string + description: Work is the sdkmath.Uint as string. + description: >- + BTCHeaderInfoResponse is a structure that contains all relevant + information about a + + BTC header response + - Full header as string hex. + - Header hash for easy retrieval as string hex. + - Height of the header in the BTC chain. + - Total work spent on the header. This is the sum of the work corresponding + to the header Bits field + and the total work of the header. + description: QueryTipResponse is the response type for the Query/Tip RPC method. + babylon.epoching.v1.BondState: + type: string + enum: + - CREATED + - BONDED + - UNBONDING + - UNBONDED + - REMOVED + default: CREATED + description: |- + - CREATED: CREATED is when the validator/delegation has been created + - BONDED: CREATED is when the validator/delegation has become bonded + - UNBONDING: CREATED is when the validator/delegation has become unbonding + - UNBONDED: CREATED is when the validator/delegation has become unbonded + - REMOVED: CREATED is when the validator/delegation has been removed + title: BondState is the bond state of a validator or delegation + babylon.epoching.v1.DelegationLifecycle: + type: object + properties: + del_addr: + type: string + del_life: + type: array + items: + type: object + properties: + state: + type: string + enum: + - CREATED + - BONDED + - UNBONDING + - UNBONDED + - REMOVED + default: CREATED + description: >- + - CREATED: CREATED is when the validator/delegation has been + created + - BONDED: CREATED is when the validator/delegation has become bonded + - UNBONDING: CREATED is when the validator/delegation has become unbonding + - UNBONDED: CREATED is when the validator/delegation has become unbonded + - REMOVED: CREATED is when the validator/delegation has been removed + title: BondState is the bond state of a validator or delegation + val_addr: + 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. + block_height: + type: string + format: uint64 + block_time: + type: string + format: date-time + title: >- + DelegationStateUpdate is the message that records a state update of + a + + delegation + title: |- + ValidatorLifecycle is a message that records the lifecycle of + a delegation + babylon.epoching.v1.DelegationStateUpdate: + type: object + properties: + state: + type: string + enum: + - CREATED + - BONDED + - UNBONDING + - UNBONDED + - REMOVED + default: CREATED + description: |- + - CREATED: CREATED is when the validator/delegation has been created + - BONDED: CREATED is when the validator/delegation has become bonded + - UNBONDING: CREATED is when the validator/delegation has become unbonding + - UNBONDED: CREATED is when the validator/delegation has become unbonded + - REMOVED: CREATED is when the validator/delegation has been removed + title: BondState is the bond state of a validator or delegation + val_addr: + 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. + block_height: + type: string + format: uint64 + block_time: + type: string + format: date-time + title: |- + DelegationStateUpdate is the message that records a state update of a + delegation + babylon.epoching.v1.EpochResponse: + type: object + properties: + epoch_number: + type: string + format: uint64 + title: epoch_number is the number of this epoch + current_epoch_interval: + type: string + format: uint64 + title: current_epoch_interval is the epoch interval at the time of this epoch + first_block_height: + type: string + format: uint64 + title: first_block_height is the height of the first block in this epoch + last_block_time: + type: string + format: date-time + description: >- + last_block_time is the time of the last block in this epoch. + + Babylon needs to remember the last header's time of each epoch to + complete + + unbonding validators/delegations when a previous epoch's checkpoint is + + finalised. The last_block_time field is nil in the epoch's beginning, + and + + is set upon the end of this epoch. + sealer_app_hash_hex: + type: string + description: |- + sealer is the last block of the sealed epoch + sealer_app_hash points to the sealer but stored in the 1st header + of the next epoch as hex string. + sealer_block_hash: + type: string + description: |- + sealer_block_hash is the hash of the sealer + the validator set has generated a BLS multisig on the hash, + i.e., hash of the last block in the epoch as hex string. + title: EpochResponse is a structure that contains the metadata of an epoch + babylon.epoching.v1.Params: + type: object + properties: + epoch_interval: + type: string + format: uint64 + title: epoch_interval is the number of consecutive blocks to form an epoch + description: Params defines the parameters for the module. + babylon.epoching.v1.QueryCurrentEpochResponse: + type: object + properties: + current_epoch: + type: string + format: uint64 + title: current_epoch is the current epoch number + epoch_boundary: + type: string + format: uint64 + title: epoch_boundary is the height of this epoch's last block + title: >- + QueryCurrentEpochResponse is the response type for the Query/CurrentEpoch + RPC + + method + babylon.epoching.v1.QueryDelegationLifecycleResponse: + type: object + properties: + del_life: + type: object + properties: + del_addr: + type: string + del_life: + type: array + items: + type: object + properties: + state: + type: string + enum: + - CREATED + - BONDED + - UNBONDING + - UNBONDED + - REMOVED + default: CREATED + description: >- + - CREATED: CREATED is when the validator/delegation has been + created + - BONDED: CREATED is when the validator/delegation has become bonded + - UNBONDING: CREATED is when the validator/delegation has become unbonding + - UNBONDED: CREATED is when the validator/delegation has become unbonded + - REMOVED: CREATED is when the validator/delegation has been removed + title: BondState is the bond state of a validator or delegation + val_addr: + type: string + amount: + type: object + properties: + denom: + type: string + amount: + type: string + description: >- + Coin defines a token with a denomination and an amount. - 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. + NOTE: The amount field is an Int which implements the custom + method - 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 + signatures required by gogoproto. + block_height: + type: string + format: uint64 + block_time: + type: string + format: date-time + title: >- + DelegationStateUpdate is the message that records a state update + of a - a count of the total number of items available for pagination in - UIs. + delegation + title: |- + ValidatorLifecycle is a message that records the lifecycle of + a delegation + title: |- + QueryDelegationLifecycleRequest is the response type for the + Query/DelegationLifecycle RPC method + babylon.epoching.v1.QueryEpochInfoResponse: + type: object + properties: + epoch: + type: object + properties: + epoch_number: + type: string + format: uint64 + title: epoch_number is the number of this epoch + current_epoch_interval: + type: string + format: uint64 + title: >- + current_epoch_interval is the epoch interval at the time of this + epoch + first_block_height: + type: string + format: uint64 + title: first_block_height is the height of the first block in this epoch + last_block_time: + type: string + format: date-time + description: >- + last_block_time is the time of the last block in this epoch. - count_total is only respected when offset is used. It is ignored - when key + Babylon needs to remember the last header's time of each epoch to + complete - 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. + unbonding validators/delegations when a previous epoch's + checkpoint is + finalised. The last_block_time field is nil in the epoch's + beginning, and - Since: cosmos-sdk 0.43 - in: query - required: false - type: boolean - tags: - - Query -definitions: - babylon.btccheckpoint.v1.BTCCheckpointInfoResponse: + is set upon the end of this epoch. + sealer_app_hash_hex: + type: string + description: |- + sealer is the last block of the sealed epoch + sealer_app_hash points to the sealer but stored in the 1st header + of the next epoch as hex string. + sealer_block_hash: + type: string + description: |- + sealer_block_hash is the hash of the sealer + the validator set has generated a BLS multisig on the hash, + i.e., hash of the last block in the epoch as hex string. + title: EpochResponse is a structure that contains the metadata of an epoch + title: QueryEpochInfoRequest is the response type for the Query/EpochInfo method + babylon.epoching.v1.QueryEpochMsgsResponse: type: object properties: - epoch_number: + msgs: + type: array + items: + type: object + properties: + tx_id: + type: string + description: tx_id is the ID of the tx that contains the message as hex. + msg_id: + type: string + description: >- + msg_id is the original message ID, i.e., hash of the marshaled + message as hex. + block_height: + type: string + format: uint64 + title: block_height is the height when this msg is submitted to Babylon + block_time: + type: string + format: date-time + title: >- + block_time is the timestamp when this msg is submitted to + Babylon + msg: + type: string + description: >- + msg is the actual message that is sent by a user and is queued + by the + + epoching module as string. + title: >- + QueuedMessageResponse is a message that can change the validator set + and is delayed + + to the end of an epoch + title: msgs is the list of messages queued in the current epoch + pagination: + title: pagination defines the pagination in the response + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total + + was set, its value is undefined otherwise + description: |- + 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; + } + title: |- + QueryEpochMsgsResponse is the response type for the Query/EpochMsgs RPC + method + babylon.epoching.v1.QueryEpochValSetResponse: + type: object + properties: + validators: + type: array + items: + type: object + properties: + addr: + type: string + format: byte + title: addr is the validator's address (in sdk.ValAddress) + power: + type: string + format: int64 + title: power is the validator's voting power + title: Validator is a message that denotes a validator + total_voting_power: type: string - format: uint64 - description: EpochNumber of this checkpoint. - best_submission_btc_block_height: - type: integer format: int64 - title: btc height of the best submission of the epoch - best_submission_btc_block_hash: - type: string - title: >- - hash of the btc block which determines checkpoint btc block height - i.e. + 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 - youngest block of best submission Hexadecimal - best_submission_transactions: + 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; + } + title: |- + QueryEpochValSetRequest is the response type for the Query/EpochValSet RPC + method + babylon.epoching.v1.QueryEpochsInfoResponse: + type: object + properties: + epochs: type: array items: type: object properties: - index: - type: integer - format: int64 - description: Index Bitcoin Transaction index in block. - hash: + epoch_number: type: string - description: Hash BTC Header hash as hex. - transaction: + format: uint64 + title: epoch_number is the number of this epoch + current_epoch_interval: type: string - description: transaction is the full transaction data as str hex. - proof: + format: uint64 + title: >- + current_epoch_interval is the epoch interval at the time of this + epoch + first_block_height: type: string + format: uint64 title: >- - proof is the Merkle proof that this tx is included in the - position in `key` - title: |- - TransactionInfoResponse is the info of a tx on Bitcoin, - including - - the position of the tx on BTC blockchain - - the full tx content - - the Merkle proof that this tx is on the above position - title: the BTC checkpoint transactions of the best submission - best_submission_vigilante_address_list: - type: array - items: - type: object - properties: - submitter: + first_block_height is the height of the first block in this + epoch + last_block_time: type: string + format: date-time description: >- - submitter is the address of the checkpoint submitter to BTC, - extracted from - - the checkpoint itself. - reporter: - type: string - title: >- - reporter is the address of the reporter who reported the - submissions, - - calculated from submission message MsgInsertBTCSpvProof itself - title: >- - CheckpointAddressesResponse contains the addresses of the submitter - and reporter of a - - given checkpoint - title: list of vigilantes' addresses of the best submission - description: >- - BTCCheckpointInfoResponse contains all data about best submission of - checkpoint for - - given epoch. Best submission is the submission which is deeper in btc - ledger. - babylon.btccheckpoint.v1.CheckpointAddressesResponse: - type: object - properties: - submitter: - type: string - description: >- - submitter is the address of the checkpoint submitter to BTC, extracted - from - - the checkpoint itself. - reporter: - type: string - title: |- - reporter is the address of the reporter who reported the submissions, - calculated from submission message MsgInsertBTCSpvProof itself - title: >- - CheckpointAddressesResponse contains the addresses of the submitter and - reporter of a - - given checkpoint - babylon.btccheckpoint.v1.Params: - type: object - properties: - btc_confirmation_depth: - type: integer - format: int64 - title: >- - btc_confirmation_depth is the confirmation depth in BTC. - - A block is considered irreversible only when it is at least k-deep in - BTC - - (k in research paper) - checkpoint_finalization_timeout: - type: integer - format: int64 - title: >- - checkpoint_finalization_timeout is the maximum time window (measured - in BTC + last_block_time is the time of the last block in this epoch. - blocks) between a checkpoint + Babylon needs to remember the last header's time of each epoch + to complete - - being submitted to BTC, and + unbonding validators/delegations when a previous epoch's + checkpoint is - - being reported back to BBN + finalised. The last_block_time field is nil in the epoch's + beginning, and - If a checkpoint has not been reported back within w BTC blocks, then - BBN + is set upon the end of this epoch. + sealer_app_hash_hex: + type: string + description: >- + sealer is the last block of the sealed epoch - has dishonest majority and is stalling checkpoints (w in research - paper) - checkpoint_tag: - type: string - title: >- - 4byte tag in hex format, required to be present in the OP_RETURN - transaction + sealer_app_hash points to the sealer but stored in the 1st + header - related to babylon - description: Params defines the parameters for the module. - babylon.btccheckpoint.v1.QueryBtcCheckpointInfoResponse: - type: object - properties: - info: + of the next epoch as hex string. + sealer_block_hash: + type: string + description: |- + sealer_block_hash is the hash of the sealer + the validator set has generated a BLS multisig on the hash, + i.e., hash of the last block in the epoch as hex string. + title: EpochResponse is a structure that contains the metadata of an epoch + pagination: + title: pagination defines the pagination in the response type: object properties: - epoch_number: + next_key: type: string - format: uint64 - description: EpochNumber of this checkpoint. - best_submission_btc_block_height: - type: integer - format: int64 - title: btc height of the best submission of the epoch - best_submission_btc_block_hash: + 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: >- - hash of the btc block which determines checkpoint btc block height - i.e. - - youngest block of best submission Hexadecimal - best_submission_transactions: - type: array - items: - type: object - properties: - index: - type: integer - format: int64 - description: Index Bitcoin Transaction index in block. - hash: - type: string - description: Hash BTC Header hash as hex. - transaction: - type: string - description: transaction is the full transaction data as str hex. - proof: - type: string - title: >- - proof is the Merkle proof that this tx is included in the - position in `key` - title: |- - TransactionInfoResponse is the info of a tx on Bitcoin, - including - - the position of the tx on BTC blockchain - - the full tx content - - the Merkle proof that this tx is on the above position - title: the BTC checkpoint transactions of the best submission - best_submission_vigilante_address_list: - type: array - items: - type: object - properties: - submitter: - type: string - description: >- - submitter is the address of the checkpoint submitter to BTC, - extracted from - - the checkpoint itself. - reporter: - type: string - title: >- - reporter is the address of the reporter who reported the - submissions, - - calculated from submission message MsgInsertBTCSpvProof - itself - title: >- - CheckpointAddressesResponse contains the addresses of the - submitter and reporter of a + total is total number of results available if + PageRequest.count_total - given checkpoint - title: list of vigilantes' addresses of the best submission - description: >- - BTCCheckpointInfoResponse contains all data about best submission of - checkpoint for + 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. - given epoch. Best submission is the submission which is deeper in btc - ledger. - title: |- - QueryBtcCheckpointInfoResponse is response type for the - Query/BtcCheckpointInfo RPC method - babylon.btccheckpoint.v1.QueryBtcCheckpointsInfoResponse: + message SomeResponse { + repeated Bar results = 1; + PageResponse page = 2; + } + title: >- + QueryEpochsInfoResponse is the response type for the Query/EpochInfos + method + babylon.epoching.v1.QueryLatestEpochMsgsResponse: type: object properties: - info_list: + latest_epoch_msgs: type: array items: type: object @@ -4967,79 +11450,54 @@ definitions: epoch_number: type: string format: uint64 - description: EpochNumber of this checkpoint. - best_submission_btc_block_height: - type: integer - format: int64 - title: btc height of the best submission of the epoch - best_submission_btc_block_hash: - type: string - title: >- - hash of the btc block which determines checkpoint btc block - height i.e. - - youngest block of best submission Hexadecimal - best_submission_transactions: + msgs: type: array items: type: object properties: - index: - type: integer - format: int64 - description: Index Bitcoin Transaction index in block. - hash: + tx_id: type: string - description: Hash BTC Header hash as hex. - transaction: + description: >- + tx_id is the ID of the tx that contains the message as + hex. + msg_id: type: string - description: transaction is the full transaction data as str hex. - proof: + description: >- + msg_id is the original message ID, i.e., hash of the + marshaled message as hex. + block_height: type: string + format: uint64 title: >- - proof is the Merkle proof that this tx is included in the - position in `key` - title: |- - TransactionInfoResponse is the info of a tx on Bitcoin, - including - - the position of the tx on BTC blockchain - - the full tx content - - the Merkle proof that this tx is on the above position - title: the BTC checkpoint transactions of the best submission - best_submission_vigilante_address_list: - type: array - items: - type: object - properties: - submitter: - type: string - description: >- - submitter is the address of the checkpoint submitter to - BTC, extracted from - - the checkpoint itself. - reporter: + block_height is the height when this msg is submitted to + Babylon + block_time: type: string + format: date-time title: >- - reporter is the address of the reporter who reported the - submissions, + block_time is the timestamp when this msg is submitted to + Babylon + msg: + type: string + description: >- + msg is the actual message that is sent by a user and is + queued by the - calculated from submission message MsgInsertBTCSpvProof - itself + epoching module as string. title: >- - CheckpointAddressesResponse contains the addresses of the - submitter and reporter of a + QueuedMessageResponse is a message that can change the + validator set and is delayed - given checkpoint - title: list of vigilantes' addresses of the best submission - description: >- - BTCCheckpointInfoResponse contains all data about best submission of - checkpoint for + to the end of an epoch + title: >- + QueuedMessageList is a message that contains a list of + staking-related - given epoch. Best submission is the submission which is deeper in - btc ledger. + messages queued for an epoch + title: |- + latest_epoch_msgs is a list of QueuedMessageList + each QueuedMessageList has a field identifying the epoch number pagination: - title: pagination defines the pagination in the response type: object properties: next_key: @@ -5066,658 +11524,1733 @@ definitions: PageResponse page = 2; } title: |- - QueryBtcCheckpointsInfoResponse is response type for the - Query/BtcCheckpointsInfo RPC method - babylon.btccheckpoint.v1.QueryEpochSubmissionsResponse: + QueryLatestEpochMsgsResponse is the response type for the + Query/LatestEpochMsgs RPC method + babylon.epoching.v1.QueryParamsResponse: type: object properties: - keys: + params: + description: params holds all the parameters of this module. + type: object + properties: + epoch_interval: + type: string + format: uint64 + title: >- + epoch_interval is the number of consecutive blocks to form an + epoch + description: QueryParamsResponse is the response type for the Query/Params RPC method. + babylon.epoching.v1.QueryValidatorLifecycleResponse: + type: object + properties: + val_addr: + type: string + val_life: + type: array + items: + type: object + properties: + state_desc: + type: string + description: StateDesc defines the descriptive state. + block_height: + type: string + format: uint64 + block_time: + type: string + format: date-time + description: >- + ValStateUpdateResponse is a message response that records a state + update of a validator. + title: |- + QueryValidatorLifecycleResponse is the response type for the + Query/ValidatorLifecycle RPC method + babylon.epoching.v1.QueuedMessageList: + type: object + properties: + epoch_number: + type: string + format: uint64 + msgs: + type: array + items: + type: object + properties: + tx_id: + type: string + description: tx_id is the ID of the tx that contains the message as hex. + msg_id: + type: string + description: >- + msg_id is the original message ID, i.e., hash of the marshaled + message as hex. + block_height: + type: string + format: uint64 + title: block_height is the height when this msg is submitted to Babylon + block_time: + type: string + format: date-time + title: >- + block_time is the timestamp when this msg is submitted to + Babylon + msg: + type: string + description: >- + msg is the actual message that is sent by a user and is queued + by the + + epoching module as string. + title: >- + QueuedMessageResponse is a message that can change the validator set + and is delayed + + to the end of an epoch + title: |- + QueuedMessageList is a message that contains a list of staking-related + messages queued for an epoch + babylon.epoching.v1.QueuedMessageResponse: + type: object + properties: + tx_id: + type: string + description: tx_id is the ID of the tx that contains the message as hex. + msg_id: + type: string + description: >- + msg_id is the original message ID, i.e., hash of the marshaled message + as hex. + block_height: + type: string + format: uint64 + title: block_height is the height when this msg is submitted to Babylon + block_time: + type: string + format: date-time + title: block_time is the timestamp when this msg is submitted to Babylon + msg: + type: string + description: |- + msg is the actual message that is sent by a user and is queued by the + epoching module as string. + title: >- + QueuedMessageResponse is a message that can change the validator set and + is delayed + + to the end of an epoch + babylon.epoching.v1.ValStateUpdateResponse: + type: object + properties: + state_desc: + type: string + description: StateDesc defines the descriptive state. + block_height: + type: string + format: uint64 + block_time: + type: string + format: date-time + description: >- + ValStateUpdateResponse is a message response that records a state update + of a validator. + babylon.epoching.v1.Validator: + type: object + properties: + addr: + type: string + format: byte + title: addr is the validator's address (in sdk.ValAddress) + power: + type: string + format: int64 + title: power is the validator's voting power + title: Validator is a message that denotes a validator + cosmos.base.v1beta1.Coin: + type: object + properties: + denom: + type: string + amount: + type: string + description: |- + Coin defines a token with a denomination and an amount. + + NOTE: The amount field is an Int which implements the custom method + signatures required by gogoproto. + babylon.btcstaking.v1.BTCDelegationResponse: + type: object + properties: + staker_addr: + type: string + description: staker_addr is the address to receive rewards from BTC delegation. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this BTC delegation + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the finality providers + that + + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the delegation is + locked on BTC chain + start_height: + type: integer + format: int64 + title: |- + start_height is the start BTC height of the BTC delegation + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: + type: string + format: uint64 + title: |- + total_sat is the total amount of BTC stakes in this delegation + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: |- + delegator_slash_sig_hex is the signature on the slashing tx + by the delegator (i.e., SK corresponding to btc_pk) as string hex. + It will be a part of the witness for the staking tx output. + covenant_sigs: type: array items: type: object properties: - first_tx_block_hash: - type: string - description: FirstTxBlockHash is the BTCHeaderHashBytes in hex. - first_tx_index: - type: integer - format: int64 - second_tx_block_hash: + cov_pk: type: string - description: SecondBlockHash is the BTCHeaderHashBytes in hex. - second_tx_index: - type: integer - format: int64 + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as the + public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each encrypted by + a restaked BTC finality provider's public key title: >- - SubmissionKeyResponse Checkpoint can be composed from multiple - transactions, - - so to identify whole submission we need list of transaction keys. - - Each submission can generally be identified by this list of (txIdx, - - blockHash) tuples. Note: this could possibly be optimized as if - transactions + CovenantAdaptorSignatures is a list adaptor signatures signed by the - were in one block they would have the same block hash and different - indexes, - - but each blockhash is only 33 (1 byte for prefix encoding and 32 - byte hash), + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_sigs is a list of adaptor signatures on the slashing tx + by each covenant member + It will be a part of the witness for the staking tx output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in the staking + tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path and in slashing + transactions - so there should be other strong arguments for this optimization - description: Keys All submissions transactions key saved during an epoch. - title: |- - QueryEpochSubmissionsResponse defines a response to get all submissions in - given epoch (QueryEpochSubmissionsRequest) - babylon.btccheckpoint.v1.QueryParamsResponse: - type: object - properties: - params: - description: params holds all the parameters of this module. + change outputs + undelegation_response: + description: undelegation_response is the undelegation info of this delegation. type: object properties: - btc_confirmation_depth: - type: integer - format: int64 - title: >- - btc_confirmation_depth is the confirmation depth in BTC. + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer the funds from + staking - A block is considered irreversible only when it is at least k-deep - in BTC + output to unbonding output. Unbonding output will usually have + lower timelock - (k in research paper) - checkpoint_finalization_timeout: - type: integer - format: int64 + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with its signer's + BIP-340 PK title: >- - checkpoint_finalization_timeout is the maximum time window - (measured in BTC - - blocks) between a checkpoint - - - being submitted to BTC, and - - - being reported back to BBN - - If a checkpoint has not been reported back within w BTC blocks, - then BBN + covenant_unbonding_sig_list is the list of signatures on the + unbonding tx - has dishonest majority and is stalling checkpoints (w in research - paper) - checkpoint_tag: + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: type: string + description: |- + delegator_slashing_sig is the signature on the slashing tx + by the delegator (i.e., SK corresponding to btc_pk). + It will be a part of the witness for the unbonding tx output. + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as + the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each encrypted + by a restaked BTC finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures signed by + the + + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_slashing_sigs is a list of adaptor signatures on the + unbonding slashing tx by each covenant member + It will be a part of the witness for the staking tx output. + delegator_unbonding_info_response: title: >- - 4byte tag in hex format, required to be present in the OP_RETURN + btc_undelegation_info contains all necessary info about the transaction - related to babylon - description: QueryParamsResponse is response type for the Query/Params RPC method. - babylon.btccheckpoint.v1.SubmissionKeyResponse: - type: object - properties: - first_tx_block_hash: - type: string - description: FirstTxBlockHash is the BTCHeaderHashBytes in hex. - first_tx_index: - type: integer - format: int64 - second_tx_block_hash: - type: string - description: SecondBlockHash is the BTCHeaderHashBytes in hex. - second_tx_index: - type: integer - format: int64 - title: >- - SubmissionKeyResponse Checkpoint can be composed from multiple - transactions, - - so to identify whole submission we need list of transaction keys. - - Each submission can generally be identified by this list of (txIdx, - - blockHash) tuples. Note: this could possibly be optimized as if - transactions - - were in one block they would have the same block hash and different - indexes, - - but each blockhash is only 33 (1 byte for prefix encoding and 32 byte - hash), + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent the staking + output. It is - so there should be other strong arguments for this optimization - babylon.btccheckpoint.v1.TransactionInfoResponse: - type: object - properties: - index: + filled only if the spend_stake_tx_hex is different than the + unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about the + undeleagation + params_version: type: integer format: int64 - description: Index Bitcoin Transaction index in block. - hash: - type: string - description: Hash BTC Header hash as hex. - transaction: - type: string - description: transaction is the full transaction data as str hex. - proof: - type: string - title: >- - proof is the Merkle proof that this tx is included in the position in - `key` - title: |- - TransactionInfoResponse is the info of a tx on Bitcoin, - including - - the position of the tx on BTC blockchain - - the full tx content - - the Merkle proof that this tx is on the above position - cosmos.base.query.v1beta1.PageRequest: - type: object - properties: - key: - type: string - format: byte - description: |- - key is a value returned in PageResponse.next_key to begin - querying the next page most efficiently. Only one of offset or key - should be set. - offset: - type: string - format: uint64 - description: |- - offset is a numeric offset that can be used when key is unavailable. - It is less efficient than using key. Only one of offset or key should - be set. - limit: - type: string - format: uint64 - description: >- - limit is the total number of results to be returned in the result - page. + title: params version used to validate delegation + description: >- + BTCDelegationResponse is the client needed information from a + BTCDelegation with the current status based on parameters. + babylon.btcstaking.v1.BTCDelegationStatus: + type: string + enum: + - PENDING + - VERIFIED + - ACTIVE + - UNBONDED + - EXPIRED + - ANY + default: PENDING + description: >- + BTCDelegationStatus is the status of a delegation. - If left empty it will default to a value to be set by each app. - count_total: - type: boolean - description: >- - count_total is set to true to indicate that the result set should - include + There are two possible valid state transition paths for a BTC delegation: - a count of the total number of items available for pagination in UIs. + - PENDING -> VERIFIED -> ACTIVE -> UNBONDED -> EXPIRED - count_total is only respected when offset is used. It is ignored when - key + - PENDING -> VERIFIED -> ACTIVE -> UNBONDED/EXPIRED - is set. - reverse: - type: boolean - description: >- - reverse is set to true if results are to be returned in the descending - order. + and one invalid state transition path: + - PENDING -> VERIFIED -> UNBONDED i.e the staker unbonded before - Since: cosmos-sdk 0.43 - description: |- - message SomeRequest { - Foo some_parameter = 1; - PageRequest pagination = 2; - } - title: |- - PageRequest is to be embedded in gRPC request messages for efficient - pagination. Ex: - cosmos.base.query.v1beta1.PageResponse: - type: object - properties: - next_key: - type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: - type: string - format: uint64 - title: |- - total is total number of results available if PageRequest.count_total - was set, its value is undefined otherwise - description: |- - PageResponse is to be embedded in gRPC response messages where the - corresponding request message has used PageRequest. + activating delegation on Babylon chain. - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } - google.protobuf.Any: - type: object - properties: - type_url: - type: string - description: >- - A URL/resource name that uniquely identifies the type of the - serialized + In valid transition paths, the delegation becomes UNBONDED when: - protocol buffer message. This string must contain at least + - either the staking transaction timelock expires - one "/" character. The last segment of the URL's path must represent + - or the staker requests early undelegation through MsgBTCUndelegate + message. - the fully qualified name of the type (as in + - PENDING: PENDING defines a delegation that is waiting for covenant signatures. + - VERIFIED: VERIFIED defines a delegation that has covenant signatures but is not yet + included in the BTC chain. + - ACTIVE: ACTIVE defines a delegation that has voting power + - UNBONDED: UNBONDED defines a delegation no longer has voting power + by receiving unbonding tx with signatures from staker and covenant + committee + - EXPIRED: EXPIRED defines a delegation no longer has voting power + for reaching the end of staking transaction timelock + - ANY: ANY is any of the above status + babylon.btcstaking.v1.BTCDelegatorDelegationsResponse: + type: object + properties: + dels: + type: array + items: + type: object + properties: + staker_addr: + type: string + description: >- + staker_addr is the address to receive rewards from BTC + delegation. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this BTC delegation + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the finality + providers that - `path/google.protobuf.Duration`). The name should be in a canonical - form + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the delegation is + locked on BTC chain + start_height: + type: integer + format: int64 + title: |- + start_height is the start BTC height of the BTC delegation + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: + type: string + format: uint64 + title: |- + total_sat is the total amount of BTC stakes in this delegation + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: >- + delegator_slash_sig_hex is the signature on the slashing tx - (e.g., leading "." is not accepted). + by the delegator (i.e., SK corresponding to btc_pk) as string + hex. + It will be a part of the witness for the staking tx output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as + the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures signed + by the - In practice, teams usually precompile into the binary all types that - they + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_sigs is a list of adaptor signatures on the slashing tx + by each covenant member + It will be a part of the witness for the staking tx output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in the + staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path and in + slashing transactions - expect it to use in the context of Any. However, for URLs which use - the + change outputs + undelegation_response: + description: >- + undelegation_response is the undelegation info of this + delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer the + funds from staking - scheme `http`, `https`, or no scheme, one can optionally set up a type + output to unbonding output. Unbonding output will usually + have lower timelock - server that maps type URLs to message definitions as follows: + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with its + signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of signatures on the + unbonding tx + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: >- + delegator_slashing_sig is the signature on the slashing tx - * If no scheme is provided, `https` is assumed. + by the delegator (i.e., SK corresponding to btc_pk). - * 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.) + It will be a part of the witness for the unbonding tx + output. - Note: this functionality is not currently available in the official + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, + used as the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's public + key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures + signed by the - protobuf release, and it is not used for type URLs beginning with + covenant with different finality provider's public keys as + encryption keys + description: >- + covenant_slashing_sigs is a list of adaptor signatures on + the - type.googleapis.com. + unbonding slashing tx by each covenant member + It will be a part of the witness for the staking tx output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info about the + transaction - Schemes other than `http`, `https` (or the empty scheme) might be + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent the + staking output. It is - used with implementation specific semantics. - value: + filled only if the spend_stake_tx_hex is different than + the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about the + undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + description: >- + BTCDelegationResponse is the client needed information from a + BTCDelegation with the current status based on parameters. + description: >- + BTCDelegatorDelegationsResponse is a collection of BTC delegations + responses from the same delegator. + babylon.btcstaking.v1.BTCSigType: + type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 + description: >- + - BIP340: BIP340 means the btc_sig will follow the BIP-340 encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + title: BTCSigType indicates the type of btc_sig in a pop + babylon.btcstaking.v1.BTCUndelegationResponse: + type: object + properties: + unbonding_tx_hex: 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 + unbonding_tx is the transaction which will transfer the funds from + staking - URL that describes the type of the serialized message. + output to unbonding output. Unbonding output will usually have lower + timelock + + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with its signer's + BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of signatures on the unbonding + tx + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: |- + delegator_slashing_sig is the signature on the slashing tx + by the delegator (i.e., SK corresponding to btc_pk). + It will be a part of the witness for the unbonding tx output. + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as the + public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each encrypted by + a restaked BTC finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures signed by the - Protobuf library provides support to pack/unpack Any values in the form + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_slashing_sigs is a list of adaptor signatures on the + unbonding slashing tx by each covenant member + It will be a part of the witness for the staking tx output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info about the + transaction - of utility functions or additional generated methods of the Any type. + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent the staking + output. It is + filled only if the spend_stake_tx_hex is different than the + unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about the + undeleagation + babylon.btcstaking.v1.CovenantAdaptorSignatures: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as the public + key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each encrypted by a + restaked BTC finality provider's public key + title: |- + CovenantAdaptorSignatures is a list adaptor signatures signed by the + covenant with different finality provider's public keys as encryption keys + babylon.btcstaking.v1.DelegatorUnbondingInfoResponse: + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent the staking output. + It is - Example 1: Pack and unpack a message in C++. + filled only if the spend_stake_tx_hex is different than the + unbonding_tx_hex + title: >- + DelegatorUnbondingInfoResponse provides all necessary info about + transaction - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + which spent the staking output + babylon.btcstaking.v1.FinalityProviderResponse: + type: object + properties: + description: + description: description defines the description terms for the finality provider. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: security_contact defines an optional email for security contact. + details: + type: string + description: details define other optional details. + commission: + type: string + description: commission defines the commission rate of the finality provider. + addr: + type: string + description: addr is the address to receive commission from delegations. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this finality provider + the PK follows encoding in BIP-340 spec + pop: + description: |- + pop is the proof of possession of the BTC_PK by the fp addr. + Essentially is the signature where the BTC SK sigs the fp addr. + type: object + properties: + btc_sig_type: + title: btc_sig_type indicates the type of btc_sig in the pop + type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 + description: >- + - BIP340: BIP340 means the btc_sig will follow the BIP-340 + encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + btc_sig: + type: string + format: byte + title: >- + btc_sig is the signature generated via sign(sk_btc, + babylon_staker_address) - Example 2: Pack and unpack a message in Java. + the signature follows encoding in either BIP-340 spec or BIP-322 + spec + title: |- + ProofOfPossessionBTC is the proof of possession that a Babylon + address and a Bitcoin secp256k1 secret key are held by the same + person + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + height: + type: string + format: uint64 + title: height is the queried Babylon height + jailed: + type: boolean + title: jailed defines whether the finality provider is jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + FinalityProviderResponse defines a finality provider with voting power + information. + babylon.btcstaking.v1.Params: + type: object + properties: + covenant_pks: + type: array + items: + type: string + format: byte + title: |- + PARAMETERS COVERING STAKING + covenant_pks is the list of public keys held by the covenant committee + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed for the + covenant - 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()); - } + multisignature + min_staking_value_sat: + type: string + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in staking + output + max_staking_value_sat: + type: string + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in staking + output + min_staking_time_blocks: + type: integer + format: int64 + title: >- + min_staking_time is the minimum lock time specified in staking output + script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time specified in + staking output script + slashing_pk_script: + type: string + format: byte + title: >- + PARAMETERS COVERING SLASHING - Example 3: Pack and unpack a message in Python. + slashing_pk_script is the pk_script expected in slashing output ie. + the first - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: |- + min_slashing_tx_fee_sat is the minimum amount of tx fee (quantified + in Satoshi) needed for the pre-signed slashing tx. It covers both: + staking slashing transaction and unbonding slashing transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount to be + slashed, - Example 4: Pack and unpack a message in Go + expressed as a decimal (e.g., 0.5 for 50%). Maximal precion is 2 + decimal - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING - The pack methods provided by protobuf library will by default use + unbonding_time is the exact unbonding time required from unbonding + transaction - 'type.googleapis.com/full.type.name' as the type URL and the unpack + it must be larger than `checkpoint_finalization_timeout` from + `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS - methods only use the fully qualified type name after the last '/' + min_commission_rate is the chain-wide minimum commission rate that a + finality provider - in the type URL, for example "foo.bar.com/x/y.z" will yield type + can charge their delegators expressed as a decimal (e.g., 0.5 for + 50%). Maximal precion - name "y.z". + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: + type: string + format: uint64 + title: >- + allow_list_expiration_height is the height at which the allow list + expires + i.e all staking transactions are allowed to enter Babylon chain + afterwards - JSON + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which parameters are + activated (inclusive) + description: Params defines the parameters for the module. + babylon.btcstaking.v1.ProofOfPossessionBTC: + type: object + properties: + btc_sig_type: + title: btc_sig_type indicates the type of btc_sig in the pop + type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 + description: >- + - BIP340: BIP340 means the btc_sig will follow the BIP-340 encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + btc_sig: + type: string + format: byte + title: >- + btc_sig is the signature generated via sign(sk_btc, + babylon_staker_address) + the signature follows encoding in either BIP-340 spec or BIP-322 spec + title: |- + ProofOfPossessionBTC is the proof of possession that a Babylon + address and a Bitcoin secp256k1 secret key are held by the same + person + babylon.btcstaking.v1.QueryBTCDelegationResponse: + type: object + properties: + btc_delegation: + description: >- + BTCDelegation represents the client needed information of an + BTCDelegation. + type: object + properties: + staker_addr: + type: string + description: staker_addr is the address to receive rewards from BTC delegation. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this BTC delegation + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the finality + providers that - The JSON representation of an `Any` value uses the regular + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the delegation is + locked on BTC chain + start_height: + type: integer + format: int64 + title: |- + start_height is the start BTC height of the BTC delegation + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: + type: string + format: uint64 + title: |- + total_sat is the total amount of BTC stakes in this delegation + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: |- + delegator_slash_sig_hex is the signature on the slashing tx + by the delegator (i.e., SK corresponding to btc_pk) as string hex. + It will be a part of the witness for the staking tx output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as + the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each encrypted + by a restaked BTC finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures signed by + the - representation of the deserialized, embedded message, with an + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_sigs is a list of adaptor signatures on the slashing tx + by each covenant member + It will be a part of the witness for the staking tx output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in the + staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path and in + slashing transactions - additional field `@type` which contains the type URL. Example: + change outputs + undelegation_response: + description: undelegation_response is the undelegation info of this delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer the funds + from staking - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + output to unbonding output. Unbonding output will usually have + lower timelock - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with its + signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of signatures on the + unbonding tx - If the embedded message type is well-known and has a custom JSON + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: |- + delegator_slashing_sig is the signature on the slashing tx + by the delegator (i.e., SK corresponding to btc_pk). + It will be a part of the witness for the unbonding tx output. + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used + as the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's public + key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures + signed by the - representation, that representation will be embedded adding a field + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_slashing_sigs is a list of adaptor signatures on the + unbonding slashing tx by each covenant member + It will be a part of the witness for the staking tx output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info about the + transaction - `value` which holds the custom JSON in addition to the `@type` + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent the + staking output. It is - field. Example (for message [google.protobuf.Duration][]): + filled only if the spend_stake_tx_hex is different than + the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about the + undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + title: >- + QueryBTCDelegationResponse is response type matching + QueryBTCDelegationRequest - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - grpc.gateway.runtime.Error: + and containing BTC delegation information + babylon.btcstaking.v1.QueryBTCDelegationsResponse: type: object properties: - error: - type: string - code: - type: integer - format: int32 - message: - type: string - details: + btc_delegations: type: array items: type: object properties: - type_url: + staker_addr: 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 + staker_addr is the address to receive rewards from BTC + delegation. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this BTC delegation + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the finality + providers that - used with implementation specific semantics. - value: + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the delegation is + locked on BTC chain + start_height: + type: integer + format: int64 + title: |- + start_height is the start BTC height of the BTC delegation + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: + type: string + format: uint64 + title: |- + total_sat is the total amount of BTC stakes in this delegation + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: 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. + delegator_slash_sig_hex is the signature on the slashing tx + by the delegator (i.e., SK corresponding to btc_pk) as string + hex. - 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++. + It will be a part of the witness for the staking tx output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, used as + the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures signed + by the - Foo foo = ...; - Any any; - any.PackFrom(foo); - ... - if (any.UnpackTo(&foo)) { - ... - } + covenant with different finality provider's public keys as + encryption keys + description: |- + covenant_sigs is a list of adaptor signatures on the slashing tx + by each covenant member + It will be a part of the witness for the staking tx output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in the + staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path and in + slashing transactions - Example 2: Pack and unpack a message in Java. + change outputs + undelegation_response: + description: >- + undelegation_response is the undelegation info of this + delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer the + funds from staking - 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()); - } + output to unbonding output. Unbonding output will usually + have lower timelock - Example 3: Pack and unpack a message in Python. + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with its + signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of signatures on the + unbonding tx - foo = Foo(...) - any = Any() - any.Pack(foo) - ... - if any.Is(Foo.DESCRIPTOR): - any.Unpack(foo) - ... + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: >- + delegator_slashing_sig is the signature on the slashing tx - Example 4: Pack and unpack a message in Go + by the delegator (i.e., SK corresponding to btc_pk). - foo := &pb.Foo{...} - any, err := anypb.New(foo) - if err != nil { - ... - } - ... - foo := &pb.Foo{} - if err := any.UnmarshalTo(foo); err != nil { - ... - } + It will be a part of the witness for the unbonding tx + output. - The pack methods provided by protobuf library will by default use + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, + used as the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's public + key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures + signed by the - 'type.googleapis.com/full.type.name' as the type URL and the unpack + covenant with different finality provider's public keys as + encryption keys + description: >- + covenant_slashing_sigs is a list of adaptor signatures on + the - methods only use the fully qualified type name after the last '/' + unbonding slashing tx by each covenant member - in the type URL, for example "foo.bar.com/x/y.z" will yield type + It will be a part of the witness for the staking tx output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info about the + transaction - name "y.z". + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent the + staking output. It is + filled only if the spend_stake_tx_hex is different than + the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about the + undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + description: >- + BTCDelegationResponse is the client needed information from a + BTCDelegation with the current status based on parameters. + title: >- + btc_delegations contains all the queried BTC delegations under the + given status + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - JSON + was set, its value is undefined otherwise + description: |- + QueryBTCDelegationsResponse is the response type for the + Query/BTCDelegations RPC method. + babylon.btcstaking.v1.QueryFinalityProviderDelegationsResponse: + type: object + properties: + btc_delegator_delegations: + type: array + items: + type: object + properties: + dels: + type: array + items: + type: object + properties: + staker_addr: + type: string + description: >- + staker_addr is the address to receive rewards from BTC + delegation. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this BTC delegation + the PK follows encoding in BIP-340 spec + fp_btc_pk_list: + type: array + items: + type: string + format: byte + title: >- + fp_btc_pk_list is the list of BIP-340 PKs of the finality + providers that + this BTC delegation delegates to + staking_time: + type: integer + format: int64 + title: >- + staking_time is the number of blocks for which the + delegation is locked on BTC chain + start_height: + type: integer + format: int64 + title: |- + start_height is the start BTC height of the BTC delegation + it is the start BTC height of the timelock + end_height: + type: integer + format: int64 + title: |- + end_height is the end height of the BTC delegation + it is the end BTC height of the timelock - w + total_sat: + type: string + format: uint64 + title: >- + total_sat is the total amount of BTC stakes in this + delegation - The JSON representation of an `Any` value uses the regular + quantified in satoshi + staking_tx_hex: + type: string + title: staking_tx_hex is the hex string of staking tx + slashing_tx_hex: + type: string + title: slashing_tx_hex is the hex string of slashing tx + delegator_slash_sig_hex: + type: string + description: >- + delegator_slash_sig_hex is the signature on the slashing + tx - representation of the deserialized, embedded message, with an + by the delegator (i.e., SK corresponding to btc_pk) as + string hex. - additional field `@type` which contains the type URL. Example: + It will be a part of the witness for the staking tx + output. + covenant_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant emulator, + used as the public key of the adaptor signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, each + encrypted by a restaked BTC finality provider's + public key + title: >- + CovenantAdaptorSignatures is a list adaptor signatures + signed by the - package google.profile; - message Person { - string first_name = 1; - string last_name = 2; - } + covenant with different finality provider's public keys + as encryption keys + description: >- + covenant_sigs is a list of adaptor signatures on the + slashing tx - { - "@type": "type.googleapis.com/google.profile.Person", - "firstName": , - "lastName": - } + by each covenant member - If the embedded message type is well-known and has a custom JSON + It will be a part of the witness for the staking tx + output. + staking_output_idx: + type: integer + format: int64 + title: >- + staking_output_idx is the index of the staking output in + the staking tx + active: + type: boolean + title: whether this delegation is active + status_desc: + type: string + description: descriptive status of current delegation. + unbonding_time: + type: integer + format: int64 + title: >- + unbonding_time used in unbonding output timelock path and + in slashing transactions - representation, that representation will be embedded adding a field + change outputs + undelegation_response: + description: >- + undelegation_response is the undelegation info of this + delegation. + type: object + properties: + unbonding_tx_hex: + type: string + description: >- + unbonding_tx is the transaction which will transfer + the funds from staking - `value` which holds the custom JSON in addition to the `@type` + output to unbonding output. Unbonding output will + usually have lower timelock - field. Example (for message [google.protobuf.Duration][]): + than staking output. The unbonding tx as string hex. + covenant_unbonding_sig_list: + type: array + items: + type: object + properties: + pk: + type: string + format: byte + sig: + type: string + format: byte + title: >- + SignatureInfo is a BIP-340 signature together with + its signer's BIP-340 PK + title: >- + covenant_unbonding_sig_list is the list of signatures + on the unbonding tx - { - "@type": "type.googleapis.com/google.protobuf.Duration", - "value": "1.212s" - } - babylon.btclightclient.v1.BTCHeaderInfoResponse: - type: object - properties: - header_hex: - type: string - hash_hex: - type: string - height: - type: integer - format: int64 - work: - type: string - description: Work is the sdkmath.Uint as string. - description: >- - BTCHeaderInfoResponse is a structure that contains all relevant - information about a + by covenant members + slashing_tx_hex: + type: string + title: slashingTxHex is the hex string of slashing tx + delegator_slashing_sig_hex: + type: string + description: >- + delegator_slashing_sig is the signature on the + slashing tx - BTC header response - - Full header as string hex. - - Header hash for easy retrieval as string hex. - - Height of the header in the BTC chain. - - Total work spent on the header. This is the sum of the work corresponding - to the header Bits field - and the total work of the header. - babylon.btclightclient.v1.Params: - type: object - properties: - insert_headers_allow_list: - type: array - items: - type: string - title: >- - List of addresses which are allowed to insert headers to btc light - client + by the delegator (i.e., SK corresponding to btc_pk). - if the list is empty, any address can insert headers - description: Params defines the parameters for the module. - babylon.btclightclient.v1.QueryBaseHeaderResponse: - type: object - properties: - header: - type: object - properties: - header_hex: - type: string - hash_hex: - type: string - height: - type: integer - format: int64 - work: - type: string - description: Work is the sdkmath.Uint as string. - description: >- - BTCHeaderInfoResponse is a structure that contains all relevant - information about a + It will be a part of the witness for the unbonding tx + output. - BTC header response - - Full header as string hex. - - Header hash for easy retrieval as string hex. - - Height of the header in the BTC chain. - - Total work spent on the header. This is the sum of the work corresponding - to the header Bits field - and the total work of the header. - description: |- - QueryBaseHeaderResponse is the response type for the Query/BaseHeader RPC - method. - babylon.btclightclient.v1.QueryContainsBytesResponse: - type: object - properties: - contains: - type: boolean - description: >- - QueryContainsResponse is response type for the temporary - Query/ContainsBytes + The delegator slashing sig as string hex. + covenant_slashing_sigs: + type: array + items: + type: object + properties: + cov_pk: + type: string + format: byte + title: >- + cov_pk is the public key of the covenant + emulator, used as the public key of the adaptor + signature + adaptor_sigs: + type: array + items: + type: string + format: byte + title: >- + adaptor_sigs is a list of adaptor signatures, + each encrypted by a restaked BTC finality + provider's public key + title: >- + CovenantAdaptorSignatures is a list adaptor + signatures signed by the - RPC method. - babylon.btclightclient.v1.QueryContainsResponse: - type: object - properties: - contains: - type: boolean - description: QueryContainsResponse is response type for the Query/Contains RPC method. - babylon.btclightclient.v1.QueryHashesResponse: - type: object - properties: - hashes: - type: array - items: - type: string - format: byte + covenant with different finality provider's public + keys as encryption keys + description: >- + covenant_slashing_sigs is a list of adaptor signatures + on the + + unbonding slashing tx by each covenant member + + It will be a part of the witness for the staking tx + output. + delegator_unbonding_info_response: + title: >- + btc_undelegation_info contains all necessary info + about the transaction + + which spent the staking output + type: object + properties: + spend_stake_tx_hex: + type: string + title: >- + spend_stake_tx_hex is the transaction which spent + the staking output. It is + + filled only if the spend_stake_tx_hex is different + than the unbonding_tx_hex + title: >- + BTCUndelegationResponse provides all necessary info about + the undeleagation + params_version: + type: integer + format: int64 + title: params version used to validate delegation + description: >- + BTCDelegationResponse is the client needed information from a + BTCDelegation with the current status based on parameters. + description: >- + BTCDelegatorDelegationsResponse is a collection of BTC delegations + responses from the same delegator. + description: btc_delegator_delegations contains all the queried BTC delegations. pagination: + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -5735,467 +13268,1090 @@ definitions: 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; - } - description: QueryHashesResponse is response type for the Query/Hashes RPC method. - babylon.btclightclient.v1.QueryHeaderDepthResponse: + description: |- + QueryFinalityProviderDelegationsResponse is the response type for the + Query/FinalityProviderDelegations RPC method. + babylon.btcstaking.v1.QueryFinalityProviderResponse: type: object properties: - depth: - type: integer - format: int64 - title: >- - QueryMainChainDepthResponse is the response type for the - Query/MainChainDepth RPC + finality_provider: + type: object + properties: + description: + description: >- + description defines the description terms for the finality + provider. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + commission: + type: string + description: commission defines the commission rate of the finality provider. + addr: + type: string + description: addr is the address to receive commission from delegations. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this finality provider + the PK follows encoding in BIP-340 spec + pop: + description: |- + pop is the proof of possession of the BTC_PK by the fp addr. + Essentially is the signature where the BTC SK sigs the fp addr. + type: object + properties: + btc_sig_type: + title: btc_sig_type indicates the type of btc_sig in the pop + type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 + description: >- + - BIP340: BIP340 means the btc_sig will follow the BIP-340 + encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + btc_sig: + type: string + format: byte + title: >- + btc_sig is the signature generated via sign(sk_btc, + babylon_staker_address) - it contains depth of the block in main chain - babylon.btclightclient.v1.QueryMainChainResponse: + the signature follows encoding in either BIP-340 spec or + BIP-322 spec + title: |- + ProofOfPossessionBTC is the proof of possession that a Babylon + address and a Bitcoin secp256k1 secret key are held by the same + person + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + height: + type: string + format: uint64 + title: height is the queried Babylon height + jailed: + type: boolean + title: jailed defines whether the finality provider is jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + FinalityProviderResponse defines a finality provider with voting power + information. + title: finality_provider contains the FinalityProvider + title: >- + QueryFinalityProviderResponse contains information about a finality + provider + babylon.btcstaking.v1.QueryFinalityProvidersResponse: type: object properties: - headers: + finality_providers: type: array items: type: object properties: - header_hex: + description: + description: >- + description defines the description terms for the finality + provider. + type: object + properties: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort + or Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: >- + security_contact defines an optional email for security + contact. + details: + type: string + description: details define other optional details. + commission: type: string - hash_hex: + description: commission defines the commission rate of the finality provider. + addr: type: string - height: + description: addr is the address to receive commission from delegations. + btc_pk: + type: string + format: byte + title: |- + btc_pk is the Bitcoin secp256k1 PK of this finality provider + the PK follows encoding in BIP-340 spec + pop: + description: |- + pop is the proof of possession of the BTC_PK by the fp addr. + Essentially is the signature where the BTC SK sigs the fp addr. + type: object + properties: + btc_sig_type: + title: btc_sig_type indicates the type of btc_sig in the pop + type: string + enum: + - BIP340 + - BIP322 + - ECDSA + default: BIP340 + description: >- + - BIP340: BIP340 means the btc_sig will follow the BIP-340 + encoding + - BIP322: BIP322 means the btc_sig will follow the BIP-322 encoding + - ECDSA: ECDSA means the btc_sig will follow the ECDSA encoding + ref: + https://github.com/okx/js-wallet-sdk/blob/a57c2acbe6ce917c0aa4e951d96c4e562ad58444/packages/coin-bitcoin/src/BtcWallet.ts#L331 + btc_sig: + type: string + format: byte + title: >- + btc_sig is the signature generated via sign(sk_btc, + babylon_staker_address) + + the signature follows encoding in either BIP-340 spec or + BIP-322 spec + title: |- + ProofOfPossessionBTC is the proof of possession that a Babylon + address and a Bitcoin secp256k1 secret key are held by the same + person + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: type: integer format: int64 - work: + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + height: type: string - description: Work is the sdkmath.Uint as string. + format: uint64 + title: height is the queried Babylon height + jailed: + type: boolean + title: jailed defines whether the finality provider is jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted description: >- - BTCHeaderInfoResponse is a structure that contains all relevant - information about a - - BTC header response - - Full header as string hex. - - Header hash for easy retrieval as string hex. - - Height of the header in the BTC chain. - - Total work spent on the header. This is the sum of the work corresponding - to the header Bits field - and the total work of the header. + FinalityProviderResponse defines a finality provider with voting + power information. + title: finality_providers contains all the finality providers pagination: + description: pagination defines the pagination in the response. type: object properties: next_key: type: string - format: byte - description: |- - next_key is the key to be passed to PageRequest.key to - query the next page most efficiently. It will be empty if - there are no more results. - total: + 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: |- + QueryFinalityProvidersResponse is the response type for the + Query/FinalityProviders RPC method. + babylon.btcstaking.v1.QueryParamsByBTCHeightResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + covenant_pks: + type: array + items: + type: string + format: byte + title: >- + PARAMETERS COVERING STAKING + + covenant_pks is the list of public keys held by the covenant + committee + + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed for the + covenant + + multisignature + min_staking_value_sat: + type: string + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in staking + output + max_staking_value_sat: + type: string + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in staking + output + min_staking_time_blocks: + type: integer + format: int64 + title: >- + min_staking_time is the minimum lock time specified in staking + output script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time specified in + staking output script + slashing_pk_script: + type: string + format: byte + title: >- + PARAMETERS COVERING SLASHING + + slashing_pk_script is the pk_script expected in slashing output + ie. the first + + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: >- + min_slashing_tx_fee_sat is the minimum amount of tx fee + (quantified + + in Satoshi) needed for the pre-signed slashing tx. It covers both: + + staking slashing transaction and unbonding slashing transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount to be + slashed, + + expressed as a decimal (e.g., 0.5 for 50%). Maximal precion is 2 + decimal + + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING + + unbonding_time is the exact unbonding time required from unbonding + transaction + + it must be larger than `checkpoint_finalization_timeout` from + `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS + + min_commission_rate is the chain-wide minimum commission rate that + a finality provider + + can charge their delegators expressed as a decimal (e.g., 0.5 for + 50%). Maximal precion + + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: type: string format: uint64 title: >- - total is total number of results available if - PageRequest.count_total + allow_list_expiration_height is the height at which the allow list + expires - 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. + i.e all staking transactions are allowed to enter Babylon chain + afterwards - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which parameters are + activated (inclusive) + version: + type: integer + format: int64 + title: version is the version of the params for the given BTC height description: >- - QueryMainChainResponse is response type for the Query/MainChain RPC - method. - babylon.btclightclient.v1.QueryParamsResponse: + QueryParamsByBTCHeightResponse is response type for the + Query/QueryParamsByBTCHeightResponse RPC method. + babylon.btcstaking.v1.QueryParamsByVersionResponse: type: object properties: params: description: params holds all the parameters of this module. type: object properties: - insert_headers_allow_list: + covenant_pks: type: array items: type: string + format: byte title: >- - List of addresses which are allowed to insert headers to btc light - client + PARAMETERS COVERING STAKING - if the list is empty, any address can insert headers - description: QueryParamsResponse is the response type for the Query/Params RPC method. - babylon.btclightclient.v1.QueryTipResponse: - type: object - properties: - header: - type: object - properties: - header_hex: + covenant_pks is the list of public keys held by the covenant + committee + + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed for the + covenant + + multisignature + min_staking_value_sat: type: string - hash_hex: + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in staking + output + max_staking_value_sat: type: string - height: + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in staking + output + min_staking_time_blocks: type: integer format: int64 - work: + title: >- + min_staking_time is the minimum lock time specified in staking + output script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time specified in + staking output script + slashing_pk_script: type: string - description: Work is the sdkmath.Uint as string. - description: >- - BTCHeaderInfoResponse is a structure that contains all relevant - information about a + format: byte + title: >- + PARAMETERS COVERING SLASHING - BTC header response - - Full header as string hex. - - Header hash for easy retrieval as string hex. - - Height of the header in the BTC chain. - - Total work spent on the header. This is the sum of the work corresponding - to the header Bits field - and the total work of the header. - description: QueryTipResponse is the response type for the Query/Tip RPC method. - babylon.epoching.v1.BondState: - type: string - enum: - - CREATED - - BONDED - - UNBONDING - - UNBONDED - - REMOVED - default: CREATED - description: |- - - CREATED: CREATED is when the validator/delegation has been created - - BONDED: CREATED is when the validator/delegation has become bonded - - UNBONDING: CREATED is when the validator/delegation has become unbonding - - UNBONDED: CREATED is when the validator/delegation has become unbonded - - REMOVED: CREATED is when the validator/delegation has been removed - title: BondState is the bond state of a validator or delegation - babylon.epoching.v1.DelegationLifecycle: - type: object - properties: - del_addr: - type: string - del_life: - type: array - items: - type: object - properties: - state: - type: string - enum: - - CREATED - - BONDED - - UNBONDING - - UNBONDED - - REMOVED - default: CREATED - description: >- - - CREATED: CREATED is when the validator/delegation has been - created - - BONDED: CREATED is when the validator/delegation has become bonded - - UNBONDING: CREATED is when the validator/delegation has become unbonding - - UNBONDED: CREATED is when the validator/delegation has become unbonded - - REMOVED: CREATED is when the validator/delegation has been removed - title: BondState is the bond state of a validator or delegation - val_addr: - type: string - amount: - type: object - properties: - denom: - type: string - amount: - type: string - description: >- - Coin defines a token with a denomination and an amount. + slashing_pk_script is the pk_script expected in slashing output + ie. the first + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: >- + min_slashing_tx_fee_sat is the minimum amount of tx fee + (quantified - NOTE: The amount field is an Int which implements the custom - method + in Satoshi) needed for the pre-signed slashing tx. It covers both: - signatures required by gogoproto. - block_height: - type: string - format: uint64 - block_time: - type: string - format: date-time - title: >- - DelegationStateUpdate is the message that records a state update of - a + staking slashing transaction and unbonding slashing transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount to be + slashed, - delegation - title: |- - ValidatorLifecycle is a message that records the lifecycle of - a delegation - babylon.epoching.v1.DelegationStateUpdate: + expressed as a decimal (e.g., 0.5 for 50%). Maximal precion is 2 + decimal + + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING + + unbonding_time is the exact unbonding time required from unbonding + transaction + + it must be larger than `checkpoint_finalization_timeout` from + `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS + + min_commission_rate is the chain-wide minimum commission rate that + a finality provider + + can charge their delegators expressed as a decimal (e.g., 0.5 for + 50%). Maximal precion + + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: + type: string + format: uint64 + title: >- + allow_list_expiration_height is the height at which the allow list + expires + + i.e all staking transactions are allowed to enter Babylon chain + afterwards + + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which parameters are + activated (inclusive) + description: QueryParamsResponse is response type for the Query/Params RPC method. + babylon.btcstaking.v1.QueryParamsResponse: type: object properties: - state: - type: string - enum: - - CREATED - - BONDED - - UNBONDING - - UNBONDED - - REMOVED - default: CREATED - description: |- - - CREATED: CREATED is when the validator/delegation has been created - - BONDED: CREATED is when the validator/delegation has become bonded - - UNBONDING: CREATED is when the validator/delegation has become unbonding - - UNBONDED: CREATED is when the validator/delegation has become unbonded - - REMOVED: CREATED is when the validator/delegation has been removed - title: BondState is the bond state of a validator or delegation - val_addr: - type: string - amount: + params: + description: params holds all the parameters of this module. type: object properties: - denom: + covenant_pks: + type: array + items: + type: string + format: byte + title: >- + PARAMETERS COVERING STAKING + + covenant_pks is the list of public keys held by the covenant + committee + + each PK follows encoding in BIP-340 spec on Bitcoin + covenant_quorum: + type: integer + format: int64 + title: >- + covenant_quorum is the minimum number of signatures needed for the + covenant + + multisignature + min_staking_value_sat: type: string - amount: + format: int64 + title: >- + min_staking_value_sat is the minimum of satoshis locked in staking + output + max_staking_value_sat: type: string - description: |- - Coin defines a token with a denomination and an amount. + format: int64 + title: >- + max_staking_value_sat is the maximum of satoshis locked in staking + output + min_staking_time_blocks: + type: integer + format: int64 + title: >- + min_staking_time is the minimum lock time specified in staking + output script + max_staking_time_blocks: + type: integer + format: int64 + title: >- + max_staking_time_blocks is the maximum lock time time specified in + staking output script + slashing_pk_script: + type: string + format: byte + title: >- + PARAMETERS COVERING SLASHING - NOTE: The amount field is an Int which implements the custom method - signatures required by gogoproto. - block_height: + slashing_pk_script is the pk_script expected in slashing output + ie. the first + + output of slashing transaction + min_slashing_tx_fee_sat: + type: string + format: int64 + title: >- + min_slashing_tx_fee_sat is the minimum amount of tx fee + (quantified + + in Satoshi) needed for the pre-signed slashing tx. It covers both: + + staking slashing transaction and unbonding slashing transaction + slashing_rate: + type: string + title: >- + slashing_rate determines the portion of the staked amount to be + slashed, + + expressed as a decimal (e.g., 0.5 for 50%). Maximal precion is 2 + decimal + + places + unbonding_time_blocks: + type: integer + format: int64 + title: >- + PARAMETERS COVERING UNBONDING + + unbonding_time is the exact unbonding time required from unbonding + transaction + + it must be larger than `checkpoint_finalization_timeout` from + `btccheckpoint` module + unbonding_fee_sat: + type: string + format: int64 + title: unbonding_fee exact fee required for unbonding transaction + min_commission_rate: + type: string + title: >- + PARAMETERS COVERING FINALITY PROVIDERS + + min_commission_rate is the chain-wide minimum commission rate that + a finality provider + + can charge their delegators expressed as a decimal (e.g., 0.5 for + 50%). Maximal precion + + is 2 decimal places + delegation_creation_base_gas_fee: + type: string + format: uint64 + title: base gas fee for delegation creation + allow_list_expiration_height: + type: string + format: uint64 + title: >- + allow_list_expiration_height is the height at which the allow list + expires + + i.e all staking transactions are allowed to enter Babylon chain + afterwards + + setting it to 0 means allow list is disabled + btc_activation_height: + type: integer + format: int64 + title: >- + btc_activation_height is the btc height from which parameters are + activated (inclusive) + description: QueryParamsResponse is response type for the Query/Params RPC method. + babylon.btcstaking.v1.SignatureInfo: + type: object + properties: + pk: type: string - format: uint64 - block_time: + format: byte + sig: type: string - format: date-time - title: |- - DelegationStateUpdate is the message that records a state update of a - delegation - babylon.epoching.v1.EpochResponse: + format: byte + title: SignatureInfo is a BIP-340 signature together with its signer's BIP-340 PK + cosmos.staking.v1beta1.Description: type: object properties: - epoch_number: + moniker: + type: string + description: moniker defines a human-readable name for the validator. + identity: + type: string + description: >- + identity defines an optional identity signature (ex. UPort or + Keybase). + website: + type: string + description: website defines an optional website link. + security_contact: + type: string + description: security_contact defines an optional email for security contact. + details: + type: string + description: details define other optional details. + description: Description defines a validator description. + babylon.finality.v1.ActiveFinalityProvidersAtHeightResponse: + type: object + properties: + btc_pk_hex: + type: string + title: |- + btc_pk is the Bitcoin secp256k1 PK of thisfinality provider + the PK follows encoding in BIP-340 spec + height: type: string format: uint64 - title: epoch_number is the number of this epoch - current_epoch_interval: + title: height is the queried Babylon height + voting_power: type: string format: uint64 - title: current_epoch_interval is the epoch interval at the time of this epoch - first_block_height: + title: >- + voting_power is the voting power of this finality provider at the + given height + slashed_babylon_height: type: string format: uint64 - title: first_block_height is the height of the first block in this epoch - last_block_time: + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + jailed: + type: boolean + title: jailed defines whether the finality provider is detected jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + ActiveFinalityProvidersAtHeightResponse wraps the FinalityProvider with + metadata. + babylon.finality.v1.EvidenceResponse: + type: object + properties: + fp_btc_pk_hex: type: string - format: date-time - description: >- - last_block_time is the time of the last block in this epoch. + title: >- + fp_btc_pk_hex is the BTC PK of the finality provider that casts this + vote + block_height: + type: string + format: uint64 + title: block_height is the height of the conflicting blocks + pub_rand: + type: string + format: byte + title: >- + pub_rand is the public randomness the finality provider has committed + to + canonical_app_hash: + type: string + format: byte + title: canonical_app_hash is the AppHash of the canonical block + fork_app_hash: + type: string + format: byte + title: fork_app_hash is the AppHash of the fork block + canonical_finality_sig: + type: string + format: byte + title: >- + canonical_finality_sig is the finality signature to the canonical + block - Babylon needs to remember the last header's time of each epoch to - complete + where finality signature is an EOTS signature, i.e., - unbonding validators/delegations when a previous epoch's checkpoint is + the `s` in a Schnorr signature `(r, s)` - finalised. The last_block_time field is nil in the epoch's beginning, - and + `r` is the public randomness that is already committed by the finality + provider + fork_finality_sig: + type: string + format: byte + title: |- + fork_finality_sig is the finality signature to the fork block + where finality signature is an EOTS signature + title: >- + Evidence is the evidence that a finality provider has signed finality - is set upon the end of this epoch. - sealer_app_hash_hex: + signatures with correct public randomness on two conflicting Babylon + headers + babylon.finality.v1.IndexedBlock: + type: object + properties: + height: type: string - description: |- - sealer is the last block of the sealed epoch - sealer_app_hash points to the sealer but stored in the 1st header - of the next epoch as hex string. - sealer_block_hash: + format: uint64 + title: height is the height of the block + app_hash: type: string - description: |- - sealer_block_hash is the hash of the sealer - the validator set has generated a BLS multisig on the hash, - i.e., hash of the last block in the epoch as hex string. - title: EpochResponse is a structure that contains the metadata of an epoch - babylon.epoching.v1.Params: + format: byte + title: app_hash is the AppHash of the block + finalized: + type: boolean + title: |- + finalized indicates whether the IndexedBlock is finalised by 2/3 + finality providers or not + title: IndexedBlock is the necessary metadata and finalization status of a block + babylon.finality.v1.Params: type: object properties: - epoch_interval: + max_active_finality_providers: + type: integer + format: int64 + title: >- + max_active_finality_providers is the maximum number of active finality + providers in the BTC staking protocol + signed_blocks_window: + type: string + format: int64 + title: >- + signed_blocks_window defines the size of the sliding window for + tracking finality provider liveness + finality_sig_timeout: + type: string + format: int64 + title: >- + finality_sig_timeout defines how much time (in terms of blocks) + finality providers have to cast a finality + + vote before being judged as missing their voting turn on the given + block + min_signed_per_window: + type: string + format: byte + title: >- + min_signed_per_window defines the minimum number of blocks that a + finality provider is required to sign + + within the sliding window to avoid being jailed + min_pub_rand: type: string format: uint64 - title: epoch_interval is the number of consecutive blocks to form an epoch + title: |- + min_pub_rand is the minimum number of public randomness each + message should commit + jail_duration: + type: string + title: >- + jail_duration is the minimum period of time that a finality provider + remains jailed + finality_activation_height: + type: string + format: uint64 + description: >- + finality_activation_height is the babylon block height which the + finality module will + + start to accept finality voting and the minimum allowed value for the + public randomness + + commit start height. description: Params defines the parameters for the module. - babylon.epoching.v1.QueryCurrentEpochResponse: + babylon.finality.v1.PubRandCommitResponse: type: object properties: - current_epoch: + num_pub_rand: type: string format: uint64 - title: current_epoch is the current epoch number - epoch_boundary: + title: num_pub_rand is the number of committed public randomness + commitment: + type: string + format: byte + title: commitment is the value of the commitment + epoch_num: type: string format: uint64 - title: epoch_boundary is the height of this epoch's last block + title: epoch_num defines the epoch number that the commit falls into title: >- - QueryCurrentEpochResponse is the response type for the Query/CurrentEpoch - RPC + PubRandCommitResponse is the response type for a public randomness + commitment + babylon.finality.v1.QueriedBlockStatus: + type: string + enum: + - NON_FINALIZED + - FINALIZED + - ANY + default: NON_FINALIZED + description: >- + QueriedBlockStatus is the status of blocks that the querier wants to + query. - method - babylon.epoching.v1.QueryDelegationLifecycleResponse: + - NON_FINALIZED: NON_FINALIZED means the block is not finalised + - FINALIZED: FINALIZED means the block is finalized + - ANY: ANY means the block can be in any status + babylon.finality.v1.QueryActivatedHeightResponse: type: object properties: - del_life: + height: + type: string + format: uint64 + description: >- + QueryActivatedHeightResponse is the response type for the + Query/ActivatedHeight RPC method. + babylon.finality.v1.QueryActiveFinalityProvidersAtHeightResponse: + type: object + properties: + finality_providers: + type: array + items: + type: object + properties: + btc_pk_hex: + type: string + title: |- + btc_pk is the Bitcoin secp256k1 PK of thisfinality provider + the PK follows encoding in BIP-340 spec + height: + type: string + format: uint64 + title: height is the queried Babylon height + voting_power: + type: string + format: uint64 + title: >- + voting_power is the voting power of this finality provider at + the given height + slashed_babylon_height: + type: string + format: uint64 + title: |- + slashed_babylon_height indicates the Babylon height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + slashed_btc_height: + type: integer + format: int64 + title: |- + slashed_btc_height indicates the BTC height when + the finality provider is slashed. + if it's 0 then the finality provider is not slashed + jailed: + type: boolean + title: jailed defines whether the finality provider is detected jailed + highest_voted_height: + type: integer + format: int64 + title: |- + highest_voted_height is the highest height for which the + finality provider has voted + description: >- + ActiveFinalityProvidersAtHeightResponse wraps the FinalityProvider + with metadata. + description: finality_providers contains all the queried finality providersn. + pagination: + description: pagination defines the pagination in the response. type: object properties: - del_addr: + next_key: type: string - del_life: - type: array - items: - type: object - properties: - state: - type: string - enum: - - CREATED - - BONDED - - UNBONDING - - UNBONDED - - REMOVED - default: CREATED - description: >- - - CREATED: CREATED is when the validator/delegation has been - created - - BONDED: CREATED is when the validator/delegation has become bonded - - UNBONDING: CREATED is when the validator/delegation has become unbonding - - UNBONDED: CREATED is when the validator/delegation has become unbonded - - REMOVED: CREATED is when the validator/delegation has been removed - title: BondState is the bond state of a validator or delegation - val_addr: - 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. - block_height: - type: string - format: uint64 - block_time: - type: string - format: date-time - title: >- - DelegationStateUpdate is the message that records a state update - of a + 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 - delegation - title: |- - ValidatorLifecycle is a message that records the lifecycle of - a delegation - title: |- - QueryDelegationLifecycleRequest is the response type for the - Query/DelegationLifecycle RPC method - babylon.epoching.v1.QueryEpochInfoResponse: + was set, its value is undefined otherwise + description: |- + QueryActiveFinalityProvidersAtHeightResponse is the response type for the + Query/ActiveFinalityProvidersAtHeight RPC method. + babylon.finality.v1.QueryBlockResponse: type: object properties: - epoch: + block: type: object properties: - epoch_number: + height: type: string format: uint64 - title: epoch_number is the number of this epoch - current_epoch_interval: + title: height is the height of the block + app_hash: + type: string + format: byte + title: app_hash is the AppHash of the block + finalized: + type: boolean + title: |- + finalized indicates whether the IndexedBlock is finalised by 2/3 + finality providers or not + title: >- + IndexedBlock is the necessary metadata and finalization status of a + block + description: |- + QueryBlockResponse is the response type for the + Query/Block RPC method. + babylon.finality.v1.QueryEvidenceResponse: + type: object + properties: + evidence: + type: object + properties: + fp_btc_pk_hex: type: string - format: uint64 title: >- - current_epoch_interval is the epoch interval at the time of this - epoch - first_block_height: + fp_btc_pk_hex is the BTC PK of the finality provider that casts + this vote + block_height: type: string format: uint64 - title: first_block_height is the height of the first block in this epoch - last_block_time: + title: block_height is the height of the conflicting blocks + pub_rand: + type: string + format: byte + title: >- + pub_rand is the public randomness the finality provider has + committed to + canonical_app_hash: + type: string + format: byte + title: canonical_app_hash is the AppHash of the canonical block + fork_app_hash: type: string - format: date-time - description: >- - last_block_time is the time of the last block in this epoch. - - Babylon needs to remember the last header's time of each epoch to - complete + format: byte + title: fork_app_hash is the AppHash of the fork block + canonical_finality_sig: + type: string + format: byte + title: >- + canonical_finality_sig is the finality signature to the canonical + block - unbonding validators/delegations when a previous epoch's - checkpoint is + where finality signature is an EOTS signature, i.e., - finalised. The last_block_time field is nil in the epoch's - beginning, and + the `s` in a Schnorr signature `(r, s)` - is set upon the end of this epoch. - sealer_app_hash_hex: + `r` is the public randomness that is already committed by the + finality provider + fork_finality_sig: type: string - description: |- - sealer is the last block of the sealed epoch - sealer_app_hash points to the sealer but stored in the 1st header - of the next epoch as hex string. - sealer_block_hash: - type: string - description: |- - sealer_block_hash is the hash of the sealer - the validator set has generated a BLS multisig on the hash, - i.e., hash of the last block in the epoch as hex string. - title: EpochResponse is a structure that contains the metadata of an epoch - title: QueryEpochInfoRequest is the response type for the Query/EpochInfo method - babylon.epoching.v1.QueryEpochMsgsResponse: + format: byte + title: |- + fork_finality_sig is the finality signature to the fork block + where finality signature is an EOTS signature + title: >- + Evidence is the evidence that a finality provider has signed finality + + signatures with correct public randomness on two conflicting Babylon + headers + description: |- + QueryEvidenceResponse is the response type for the + Query/Evidence RPC method. + babylon.finality.v1.QueryFinalityProviderCurrentPowerResponse: type: object properties: - msgs: + height: + type: string + format: uint64 + title: height is the current height + voting_power: + type: string + format: uint64 + title: voting_power is the voting power of the finality provider + description: |- + QueryFinalityProviderCurrentPowerResponse is the response type for the + Query/FinalityProviderCurrentPower RPC method. + babylon.finality.v1.QueryFinalityProviderPowerAtHeightResponse: + type: object + properties: + voting_power: + type: string + format: uint64 + title: voting_power is the voting power of the finality provider + description: |- + QueryFinalityProviderPowerAtHeightResponse is the response type for the + Query/FinalityProviderPowerAtHeight RPC method. + babylon.finality.v1.QueryListBlocksResponse: + type: object + properties: + blocks: type: array items: type: object properties: - tx_id: - type: string - description: tx_id is the ID of the tx that contains the message as hex. - msg_id: - type: string - description: >- - msg_id is the original message ID, i.e., hash of the marshaled - message as hex. - block_height: + height: type: string format: uint64 - title: block_height is the height when this msg is submitted to Babylon - block_time: - type: string - format: date-time - title: >- - block_time is the timestamp when this msg is submitted to - Babylon - msg: + title: height is the height of the block + app_hash: type: string - description: >- - msg is the actual message that is sent by a user and is queued - by the - - epoching module as string. + format: byte + title: app_hash is the AppHash of the block + finalized: + type: boolean + title: |- + finalized indicates whether the IndexedBlock is finalised by 2/3 + finality providers or not title: >- - QueuedMessageResponse is a message that can change the validator set - and is delayed - - to the end of an epoch - title: msgs is the list of messages queued in the current epoch + IndexedBlock is the necessary metadata and finalization status of a + block + title: blocks is the list of blocks at the given status pagination: - title: pagination defines the pagination in the response + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -6213,38 +14369,68 @@ definitions: 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; - } - title: |- - QueryEpochMsgsResponse is the response type for the Query/EpochMsgs RPC - method - babylon.epoching.v1.QueryEpochValSetResponse: + description: |- + QueryListBlocksResponse is the response type for the + Query/ListBlocks RPC method. + babylon.finality.v1.QueryListEvidencesResponse: type: object properties: - validators: + evidences: type: array items: type: object properties: - addr: + fp_btc_pk_hex: + type: string + title: >- + fp_btc_pk_hex is the BTC PK of the finality provider that casts + this vote + block_height: + type: string + format: uint64 + title: block_height is the height of the conflicting blocks + pub_rand: type: string format: byte - title: addr is the validator's address (in sdk.ValAddress) - power: + title: >- + pub_rand is the public randomness the finality provider has + committed to + canonical_app_hash: type: string - format: int64 - title: power is the validator's voting power - title: Validator is a message that denotes a validator - total_voting_power: - type: string - format: int64 + format: byte + title: canonical_app_hash is the AppHash of the canonical block + fork_app_hash: + type: string + format: byte + title: fork_app_hash is the AppHash of the fork block + canonical_finality_sig: + type: string + format: byte + title: >- + canonical_finality_sig is the finality signature to the + canonical block + + where finality signature is an EOTS signature, i.e., + + the `s` in a Schnorr signature `(r, s)` + + `r` is the public randomness that is already committed by the + finality provider + fork_finality_sig: + type: string + format: byte + title: |- + fork_finality_sig is the finality signature to the fork block + where finality signature is an EOTS signature + title: >- + Evidence is the evidence that a finality provider has signed + finality + + signatures with correct public randomness on two conflicting Babylon + headers + title: blocks is the list of evidences pagination: + description: pagination defines the pagination in the response. type: object properties: next_key: @@ -6262,161 +14448,236 @@ definitions: 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; - } - title: |- - QueryEpochValSetRequest is the response type for the Query/EpochValSet RPC - method - babylon.epoching.v1.QueryEpochsInfoResponse: + description: |- + QueryListEvidencesResponse is the response type for the + Query/ListEvidences RPC method. + babylon.finality.v1.QueryListPubRandCommitResponse: type: object properties: - epochs: - type: array - items: + pub_rand_commit_map: + type: object + additionalProperties: type: object properties: - epoch_number: + num_pub_rand: type: string format: uint64 - title: epoch_number is the number of this epoch - current_epoch_interval: + title: num_pub_rand is the number of committed public randomness + commitment: type: string - format: uint64 - title: >- - current_epoch_interval is the epoch interval at the time of this - epoch - first_block_height: + format: byte + title: commitment is the value of the commitment + epoch_num: type: string format: uint64 - title: >- - first_block_height is the height of the first block in this - epoch - last_block_time: - type: string - format: date-time - description: >- - last_block_time is the time of the last block in this epoch. + title: epoch_num defines the epoch number that the commit falls into + title: >- + PubRandCommitResponse is the response type for a public randomness + commitment + title: >- + pub_rand_commit_map is the map where the key is the start height and + the value - Babylon needs to remember the last header's time of each epoch - to complete + is the public randomness commitment at this height for the given + finality provider + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - unbonding validators/delegations when a previous epoch's - checkpoint is + was set, its value is undefined otherwise + description: |- + QueryListPubRandCommitResponse is the response type for the + Query/ListPubRandCommit RPC method. + babylon.finality.v1.QueryListPublicRandomnessResponse: + type: object + properties: + pub_rand_map: + type: object + additionalProperties: + type: string + format: byte + title: >- + pub_rand_map is the map where the key is the height and the value - finalised. The last_block_time field is nil in the epoch's - beginning, and + is the public randomness at this height for the given finality + provider + pagination: + description: pagination defines the pagination in the response. + type: object + properties: + next_key: + type: string + format: byte + description: |- + next_key is the key to be passed to PageRequest.key to + query the next page most efficiently. It will be empty if + there are no more results. + total: + type: string + format: uint64 + title: >- + total is total number of results available if + PageRequest.count_total - is set upon the end of this epoch. - sealer_app_hash_hex: - type: string - description: >- - sealer is the last block of the sealed epoch + was set, its value is undefined otherwise + description: |- + QueryListPublicRandomnessResponse is the response type for the + Query/ListPublicRandomness RPC method. + babylon.finality.v1.QueryParamsResponse: + type: object + properties: + params: + description: params holds all the parameters of this module. + type: object + properties: + max_active_finality_providers: + type: integer + format: int64 + title: >- + max_active_finality_providers is the maximum number of active + finality providers in the BTC staking protocol + signed_blocks_window: + type: string + format: int64 + title: >- + signed_blocks_window defines the size of the sliding window for + tracking finality provider liveness + finality_sig_timeout: + type: string + format: int64 + title: >- + finality_sig_timeout defines how much time (in terms of blocks) + finality providers have to cast a finality - sealer_app_hash points to the sealer but stored in the 1st - header + vote before being judged as missing their voting turn on the given + block + min_signed_per_window: + type: string + format: byte + title: >- + min_signed_per_window defines the minimum number of blocks that a + finality provider is required to sign - of the next epoch as hex string. - sealer_block_hash: - type: string - description: |- - sealer_block_hash is the hash of the sealer - the validator set has generated a BLS multisig on the hash, - i.e., hash of the last block in the epoch as hex string. - title: EpochResponse is a structure that contains the metadata of an epoch - pagination: - title: pagination defines the pagination in the response + within the sliding window to avoid being jailed + min_pub_rand: + type: string + format: uint64 + title: |- + min_pub_rand is the minimum number of public randomness each + message should commit + jail_duration: + type: string + title: >- + jail_duration is the minimum period of time that a finality + provider remains jailed + finality_activation_height: + type: string + format: uint64 + description: >- + finality_activation_height is the babylon block height which the + finality module will + + start to accept finality voting and the minimum allowed value for + the public randomness + + commit start height. + description: QueryParamsResponse is response type for the Query/Params RPC method. + babylon.finality.v1.QuerySigningInfoResponse: + type: object + properties: + signing_info: type: object properties: - next_key: + fp_btc_pk_hex: 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: + title: >- + fp_btc_pk is the BTC PK of the finality provider that casts this + vote + start_height: type: string - format: uint64 + format: int64 title: >- - total is total number of results available if - PageRequest.count_total + start_height is the block height at which finality provider become + active + missed_blocks_counter: + type: string + format: int64 + description: >- + missed_blocks_counter defines a counter to avoid unnecessary array + reads. - 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. + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to liveness + downtime. + description: >- + SigningInfoResponse defines the API response containing a finality + provider's signing info - message SomeResponse { - repeated Bar results = 1; - PageResponse page = 2; - } + for monitoring their liveness activity. title: >- - QueryEpochsInfoResponse is the response type for the Query/EpochInfos + QuerySigningInfoResponse is the response type for the Query/SigningInfo + RPC + method - babylon.epoching.v1.QueryLatestEpochMsgsResponse: + babylon.finality.v1.QuerySigningInfosResponse: type: object properties: - latest_epoch_msgs: + signing_infos: type: array items: type: object properties: - epoch_number: + fp_btc_pk_hex: type: string - format: uint64 - msgs: - type: array - items: - type: object - properties: - tx_id: - type: string - description: >- - tx_id is the ID of the tx that contains the message as - hex. - msg_id: - type: string - description: >- - msg_id is the original message ID, i.e., hash of the - marshaled message as hex. - block_height: - type: string - format: uint64 - title: >- - block_height is the height when this msg is submitted to - Babylon - block_time: - type: string - format: date-time - title: >- - block_time is the timestamp when this msg is submitted to - Babylon - msg: - type: string - description: >- - msg is the actual message that is sent by a user and is - queued by the - - epoching module as string. - title: >- - QueuedMessageResponse is a message that can change the - validator set and is delayed + title: >- + fp_btc_pk is the BTC PK of the finality provider that casts this + vote + start_height: + type: string + format: int64 + title: >- + start_height is the block height at which finality provider + become active + missed_blocks_counter: + type: string + format: int64 + description: >- + missed_blocks_counter defines a counter to avoid unnecessary + array reads. - to the end of an epoch - title: >- - QueuedMessageList is a message that contains a list of - staking-related + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + jailed_until: + type: string + format: date-time + description: >- + Timestamp until which the validator is jailed due to liveness + downtime. + description: >- + SigningInfoResponse defines the API response containing a finality + provider's signing info - messages queued for an epoch - title: |- - latest_epoch_msgs is a list of QueuedMessageList - each QueuedMessageList has a field identifying the epoch number + for monitoring their liveness activity. + title: info is the signing info of all finality providers with signing info pagination: type: object properties: @@ -6443,160 +14704,113 @@ definitions: repeated Bar results = 1; PageResponse page = 2; } - title: |- - QueryLatestEpochMsgsResponse is the response type for the - Query/LatestEpochMsgs RPC method - babylon.epoching.v1.QueryParamsResponse: - type: object - properties: - params: - description: params holds all the parameters of this module. - type: object - properties: - epoch_interval: - type: string - format: uint64 - title: >- - epoch_interval is the number of consecutive blocks to form an - epoch - description: QueryParamsResponse is the response type for the Query/Params RPC method. - babylon.epoching.v1.QueryValidatorLifecycleResponse: - type: object - properties: - val_addr: - type: string - val_life: - type: array - items: - type: object - properties: - state_desc: - type: string - description: StateDesc defines the descriptive state. - block_height: - type: string - format: uint64 - block_time: - type: string - format: date-time - description: >- - ValStateUpdateResponse is a message response that records a state - update of a validator. - title: |- - QueryValidatorLifecycleResponse is the response type for the - Query/ValidatorLifecycle RPC method - babylon.epoching.v1.QueuedMessageList: + title: >- + QuerySigningInfosResponse is the response type for the Query/SigningInfos + RPC + + method + babylon.finality.v1.QueryVotesAtHeightResponse: type: object properties: - epoch_number: - type: string - format: uint64 - msgs: + btc_pks: type: array items: - type: object - properties: - tx_id: - type: string - description: tx_id is the ID of the tx that contains the message as hex. - msg_id: - type: string - description: >- - msg_id is the original message ID, i.e., hash of the marshaled - message as hex. - block_height: - type: string - format: uint64 - title: block_height is the height when this msg is submitted to Babylon - block_time: - type: string - format: date-time - title: >- - block_time is the timestamp when this msg is submitted to - Babylon - msg: - type: string - description: >- - msg is the actual message that is sent by a user and is queued - by the - - epoching module as string. - title: >- - QueuedMessageResponse is a message that can change the validator set - and is delayed + type: string + format: byte + title: >- + btc_pk is the Bitcoin secp256k1 PK of finality providers who have + signed the block at given height. - to the end of an epoch - title: |- - QueuedMessageList is a message that contains a list of staking-related - messages queued for an epoch - babylon.epoching.v1.QueuedMessageResponse: + the PK follows encoding in BIP-340 spec + description: |- + QueryVotesAtHeightResponse is the response type for the + Query/VotesAtHeight RPC method. + babylon.finality.v1.SigningInfoResponse: type: object properties: - tx_id: + fp_btc_pk_hex: type: string - description: tx_id is the ID of the tx that contains the message as hex. - msg_id: + title: fp_btc_pk is the BTC PK of the finality provider that casts this vote + start_height: type: string - description: >- - msg_id is the original message ID, i.e., hash of the marshaled message - as hex. - block_height: + format: int64 + title: >- + start_height is the block height at which finality provider become + active + missed_blocks_counter: type: string - format: uint64 - title: block_height is the height when this msg is submitted to Babylon - block_time: + format: int64 + description: >- + missed_blocks_counter defines a counter to avoid unnecessary array + reads. + + Note that `Sum(MissedBlocksBitArray)` always equals + `MissedBlocksCounter`. + jailed_until: type: string format: date-time - title: block_time is the timestamp when this msg is submitted to Babylon - msg: - type: string - description: |- - msg is the actual message that is sent by a user and is queued by the - epoching module as string. - title: >- - QueuedMessageResponse is a message that can change the validator set and - is delayed + description: >- + Timestamp until which the validator is jailed due to liveness + downtime. + description: >- + SigningInfoResponse defines the API response containing a finality + provider's signing info - to the end of an epoch - babylon.epoching.v1.ValStateUpdateResponse: + for monitoring their liveness activity. + babylon.mint.v1.QueryAnnualProvisionsResponse: type: object properties: - state_desc: - type: string - description: StateDesc defines the descriptive state. - block_height: + annual_provisions: type: string - format: uint64 - block_time: + format: byte + description: AnnualProvisions is the current annual provisions. + description: |- + QueryAnnualProvisionsResponse is the response type for the + Query/AnnualProvisions RPC method. + babylon.mint.v1.QueryGenesisTimeResponse: + type: object + properties: + genesis_time: type: string format: date-time + description: GenesisTime is the timestamp associated with the first block. description: >- - ValStateUpdateResponse is a message response that records a state update - of a validator. - babylon.epoching.v1.Validator: + QueryGenesisTimeResponse is the response type for the Query/GenesisTime + RPC + + method. + babylon.mint.v1.QueryInflationRateResponse: type: object properties: - addr: + inflation_rate: type: string format: byte - title: addr is the validator's address (in sdk.ValAddress) - power: - type: string + description: InflationRate is the current inflation rate. + description: >- + QueryInflationRateResponse is the response type for the + Query/InflationRate + + RPC method. + babylon.monitor.v1.QueryEndedEpochBtcHeightResponse: + type: object + properties: + btc_light_client_height: + type: integer format: int64 - title: power is the validator's voting power - title: Validator is a message that denotes a validator - cosmos.base.v1beta1.Coin: + title: height of btc light client when epoch ended + title: |- + QueryEndedEpochBtcHeightResponse defines a response type for + EndedEpochBtcHeight RPC method + babylon.monitor.v1.QueryReportedCheckpointBtcHeightResponse: 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. + btc_light_client_height: + type: integer + format: int64 + title: height of btc light client when checkpoint is reported + title: |- + QueryReportedCheckpointBtcHeightResponse defines a response type for + ReportedCheckpointBtcHeight RPC method babylon.checkpointing.v1.BlsPublicKeyListResponse: type: object properties: diff --git a/x/btcstaking/types/events.pb.go b/x/btcstaking/types/events.pb.go index c7b7a9a27..6f95ea2aa 100644 --- a/x/btcstaking/types/events.pb.go +++ b/x/btcstaking/types/events.pb.go @@ -6,9 +6,7 @@ package types import ( fmt "fmt" github_com_babylonlabs_io_babylon_types "github.com/babylonlabs-io/babylon/types" - _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/types/tx/amino" - _ "github.com/cosmos/cosmos-sdk/x/staking/types" _ "github.com/cosmos/gogoproto/gogoproto" proto "github.com/cosmos/gogoproto/proto" io "io" @@ -1247,86 +1245,85 @@ func init() { } var fileDescriptor_74118427820fff75 = []byte{ - // 1264 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xcd, 0x6f, 0xdb, 0xc6, - 0x12, 0xb7, 0x24, 0x7f, 0xae, 0x1d, 0xc7, 0xd9, 0xe7, 0x17, 0xc8, 0x7a, 0x89, 0xe2, 0x28, 0x1f, - 0xf0, 0xcb, 0x7b, 0x91, 0xf2, 0x61, 0xa0, 0xbd, 0x5a, 0xb6, 0x1c, 0x29, 0x35, 0x1c, 0x55, 0xb2, - 0x03, 0xb4, 0x17, 0x62, 0x49, 0x8e, 0xa5, 0xad, 0xa8, 0x5d, 0x82, 0x5c, 0xca, 0xd2, 0xbd, 0x40, - 0xaf, 0x39, 0x17, 0xe8, 0xbd, 0xb7, 0xf6, 0xcf, 0xe8, 0xa5, 0x40, 0x2e, 0x05, 0x8a, 0x1e, 0x8a, - 0x22, 0x39, 0xf4, 0xbf, 0x28, 0x0a, 0xee, 0x2e, 0x29, 0xd1, 0xa6, 0x12, 0xbb, 0x48, 0x2e, 0x82, - 0x76, 0xf7, 0x37, 0xf3, 0x9b, 0xf9, 0xed, 0xce, 0x0c, 0x88, 0x4a, 0x26, 0x31, 0x47, 0x0e, 0x67, - 0x15, 0x53, 0x58, 0xbe, 0x20, 0x3d, 0xca, 0x3a, 0x95, 0xc1, 0xe3, 0x0a, 0x0c, 0x80, 0x09, 0xbf, - 0xec, 0x7a, 0x5c, 0x70, 0xfc, 0x6f, 0x8d, 0x29, 0x8f, 0x31, 0xe5, 0xc1, 0xe3, 0xc2, 0x7a, 0x87, - 0x77, 0xb8, 0x44, 0x54, 0xc2, 0x7f, 0x0a, 0x5c, 0xb8, 0x6b, 0x71, 0xbf, 0xcf, 0xfd, 0xca, 0xd8, - 0x99, 0x09, 0x82, 0x3c, 0x8e, 0xd6, 0x1a, 0x75, 0x3f, 0x9d, 0x76, 0x82, 0x40, 0xe1, 0x36, 0x94, - 0x37, 0x43, 0xd1, 0xa8, 0x85, 0x3e, 0xba, 0x46, 0xfa, 0x94, 0xf1, 0x8a, 0xfc, 0x55, 0x5b, 0xa5, - 0x6f, 0xb3, 0xe8, 0x46, 0x2d, 0x8c, 0x7c, 0x9f, 0x32, 0xe2, 0x50, 0x31, 0x6a, 0x7a, 0x7c, 0x40, - 0x6d, 0xf0, 0x76, 0x3d, 0x20, 0x02, 0x6c, 0x7c, 0x07, 0x21, 0x53, 0x58, 0x86, 0xdb, 0x33, 0xba, - 0x30, 0xcc, 0x67, 0x36, 0x33, 0x5b, 0x4b, 0xd5, 0xb9, 0xef, 0xff, 0xfc, 0xf1, 0x41, 0xa6, 0xb5, - 0x68, 0x0a, 0xab, 0xd9, 0xab, 0xc3, 0x10, 0x6f, 0xa0, 0x59, 0x62, 0xdb, 0x5e, 0x3e, 0x3b, 0x79, - 0x2c, 0xb7, 0xf0, 0x3d, 0x84, 0x2c, 0xde, 0xef, 0x53, 0xdf, 0xa7, 0x9c, 0xe5, 0x73, 0x93, 0x80, - 0x89, 0x03, 0x9c, 0x47, 0x0b, 0x7d, 0xce, 0x68, 0x0f, 0xbc, 0xfc, 0x6c, 0x88, 0x69, 0x45, 0x4b, - 0x5c, 0x40, 0x8b, 0xd4, 0x06, 0x26, 0xa8, 0x18, 0xe5, 0xe7, 0xe4, 0x51, 0xbc, 0x0e, 0xad, 0x4e, - 0xc1, 0xf4, 0xa9, 0x80, 0xfc, 0xbc, 0xb2, 0xd2, 0x4b, 0xfc, 0x5f, 0xb4, 0xe6, 0x83, 0x15, 0x78, - 0x54, 0x8c, 0x0c, 0x8b, 0x33, 0x41, 0x2c, 0x91, 0x5f, 0x90, 0x90, 0xab, 0xd1, 0xfe, 0xae, 0xda, - 0x0e, 0x9d, 0xd8, 0x20, 0x08, 0x75, 0xfc, 0xfc, 0xa2, 0x72, 0xa2, 0x97, 0xa5, 0xbf, 0x32, 0xe8, - 0x3f, 0xa9, 0xe2, 0xd4, 0x6c, 0x7a, 0x61, 0x6d, 0x92, 0x02, 0x64, 0x2f, 0x20, 0x40, 0x6e, 0xba, - 0x00, 0xb3, 0xd3, 0x05, 0x98, 0x7b, 0xbf, 0x00, 0xf3, 0xef, 0x15, 0x60, 0x21, 0x29, 0xc0, 0xab, - 0x0c, 0xba, 0x29, 0x05, 0xa8, 0x1e, 0xed, 0xee, 0x81, 0x03, 0x1d, 0x22, 0x28, 0x67, 0x6d, 0x41, - 0x04, 0x1c, 0xbb, 0x36, 0x11, 0x80, 0xef, 0xa3, 0xab, 0xfa, 0xf9, 0x19, 0x62, 0x68, 0x74, 0x89, - 0xdf, 0x55, 0x3a, 0xb4, 0xae, 0xe8, 0xed, 0xa3, 0x61, 0x9d, 0xf8, 0x5d, 0xfc, 0x0c, 0x2d, 0x31, - 0x38, 0x35, 0xfc, 0xd0, 0x54, 0x8a, 0xb0, 0xfa, 0xe4, 0x41, 0x39, 0xb5, 0x48, 0xca, 0xe7, 0xb8, - 0x02, 0xbf, 0xb5, 0xc8, 0xe0, 0x54, 0xd2, 0x96, 0x4e, 0xd0, 0x75, 0x19, 0x51, 0x1b, 0x1c, 0xb0, - 0x04, 0x1d, 0x40, 0xdb, 0x21, 0x7e, 0x97, 0xb2, 0x0e, 0x3e, 0x40, 0x8b, 0x10, 0xde, 0x0e, 0xb3, - 0x40, 0xc6, 0xb0, 0xfc, 0xe4, 0xd1, 0x14, 0x86, 0x73, 0xb6, 0x35, 0x6d, 0xd7, 0x8a, 0x3d, 0x94, - 0xbe, 0x9e, 0x47, 0xeb, 0x92, 0xa8, 0xc9, 0x4f, 0xc1, 0xdb, 0xa3, 0xbe, 0xd0, 0x19, 0x53, 0x84, - 0xfc, 0xd0, 0x0c, 0x6c, 0xe3, 0xc4, 0xd5, 0x44, 0xf5, 0x29, 0x44, 0x69, 0x0e, 0xd4, 0x66, 0x5b, - 0xb9, 0x38, 0xfb, 0xb0, 0xea, 0x33, 0xad, 0x25, 0xed, 0x7d, 0xdf, 0xc5, 0x27, 0x68, 0xe9, 0x2b, - 0x42, 0x1d, 0xc5, 0x94, 0x95, 0x4c, 0xcf, 0x2e, 0xcd, 0xf4, 0x5c, 0x7a, 0x48, 0x21, 0x5a, 0x54, - 0xbe, 0xf7, 0x5d, 0xec, 0xa0, 0xe5, 0x80, 0x8d, 0x99, 0x72, 0x92, 0xa9, 0x71, 0x69, 0xa6, 0x63, - 0xed, 0x23, 0x85, 0x0b, 0x45, 0xfe, 0xf7, 0x5d, 0xdc, 0x41, 0xeb, 0x61, 0xd5, 0xd8, 0xe0, 0xa8, - 0xe7, 0x60, 0x04, 0xd2, 0x87, 0x7c, 0xdb, 0xcb, 0x4f, 0xb6, 0xdf, 0x45, 0x3b, 0xed, 0x19, 0xd6, - 0x67, 0x5a, 0xd7, 0x4c, 0x61, 0xed, 0x81, 0x33, 0xb1, 0x59, 0xe8, 0xea, 0xd6, 0x36, 0x45, 0x6b, - 0x5c, 0x47, 0x59, 0xb7, 0x27, 0x6f, 0x70, 0xa5, 0xfa, 0xe9, 0x6f, 0xbf, 0xdf, 0xda, 0xee, 0x50, - 0xd1, 0x0d, 0xcc, 0xb2, 0xc5, 0xfb, 0x15, 0x1d, 0x84, 0x43, 0x4c, 0xff, 0x21, 0xe5, 0xd1, 0xb2, - 0x22, 0x46, 0x2e, 0xf8, 0xe5, 0x6a, 0xa3, 0xf9, 0x74, 0xfb, 0x51, 0x33, 0x30, 0x3f, 0x83, 0x51, - 0x2b, 0xeb, 0xf6, 0x0a, 0x1d, 0xdd, 0x27, 0xd2, 0xb5, 0xfe, 0x80, 0x44, 0x54, 0xd7, 0xe3, 0x34, - 0xa9, 0x3f, 0x1c, 0x55, 0x75, 0x16, 0x65, 0x61, 0x50, 0x02, 0x74, 0x3b, 0xb5, 0x03, 0xaa, 0xba, - 0xdc, 0xed, 0x12, 0xd6, 0x01, 0x7c, 0x03, 0xcd, 0xab, 0x3e, 0x98, 0xec, 0x81, 0x73, 0xb2, 0x07, - 0xe2, 0xd2, 0xd9, 0xd2, 0x1f, 0x37, 0xc9, 0xb8, 0xaa, 0x5f, 0xe7, 0xd0, 0xc6, 0xf9, 0x1b, 0x8e, - 0x66, 0xd0, 0xff, 0xd0, 0xea, 0x64, 0x93, 0x39, 0xdb, 0x6b, 0x57, 0xc6, 0xad, 0x06, 0x86, 0xf8, - 0x13, 0xb4, 0x1e, 0x81, 0x79, 0x20, 0xdc, 0x40, 0x18, 0x94, 0xd9, 0x30, 0x4c, 0x32, 0x63, 0x0d, - 0x79, 0x21, 0x11, 0x8d, 0x10, 0x80, 0xff, 0x8f, 0x56, 0x5d, 0xe2, 0x91, 0xbe, 0x6f, 0x0c, 0xc0, - 0x3b, 0x3f, 0xad, 0xae, 0xa8, 0xc3, 0x97, 0xea, 0x0c, 0x3f, 0x43, 0x37, 0x4f, 0xb4, 0x26, 0xe1, - 0xa8, 0x95, 0xa2, 0x18, 0x4a, 0x05, 0x5f, 0x86, 0x38, 0xbb, 0x99, 0x1b, 0x1b, 0x6f, 0x9c, 0x9c, - 0xd1, 0xaf, 0x1a, 0x4a, 0xe3, 0x87, 0xf1, 0x3e, 0x42, 0xd7, 0xc2, 0x60, 0x62, 0x6b, 0x69, 0x3c, - 0x37, 0xc9, 0xbc, 0xaa, 0xce, 0xab, 0xd1, 0x44, 0xd9, 0x42, 0x2b, 0xb1, 0x1c, 0xb4, 0xaf, 0x47, - 0x5f, 0x04, 0x5e, 0x8e, 0xc4, 0xa0, 0x7d, 0x08, 0x53, 0x0a, 0x98, 0xc9, 0x99, 0x1d, 0x63, 0x17, - 0x12, 0x29, 0xc5, 0x87, 0x12, 0xbd, 0x85, 0x56, 0x26, 0xd0, 0x43, 0x35, 0x0d, 0x63, 0xbf, 0x63, - 0xec, 0x30, 0x79, 0xa5, 0x4b, 0xe9, 0x57, 0xfa, 0x4b, 0x06, 0x15, 0xe5, 0x95, 0xee, 0xf2, 0x01, - 0x30, 0xc2, 0x44, 0x9b, 0x76, 0x18, 0x11, 0x81, 0x07, 0x2d, 0xb0, 0x80, 0x0e, 0xc0, 0xc6, 0x0f, - 0xa7, 0x0c, 0x8f, 0x38, 0xbe, 0xe4, 0x0c, 0xd9, 0x46, 0xff, 0xb2, 0xb4, 0xaf, 0x49, 0xad, 0x12, - 0x17, 0xbb, 0x16, 0x21, 0x62, 0xb5, 0x0e, 0xd1, 0x66, 0x6c, 0x35, 0x4e, 0xcf, 0x8f, 0x82, 0x91, - 0x2e, 0x12, 0x17, 0x7d, 0x33, 0x82, 0x1f, 0x47, 0xe8, 0x38, 0xf2, 0x3a, 0x0c, 0x4b, 0x1c, 0x15, - 0x12, 0x69, 0x7d, 0x1e, 0x70, 0x2f, 0xe8, 0xb7, 0x80, 0x58, 0xdd, 0xcb, 0xa7, 0x74, 0x91, 0xda, - 0xf8, 0x39, 0x83, 0xb6, 0xce, 0xd7, 0x46, 0x83, 0x59, 0x4e, 0x10, 0xbe, 0xc4, 0xa6, 0xc7, 0xf9, - 0xc9, 0x3f, 0x95, 0x54, 0x3d, 0x25, 0x4f, 0x18, 0x5d, 0xa0, 0x9d, 0xae, 0x48, 0x86, 0xb0, 0x2c, - 0x8f, 0xea, 0xf2, 0x04, 0xdf, 0x45, 0x08, 0x98, 0x1d, 0xe1, 0x12, 0x82, 0x2d, 0x01, 0xb3, 0x35, - 0x2a, 0x91, 0xcf, 0x6c, 0x7a, 0x3e, 0xdf, 0x45, 0x0f, 0x43, 0xe5, 0xa3, 0xd2, 0x51, 0x5a, 0x83, - 0x5d, 0x23, 0x9e, 0x33, 0xfa, 0x78, 0x59, 0x24, 0xe2, 0xcb, 0xa5, 0xc7, 0xc7, 0xd2, 0x5a, 0x51, - 0x6d, 0xe8, 0x52, 0xef, 0xe3, 0xdc, 0xef, 0x37, 0x59, 0xfd, 0xa2, 0x8e, 0x19, 0x0c, 0x5d, 0xb0, - 0x04, 0xd8, 0xc7, 0x13, 0xb5, 0x76, 0xf9, 0x22, 0xf1, 0xdd, 0xf0, 0xa6, 0x64, 0xd3, 0x88, 0x4d, - 0x92, 0x45, 0x22, 0x11, 0xed, 0x10, 0xa0, 0xad, 0x76, 0x50, 0xe1, 0xac, 0x15, 0x90, 0xb0, 0xa3, - 0x49, 0xe3, 0x84, 0x50, 0xd7, 0x13, 0xc6, 0x12, 0x35, 0xc5, 0x85, 0xe9, 0x70, 0xab, 0xa7, 0xbb, - 0x6f, 0xf8, 0x16, 0xae, 0xa4, 0xba, 0xa8, 0x86, 0x28, 0xd9, 0x81, 0x1f, 0xfc, 0x90, 0x41, 0xd7, - 0xd3, 0x07, 0x0d, 0xbe, 0x87, 0x6e, 0xef, 0x37, 0x0e, 0x77, 0x0e, 0x1a, 0x47, 0x5f, 0x18, 0xcd, - 0xd6, 0x8b, 0x97, 0x8d, 0xbd, 0x5a, 0xcb, 0x68, 0x1f, 0xed, 0x1c, 0x1d, 0xb7, 0x8d, 0xc6, 0xe1, - 0xce, 0xee, 0x51, 0xe3, 0x65, 0x6d, 0x6d, 0x06, 0xdf, 0x41, 0xb7, 0xa6, 0xc2, 0x34, 0x28, 0xf3, - 0x4e, 0xd0, 0xf3, 0x9d, 0xc6, 0x41, 0x6d, 0x6f, 0x2d, 0x8b, 0xef, 0xa2, 0xcd, 0xa9, 0xa0, 0xf6, - 0xc1, 0x4e, 0xbb, 0x5e, 0xdb, 0x5b, 0xcb, 0x55, 0x0f, 0x7f, 0x7a, 0x53, 0xcc, 0xbc, 0x7e, 0x53, - 0xcc, 0xfc, 0xf1, 0xa6, 0x98, 0x79, 0xf5, 0xb6, 0x38, 0xf3, 0xfa, 0x6d, 0x71, 0xe6, 0xd7, 0xb7, - 0xc5, 0x99, 0x2f, 0x2f, 0x30, 0x78, 0x87, 0x93, 0x9f, 0x72, 0x72, 0x0a, 0x9b, 0xf3, 0xf2, 0xab, - 0xec, 0xe9, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x17, 0xaf, 0x52, 0x0e, 0x64, 0x0e, 0x00, 0x00, + // 1237 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x4b, 0x6f, 0xdb, 0x46, + 0x17, 0x35, 0x25, 0x3f, 0xc7, 0x8e, 0xe3, 0xcc, 0xe7, 0x2f, 0x50, 0xd4, 0x44, 0x71, 0x94, 0x07, + 0xdc, 0xb4, 0x91, 0xf2, 0x30, 0xd0, 0x6e, 0x2d, 0x5b, 0x8e, 0x94, 0x1a, 0x8e, 0x4a, 0x59, 0x01, + 0xda, 0x0d, 0x31, 0x24, 0xaf, 0xa4, 0xa9, 0xa8, 0x21, 0x41, 0x0e, 0x65, 0x6a, 0x5f, 0xa0, 0xdb, + 0xac, 0x0b, 0x74, 0xdf, 0x5d, 0xfb, 0x33, 0xba, 0x29, 0x90, 0x4d, 0x81, 0xa2, 0x8b, 0xa2, 0x48, + 0x16, 0xfd, 0x17, 0x45, 0xc1, 0xe1, 0x90, 0x12, 0x6d, 0x2a, 0xb1, 0x8b, 0x64, 0x63, 0x98, 0x33, + 0xe7, 0xde, 0x73, 0xef, 0x99, 0xfb, 0x80, 0x50, 0x59, 0x27, 0xfa, 0xd8, 0xb2, 0x59, 0x55, 0xe7, + 0x86, 0xc7, 0xc9, 0x80, 0xb2, 0x5e, 0x75, 0xf4, 0xa8, 0x0a, 0x23, 0x60, 0xdc, 0xab, 0x38, 0xae, + 0xcd, 0x6d, 0xfc, 0x7f, 0x89, 0xa9, 0x4c, 0x30, 0x95, 0xd1, 0xa3, 0xe2, 0x66, 0xcf, 0xee, 0xd9, + 0x02, 0x51, 0x0d, 0xff, 0x8b, 0xc0, 0xc5, 0x7b, 0xd9, 0x0e, 0xa7, 0x4c, 0x23, 0xdc, 0x15, 0x32, + 0xa4, 0xcc, 0xae, 0x8a, 0xbf, 0xd1, 0x51, 0xf9, 0xfb, 0x1c, 0xba, 0x5e, 0x0f, 0x89, 0x0f, 0x28, + 0x23, 0x16, 0xe5, 0xe3, 0x96, 0x6b, 0x8f, 0xa8, 0x09, 0xee, 0x9e, 0x0b, 0x84, 0x83, 0x89, 0x6f, + 0x23, 0xa4, 0x73, 0x43, 0x73, 0x06, 0x5a, 0x1f, 0x82, 0x82, 0xb2, 0xa5, 0x6c, 0xaf, 0xd4, 0x16, + 0x7e, 0xfc, 0xfb, 0xe7, 0xfb, 0x8a, 0xba, 0xac, 0x73, 0xa3, 0x35, 0x68, 0x40, 0x80, 0xaf, 0xa1, + 0x79, 0x62, 0x9a, 0x6e, 0x21, 0x37, 0x7d, 0x2d, 0x8e, 0xf0, 0x5d, 0x84, 0x0c, 0x7b, 0x38, 0xa4, + 0x9e, 0x47, 0x6d, 0x56, 0xc8, 0x4f, 0x03, 0xa6, 0x2e, 0x70, 0x01, 0x2d, 0x0d, 0x6d, 0x46, 0x07, + 0xe0, 0x16, 0xe6, 0x43, 0x8c, 0x1a, 0x7f, 0xe2, 0x22, 0x5a, 0xa6, 0x26, 0x30, 0x4e, 0xf9, 0xb8, + 0xb0, 0x20, 0xae, 0x92, 0xef, 0xd0, 0xea, 0x04, 0x74, 0x8f, 0x72, 0x28, 0x2c, 0x46, 0x56, 0xf2, + 0x13, 0x7f, 0x8c, 0x36, 0x3c, 0x30, 0x7c, 0x97, 0xf2, 0xb1, 0x66, 0xd8, 0x8c, 0x13, 0x83, 0x17, + 0x96, 0x04, 0xe4, 0x72, 0x7c, 0xbe, 0x17, 0x1d, 0x87, 0x4e, 0x4c, 0xe0, 0x84, 0x5a, 0x5e, 0x61, + 0x39, 0x72, 0x22, 0x3f, 0xcb, 0xff, 0x28, 0xe8, 0xa3, 0x4c, 0x71, 0xea, 0x26, 0x3d, 0xb7, 0x36, + 0x69, 0x01, 0x72, 0xe7, 0x10, 0x20, 0x3f, 0x5b, 0x80, 0xf9, 0xd9, 0x02, 0x2c, 0xbc, 0x5b, 0x80, + 0xc5, 0x77, 0x0a, 0xb0, 0x94, 0x16, 0xe0, 0xa5, 0x82, 0x6e, 0x08, 0x01, 0x6a, 0xc7, 0x7b, 0xfb, + 0x60, 0x41, 0x8f, 0x70, 0x6a, 0xb3, 0x36, 0x27, 0x1c, 0x3a, 0x8e, 0x49, 0x38, 0xe0, 0x7b, 0xe8, + 0xb2, 0xac, 0x31, 0x8d, 0x07, 0x5a, 0x9f, 0x78, 0xfd, 0x48, 0x07, 0xf5, 0x92, 0x3c, 0x3e, 0x0e, + 0x1a, 0xc4, 0xeb, 0xe3, 0xa7, 0x68, 0x85, 0xc1, 0x89, 0xe6, 0x85, 0xa6, 0x42, 0x84, 0xf5, 0xc7, + 0xf7, 0x2b, 0x99, 0x35, 0x5e, 0x39, 0xc3, 0xe5, 0x7b, 0xea, 0x32, 0x83, 0x13, 0x41, 0x5b, 0xee, + 0xa2, 0xab, 0x22, 0xa2, 0x36, 0x58, 0x60, 0x70, 0x3a, 0x82, 0xb6, 0x45, 0xbc, 0x3e, 0x65, 0x3d, + 0x7c, 0x88, 0x96, 0x21, 0x7c, 0x1d, 0x66, 0x80, 0x88, 0x61, 0xf5, 0xf1, 0xc3, 0x19, 0x0c, 0x67, + 0x6c, 0xeb, 0xd2, 0x4e, 0x4d, 0x3c, 0x94, 0xbf, 0x5d, 0x44, 0x9b, 0x82, 0xa8, 0x65, 0x9f, 0x80, + 0xbb, 0x4f, 0x3d, 0x2e, 0x33, 0xa6, 0x08, 0x79, 0xa1, 0x19, 0x98, 0x5a, 0xd7, 0x91, 0x44, 0x8d, + 0x19, 0x44, 0x59, 0x0e, 0xa2, 0xc3, 0x76, 0xe4, 0xe2, 0x74, 0x61, 0x35, 0xe6, 0xd4, 0x15, 0xe9, + 0xfd, 0xc0, 0xc1, 0x5d, 0xb4, 0xf2, 0x0d, 0xa1, 0x56, 0xc4, 0x94, 0x13, 0x4c, 0x4f, 0x2f, 0xcc, + 0xf4, 0x4c, 0x78, 0xc8, 0x20, 0x5a, 0x8e, 0x7c, 0x1f, 0x38, 0xd8, 0x42, 0xab, 0x3e, 0x9b, 0x30, + 0xe5, 0x05, 0x53, 0xf3, 0xc2, 0x4c, 0x1d, 0xe9, 0x23, 0x83, 0x0b, 0xc5, 0xfe, 0x0f, 0x1c, 0xdc, + 0x43, 0x9b, 0x61, 0xd7, 0x98, 0x60, 0x45, 0xe5, 0xa0, 0xf9, 0xc2, 0x87, 0xa8, 0xed, 0xd5, 0xc7, + 0x3b, 0x6f, 0xa3, 0x9d, 0x55, 0x86, 0x8d, 0x39, 0xf5, 0x8a, 0xce, 0x8d, 0x7d, 0xb0, 0xa6, 0x0e, + 0x8b, 0x7d, 0x39, 0xda, 0x66, 0x68, 0x8d, 0x1b, 0x28, 0xe7, 0x0c, 0xc4, 0x0b, 0xae, 0xd5, 0x3e, + 0xff, 0xe3, 0xcf, 0x9b, 0x3b, 0x3d, 0xca, 0xfb, 0xbe, 0x5e, 0x31, 0xec, 0x61, 0x55, 0x06, 0x61, + 0x11, 0xdd, 0x7b, 0x40, 0xed, 0xf8, 0xb3, 0xca, 0xc7, 0x0e, 0x78, 0x95, 0x5a, 0xb3, 0xf5, 0x64, + 0xe7, 0x61, 0xcb, 0xd7, 0xbf, 0x80, 0xb1, 0x9a, 0x73, 0x06, 0xc5, 0x9e, 0x9c, 0x13, 0xd9, 0x5a, + 0xbf, 0x47, 0x22, 0x2a, 0xfb, 0x71, 0x96, 0xd4, 0xef, 0x8f, 0xaa, 0x36, 0x8f, 0x72, 0x30, 0x2a, + 0x03, 0xba, 0x95, 0x39, 0x01, 0xa3, 0xbe, 0xdc, 0xeb, 0x13, 0xd6, 0x03, 0x7c, 0x1d, 0x2d, 0x46, + 0x73, 0x30, 0x3d, 0x03, 0x17, 0xc4, 0x0c, 0xc4, 0xe5, 0xd3, 0xad, 0x3f, 0x19, 0x92, 0x49, 0x57, + 0xbf, 0xca, 0xa3, 0x6b, 0x67, 0x5f, 0x38, 0xde, 0x41, 0x9f, 0xa0, 0xf5, 0xe9, 0x21, 0x73, 0x7a, + 0xd6, 0xae, 0x4d, 0x46, 0x0d, 0x04, 0xf8, 0x33, 0xb4, 0x19, 0x83, 0x6d, 0x9f, 0x3b, 0x3e, 0xd7, + 0x28, 0x33, 0x21, 0x48, 0x33, 0x63, 0x09, 0x79, 0x2e, 0x10, 0xcd, 0x10, 0x80, 0x3f, 0x45, 0xeb, + 0x0e, 0x71, 0xc9, 0xd0, 0xd3, 0x46, 0xe0, 0x9e, 0xdd, 0x56, 0x97, 0xa2, 0xcb, 0x17, 0xd1, 0x1d, + 0x7e, 0x8a, 0x6e, 0x74, 0xa5, 0x26, 0x9a, 0x23, 0x45, 0xd1, 0x22, 0x15, 0x3c, 0x11, 0xe2, 0xfc, + 0x56, 0x7e, 0x62, 0x7c, 0xad, 0x7b, 0x4a, 0xbf, 0x5a, 0x28, 0x8d, 0x17, 0xc6, 0xfb, 0x10, 0x5d, + 0x09, 0x83, 0x49, 0xac, 0x85, 0xf1, 0xc2, 0x34, 0xf3, 0x7a, 0x74, 0x5f, 0x8b, 0x37, 0xca, 0x36, + 0x5a, 0x4b, 0xe4, 0xa0, 0x43, 0xb9, 0xfa, 0x62, 0xf0, 0x6a, 0x2c, 0x06, 0x1d, 0x42, 0x98, 0x92, + 0xcf, 0x74, 0x9b, 0x99, 0x09, 0x76, 0x29, 0x95, 0x52, 0x72, 0x29, 0xd0, 0xdb, 0x68, 0x6d, 0x0a, + 0x1d, 0x44, 0xdb, 0x30, 0xf1, 0x3b, 0xc1, 0x06, 0xe9, 0x27, 0x5d, 0xc9, 0x7e, 0xd2, 0xdf, 0x14, + 0x54, 0x12, 0x4f, 0xba, 0x67, 0x8f, 0x80, 0x11, 0xc6, 0xdb, 0xb4, 0xc7, 0x08, 0xf7, 0x5d, 0x50, + 0xc1, 0x00, 0x3a, 0x02, 0x13, 0x3f, 0x98, 0xb1, 0x3c, 0x92, 0xf8, 0xd2, 0x3b, 0x64, 0x07, 0xfd, + 0xcf, 0x90, 0xbe, 0xa6, 0xb5, 0x4a, 0x3d, 0xec, 0x46, 0x8c, 0x48, 0xd4, 0x3a, 0x42, 0x5b, 0x89, + 0xd5, 0x24, 0x3d, 0x2f, 0x0e, 0x46, 0xb8, 0x48, 0x3d, 0xf4, 0x8d, 0x18, 0xde, 0x89, 0xd1, 0x49, + 0xe4, 0x0d, 0x08, 0xca, 0x36, 0x2a, 0xa6, 0xd2, 0xfa, 0xd2, 0xb7, 0x5d, 0x7f, 0xa8, 0x02, 0x31, + 0xfa, 0x17, 0x4f, 0xe9, 0x3c, 0xbd, 0xf1, 0xab, 0x82, 0xb6, 0xcf, 0xf6, 0x46, 0x93, 0x19, 0x96, + 0x1f, 0x56, 0x62, 0xcb, 0xb5, 0xed, 0xee, 0x7f, 0x95, 0x34, 0x2a, 0x25, 0x97, 0x6b, 0x7d, 0xa0, + 0xbd, 0x3e, 0x4f, 0x87, 0xb0, 0x2a, 0xae, 0x1a, 0xe2, 0x06, 0xdf, 0x41, 0x08, 0x98, 0x19, 0xe3, + 0x52, 0x82, 0xad, 0x00, 0x33, 0x25, 0x2a, 0x95, 0xcf, 0x7c, 0x76, 0x3e, 0x3f, 0xc4, 0x85, 0x11, + 0xe5, 0x13, 0xa5, 0x13, 0x69, 0x0d, 0x66, 0x9d, 0xb8, 0xd6, 0xf8, 0xc3, 0x65, 0x91, 0x8a, 0x2f, + 0x9f, 0x1d, 0x1f, 0xcb, 0x1a, 0x45, 0xf5, 0xc0, 0xa1, 0xee, 0x87, 0x79, 0xdf, 0xef, 0x72, 0xb2, + 0xa2, 0x3a, 0x0c, 0x02, 0x07, 0x0c, 0x0e, 0x66, 0x67, 0xaa, 0xd7, 0x2e, 0xde, 0x24, 0x9e, 0x13, + 0xbe, 0x94, 0x18, 0x1a, 0x89, 0x49, 0xba, 0x49, 0x04, 0xa2, 0x1d, 0x02, 0xa4, 0xd5, 0x2e, 0x2a, + 0x9e, 0xb6, 0x02, 0x12, 0x4e, 0x34, 0x61, 0x9c, 0x12, 0xea, 0x6a, 0xca, 0x58, 0xa0, 0x66, 0xb8, + 0xd0, 0x2d, 0xdb, 0x18, 0xc8, 0xe9, 0x1b, 0xd6, 0xc2, 0xa5, 0x4c, 0x17, 0xb5, 0x10, 0x25, 0x26, + 0xf0, 0xfd, 0x9f, 0x14, 0x74, 0x35, 0x7b, 0xd1, 0xe0, 0xbb, 0xe8, 0xd6, 0x41, 0xf3, 0x68, 0xf7, + 0xb0, 0x79, 0xfc, 0x95, 0xd6, 0x52, 0x9f, 0xbf, 0x68, 0xee, 0xd7, 0x55, 0xad, 0x7d, 0xbc, 0x7b, + 0xdc, 0x69, 0x6b, 0xcd, 0xa3, 0xdd, 0xbd, 0xe3, 0xe6, 0x8b, 0xfa, 0xc6, 0x1c, 0xbe, 0x8d, 0x6e, + 0xce, 0x84, 0x49, 0x90, 0xf2, 0x56, 0xd0, 0xb3, 0xdd, 0xe6, 0x61, 0x7d, 0x7f, 0x23, 0x87, 0xef, + 0xa0, 0xad, 0x99, 0xa0, 0xf6, 0xe1, 0x6e, 0xbb, 0x51, 0xdf, 0xdf, 0xc8, 0xd7, 0x8e, 0x7e, 0x79, + 0x5d, 0x52, 0x5e, 0xbd, 0x2e, 0x29, 0x7f, 0xbd, 0x2e, 0x29, 0x2f, 0xdf, 0x94, 0xe6, 0x5e, 0xbd, + 0x29, 0xcd, 0xfd, 0xfe, 0xa6, 0x34, 0xf7, 0xf5, 0x39, 0x16, 0x6f, 0x30, 0xfd, 0x7b, 0x4d, 0x6c, + 0x61, 0x7d, 0x51, 0xfc, 0x2a, 0x7b, 0xf2, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xdc, 0x3c, + 0x31, 0x23, 0x0e, 0x00, 0x00, } func (m *EventFinalityProviderCreated) Marshal() (dAtA []byte, err error) { diff --git a/x/checkpointing/types/query.pb.go b/x/checkpointing/types/query.pb.go index a83900823..f4e2e75ec 100644 --- a/x/checkpointing/types/query.pb.go +++ b/x/checkpointing/types/query.pb.go @@ -1068,90 +1068,90 @@ func init() { } var fileDescriptor_113f1ca5c3c2ca44 = []byte{ - // 1322 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0x5b, 0x8f, 0xdb, 0xc4, - 0x17, 0xaf, 0xf7, 0xa6, 0xff, 0x9e, 0x6c, 0xb7, 0xdb, 0x51, 0xff, 0x6d, 0x48, 0xdb, 0x6c, 0x31, - 0x6d, 0xe9, 0x45, 0xb5, 0x95, 0x6c, 0xf7, 0xa2, 0x5e, 0xe9, 0x96, 0x42, 0xa5, 0x5e, 0xb4, 0xf5, - 0x52, 0x90, 0x78, 0xa8, 0x19, 0x7b, 0xa7, 0x8e, 0x89, 0x63, 0xbb, 0x9e, 0xf1, 0x6e, 0xa3, 0x52, - 0x21, 0xc1, 0x17, 0x28, 0x42, 0xe2, 0x91, 0x2f, 0xc0, 0x0b, 0xbc, 0xf1, 0xcc, 0x53, 0x25, 0x78, - 0xa8, 0xd4, 0x07, 0x10, 0x48, 0x50, 0xb5, 0x88, 0xcf, 0x81, 0x66, 0x3c, 0xb9, 0x38, 0x89, 0x93, - 0x4d, 0xba, 0x2f, 0xbc, 0xc5, 0x67, 0xce, 0x39, 0xf3, 0x3b, 0xd7, 0xf9, 0x05, 0x8e, 0x5a, 0xd8, - 0xaa, 0x7b, 0x81, 0xaf, 0xdb, 0x15, 0x62, 0x57, 0xc3, 0xc0, 0xf5, 0x99, 0xeb, 0x3b, 0xfa, 0x66, - 0x49, 0x7f, 0x10, 0x93, 0xa8, 0xae, 0x85, 0x51, 0xc0, 0x02, 0x94, 0x97, 0x5a, 0x5a, 0x4a, 0x4b, - 0xdb, 0x2c, 0x15, 0xf6, 0x39, 0x81, 0x13, 0x08, 0x25, 0x9d, 0xff, 0x4a, 0xf4, 0x0b, 0x87, 0x9c, - 0x20, 0x70, 0x3c, 0xa2, 0xe3, 0xd0, 0xd5, 0xb1, 0xef, 0x07, 0x0c, 0x33, 0x37, 0xf0, 0xa9, 0x3c, - 0x9d, 0x97, 0xa7, 0xe2, 0xcb, 0x8a, 0xef, 0xeb, 0xcc, 0xad, 0x11, 0xca, 0x70, 0x2d, 0x94, 0x0a, - 0xc7, 0x33, 0x41, 0x59, 0x1e, 0x35, 0xab, 0x44, 0xc2, 0x2a, 0x9c, 0xcc, 0xd4, 0x6b, 0x09, 0xa4, - 0xea, 0x29, 0x3b, 0xa0, 0xb5, 0x80, 0xea, 0x16, 0xa6, 0x24, 0x09, 0x4d, 0xdf, 0x2c, 0x59, 0x84, - 0xe1, 0x92, 0x1e, 0x62, 0xc7, 0xf5, 0x05, 0xc0, 0x44, 0x57, 0xfd, 0x4e, 0x81, 0xc3, 0x77, 0xb8, - 0x8a, 0x81, 0xb7, 0xae, 0x36, 0x1d, 0xdd, 0x74, 0x29, 0x33, 0xc8, 0x83, 0x98, 0x50, 0x86, 0x56, - 0x61, 0x8a, 0x32, 0xcc, 0x62, 0x9a, 0x57, 0x8e, 0x28, 0x27, 0x66, 0xcb, 0xa7, 0xb4, 0xac, 0x04, - 0x69, 0x2d, 0x07, 0xeb, 0xc2, 0xc2, 0x90, 0x96, 0xe8, 0x3d, 0x80, 0xd6, 0xcd, 0xf9, 0xb1, 0x23, - 0xca, 0x89, 0x5c, 0xf9, 0xb8, 0x96, 0xc0, 0xd4, 0x38, 0x4c, 0x2d, 0xa9, 0x80, 0x84, 0xa9, 0xad, - 0x61, 0x87, 0xc8, 0xfb, 0x8d, 0x36, 0x4b, 0xf5, 0x67, 0x05, 0x8a, 0x59, 0x68, 0x69, 0x18, 0xf8, - 0x94, 0xa0, 0x4f, 0x60, 0x4f, 0x84, 0xb7, 0xcc, 0x16, 0x36, 0x8e, 0x7b, 0xfc, 0x44, 0xae, 0xbc, - 0x9c, 0x8d, 0x3b, 0xe5, 0xed, 0x23, 0x97, 0x55, 0x6e, 0x11, 0x86, 0x1b, 0x1e, 0x8d, 0xd9, 0xa8, - 0xfd, 0x98, 0xa2, 0xf7, 0x7b, 0x04, 0xf3, 0xf6, 0xc0, 0x60, 0xa4, 0xb3, 0xf6, 0x68, 0x56, 0xe0, - 0x8d, 0xee, 0x60, 0x1a, 0x69, 0x3f, 0x08, 0xd3, 0x24, 0x0c, 0xec, 0x8a, 0xe9, 0xc7, 0x35, 0x91, - 0xf9, 0x09, 0xe3, 0x7f, 0x42, 0x70, 0x3b, 0xae, 0xa9, 0x9f, 0x41, 0xa1, 0x97, 0xa5, 0x4c, 0xc1, - 0x3d, 0x98, 0x4d, 0xa7, 0x40, 0xd8, 0xbf, 0x46, 0x06, 0x76, 0xa7, 0x32, 0xa0, 0x6e, 0xf4, 0xba, - 0x9d, 0x36, 0x80, 0xa7, 0x6b, 0xad, 0x8c, 0x5c, 0xeb, 0xa7, 0x0a, 0x1c, 0xec, 0x79, 0xcd, 0x7f, - 0xaf, 0xd0, 0x5f, 0x2a, 0x70, 0x48, 0x84, 0xb2, 0xea, 0xd1, 0xb5, 0xd8, 0xf2, 0x5c, 0xfb, 0x06, - 0xa9, 0xb7, 0xcf, 0x58, 0xbf, 0x62, 0xef, 0xd8, 0xf0, 0x7c, 0xa5, 0x40, 0xbe, 0x1b, 0x80, 0xcc, - 0xe6, 0x69, 0xd8, 0xbb, 0x89, 0x3d, 0x77, 0x03, 0xb3, 0x20, 0x32, 0xf1, 0xc6, 0x46, 0x44, 0x68, - 0x32, 0xf0, 0xd3, 0xc6, 0x5c, 0xf3, 0xe0, 0x4a, 0x22, 0x47, 0xc7, 0x60, 0x0f, 0x5f, 0x4e, 0x61, - 0x6c, 0xf1, 0x05, 0x65, 0x56, 0xc8, 0x43, 0x01, 0x6b, 0xda, 0x98, 0xb1, 0x84, 0xff, 0x1b, 0xa4, - 0x7e, 0x9d, 0x3c, 0x44, 0x6f, 0xc2, 0xcc, 0x66, 0xc0, 0x53, 0x6f, 0x86, 0xc1, 0x16, 0x89, 0xf2, - 0xe3, 0x22, 0xb0, 0x5c, 0x22, 0x5b, 0xe3, 0x22, 0xf5, 0x79, 0x63, 0xfd, 0x64, 0x02, 0x73, 0xe1, - 0x40, 0x0b, 0xd8, 0x96, 0xcb, 0x2a, 0xa6, 0xdc, 0x8b, 0x8d, 0x72, 0x97, 0xb3, 0xcb, 0x9d, 0xe5, - 0xd4, 0xd8, 0xd7, 0x74, 0xc9, 0x9b, 0x60, 0xd5, 0xa3, 0x37, 0x48, 0x7d, 0x07, 0xeb, 0xbd, 0x04, - 0x07, 0x44, 0x50, 0xd7, 0x78, 0x09, 0xe5, 0x2a, 0xdc, 0xce, 0x58, 0xdf, 0x83, 0x7c, 0xb7, 0x9d, - 0xcc, 0xc3, 0x0e, 0xac, 0x61, 0xf5, 0x1a, 0xa8, 0xc9, 0x44, 0x11, 0x9b, 0xf8, 0xac, 0xed, 0x96, - 0xab, 0x41, 0xdc, 0xda, 0x3c, 0xf3, 0x90, 0x4b, 0x20, 0xda, 0x5c, 0x2a, 0x41, 0x82, 0x10, 0x09, - 0x3d, 0xf5, 0x9b, 0x31, 0x78, 0xab, 0xaf, 0x1f, 0x09, 0xf9, 0x20, 0x4c, 0x33, 0x37, 0x34, 0x85, - 0x65, 0x23, 0x56, 0xe6, 0x86, 0x42, 0xbf, 0xf3, 0x96, 0xb1, 0xce, 0x5b, 0xd0, 0x03, 0x98, 0x49, - 0x60, 0x4b, 0x8d, 0x71, 0x51, 0xed, 0xdb, 0xd9, 0x61, 0x6f, 0x03, 0x92, 0xd6, 0x26, 0xbb, 0xe6, - 0xb3, 0xa8, 0x6e, 0xe4, 0x68, 0x4b, 0x52, 0xb8, 0x04, 0x73, 0x9d, 0x0a, 0x68, 0x0e, 0xc6, 0xab, - 0xa4, 0x2e, 0x47, 0x81, 0xff, 0x44, 0xfb, 0x60, 0x72, 0x13, 0x7b, 0x31, 0x91, 0x98, 0x93, 0x8f, - 0x73, 0x63, 0x2b, 0x8a, 0xfa, 0x29, 0x1c, 0x15, 0x20, 0x6e, 0x62, 0xca, 0xd2, 0x7b, 0x26, 0xdd, - 0x04, 0x3b, 0x51, 0xcb, 0xcf, 0xe1, 0xd8, 0x80, 0xbb, 0x64, 0x15, 0x3e, 0xcc, 0x78, 0x0d, 0xf4, - 0x6d, 0xae, 0xc9, 0xac, 0x57, 0xe0, 0x57, 0x05, 0xfe, 0xdf, 0xfb, 0xfd, 0xe9, 0xbb, 0xcd, 0x8e, - 0xc2, 0xac, 0xe5, 0x05, 0x76, 0xd5, 0xac, 0x60, 0x5a, 0x49, 0xaf, 0x8e, 0xc0, 0xae, 0x5e, 0xc7, - 0xb4, 0xc2, 0x57, 0xc7, 0x7e, 0x98, 0xb2, 0x5c, 0x56, 0xc3, 0xa1, 0x58, 0x1a, 0x33, 0x86, 0xfc, - 0x42, 0x36, 0xec, 0xe6, 0xe3, 0x5f, 0x8b, 0x3d, 0xe6, 0x9a, 0xd4, 0x75, 0xf2, 0x13, 0xfc, 0x78, - 0xf5, 0xf2, 0xef, 0x7f, 0xce, 0x9f, 0x77, 0x5c, 0x56, 0x89, 0x2d, 0xcd, 0x0e, 0x6a, 0xba, 0x8c, - 0xcc, 0xc3, 0x16, 0x3d, 0xe3, 0x06, 0x7a, 0x93, 0x3a, 0x45, 0xf5, 0x90, 0x05, 0x9c, 0x58, 0x95, - 0xca, 0x0b, 0x2b, 0x25, 0x6d, 0xdd, 0x75, 0x7c, 0xcc, 0xe2, 0x88, 0x18, 0x39, 0xcb, 0xa3, 0xb7, - 0xb8, 0xd3, 0x75, 0xd7, 0x51, 0xff, 0x51, 0xe0, 0x70, 0x3a, 0xef, 0xe4, 0x6e, 0xb8, 0x81, 0x59, - 0x73, 0xd8, 0xd1, 0x3b, 0x30, 0xc9, 0xcb, 0x40, 0x46, 0xa8, 0x5f, 0x62, 0xc8, 0xdb, 0x5f, 0x76, - 0xf7, 0x06, 0xa1, 0xb6, 0xcc, 0x01, 0x24, 0xa2, 0x77, 0x09, 0xb5, 0xf9, 0xf2, 0x94, 0x79, 0x22, - 0xae, 0x53, 0x61, 0x8d, 0xe5, 0x99, 0x64, 0x49, 0x88, 0xd0, 0x65, 0x80, 0x44, 0x85, 0x73, 0x4a, - 0x91, 0x89, 0x5c, 0xb9, 0xa0, 0x25, 0x84, 0x53, 0x6b, 0x10, 0x4e, 0xed, 0x83, 0x06, 0xe1, 0x5c, - 0x9d, 0x78, 0xf2, 0xd7, 0xbc, 0x62, 0x4c, 0x0b, 0x1b, 0x2e, 0x55, 0xbf, 0x1d, 0x87, 0xc3, 0x7d, - 0x9f, 0x44, 0x74, 0x15, 0x26, 0xec, 0x6a, 0x38, 0x72, 0xcb, 0x08, 0xe3, 0xb6, 0x76, 0x1f, 0x1b, - 0x99, 0x41, 0x76, 0xe4, 0x6b, 0xbc, 0x2b, 0x5f, 0x26, 0xf0, 0x1a, 0x9a, 0xd8, 0x71, 0x22, 0x33, - 0xac, 0xbe, 0x5e, 0x5f, 0x34, 0x1f, 0x0d, 0x9e, 0x2c, 0x7a, 0xc5, 0x71, 0xa2, 0xb5, 0x2a, 0xef, - 0x6a, 0xf1, 0x8c, 0x99, 0x34, 0xae, 0xe5, 0x27, 0x93, 0xae, 0x16, 0x82, 0xf5, 0xb8, 0x86, 0xee, - 0xc2, 0xb4, 0xe7, 0xde, 0x27, 0x76, 0xdd, 0xf6, 0x48, 0x7e, 0x6a, 0x10, 0x0d, 0xe9, 0xdb, 0x5c, - 0x46, 0xcb, 0x53, 0xf9, 0x05, 0xc0, 0xa4, 0x98, 0x72, 0xf4, 0x93, 0x02, 0x7b, 0xbb, 0x48, 0x2f, - 0x5a, 0x1e, 0xb4, 0x0d, 0x33, 0x48, 0x7d, 0x61, 0x65, 0x78, 0xc3, 0x04, 0x9d, 0x7a, 0xee, 0x8b, - 0xe7, 0x7f, 0x7f, 0x3d, 0x76, 0x16, 0x95, 0xf5, 0xcc, 0x3f, 0x24, 0x1d, 0xb4, 0x4c, 0x7f, 0x94, - 0x94, 0xe9, 0x31, 0xfa, 0x51, 0x81, 0xdd, 0x29, 0xcf, 0x68, 0x61, 0x18, 0x1c, 0x0d, 0xf0, 0x67, - 0x87, 0x33, 0x92, 0xc0, 0x2f, 0x08, 0xe0, 0x4b, 0xe8, 0xec, 0x76, 0x81, 0xeb, 0x8f, 0x9a, 0x5b, - 0xec, 0x31, 0xfa, 0x5e, 0x81, 0xd9, 0x34, 0x11, 0x45, 0x43, 0xc1, 0x68, 0xec, 0xfe, 0xc2, 0xe2, - 0x90, 0x56, 0x12, 0x7d, 0x49, 0xa0, 0x3f, 0x8d, 0x4e, 0x6e, 0x3b, 0xed, 0xbc, 0x65, 0xe6, 0x3a, - 0x19, 0x10, 0x5a, 0x1a, 0x70, 0x7d, 0x06, 0x43, 0x2d, 0x2c, 0x0f, 0x6d, 0x27, 0x81, 0x5f, 0x14, - 0xc0, 0x97, 0xd1, 0xa2, 0xde, 0xf7, 0x8f, 0x6e, 0x28, 0x8c, 0x05, 0xaf, 0x4b, 0xe5, 0xfd, 0x07, - 0x05, 0x72, 0x6d, 0xaf, 0x39, 0x2a, 0x0d, 0xc0, 0xd1, 0x4d, 0xb9, 0x0a, 0xe5, 0x61, 0x4c, 0x24, - 0xea, 0xf3, 0x02, 0xf5, 0x22, 0x5a, 0xc8, 0x46, 0x2d, 0x40, 0xa6, 0xc0, 0xea, 0x72, 0x57, 0xfd, - 0xa2, 0xc0, 0xfe, 0xde, 0x3c, 0x04, 0x5d, 0x18, 0x91, 0xbe, 0x24, 0x91, 0x5c, 0x7c, 0x2d, 0xf2, - 0xa3, 0x2e, 0x8a, 0xa0, 0x74, 0x74, 0x66, 0x50, 0x50, 0xe7, 0xda, 0x89, 0x17, 0xfa, 0x43, 0x81, - 0x7c, 0x16, 0xcb, 0x40, 0x97, 0x06, 0x40, 0x1a, 0x40, 0x85, 0x0a, 0x97, 0x47, 0xb6, 0x97, 0x41, - 0x5d, 0x12, 0x41, 0xad, 0xa0, 0xa5, 0xec, 0xa0, 0x3c, 0x4c, 0x99, 0xd9, 0x39, 0xdb, 0x72, 0x27, - 0xad, 0xde, 0x79, 0xfa, 0xb2, 0xa8, 0x3c, 0x7b, 0x59, 0x54, 0x5e, 0xbc, 0x2c, 0x2a, 0x4f, 0x5e, - 0x15, 0x77, 0x3d, 0x7b, 0x55, 0xdc, 0xf5, 0xdb, 0xab, 0xe2, 0xae, 0x8f, 0x97, 0x07, 0x3f, 0x1c, - 0x0f, 0x3b, 0x2e, 0x63, 0xf5, 0x90, 0x50, 0x6b, 0x4a, 0xbc, 0xbd, 0x0b, 0xff, 0x06, 0x00, 0x00, - 0xff, 0xff, 0x7b, 0x7c, 0xcd, 0x82, 0x70, 0x12, 0x00, 0x00, + // 1314 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcb, 0x6f, 0xdc, 0x44, + 0x18, 0xaf, 0xf3, 0x12, 0xf9, 0x36, 0x4d, 0xd3, 0x51, 0x69, 0x97, 0x6d, 0xbb, 0x29, 0xa6, 0x85, + 0x3e, 0x54, 0x5b, 0xbb, 0x69, 0x1e, 0xea, 0x93, 0xa6, 0x14, 0x2a, 0xf5, 0xa1, 0xd4, 0xa1, 0x20, + 0x71, 0xa8, 0x19, 0x3b, 0x53, 0xef, 0xb0, 0xde, 0xb5, 0xeb, 0x19, 0x27, 0xb5, 0x4a, 0x85, 0x04, + 0xff, 0x40, 0x11, 0x12, 0x47, 0xfe, 0x01, 0x2e, 0x70, 0xe3, 0xcc, 0xa9, 0x12, 0x1c, 0x2a, 0xf5, + 0x00, 0x02, 0x09, 0xaa, 0x16, 0xf1, 0x77, 0xa0, 0x19, 0xcf, 0x3e, 0xbc, 0x89, 0xb3, 0xd9, 0x34, + 0x17, 0x6e, 0xeb, 0x6f, 0xbe, 0xc7, 0xef, 0x7b, 0xcc, 0x37, 0xbf, 0x85, 0xa3, 0x0e, 0x76, 0x12, + 0x3f, 0x68, 0x9a, 0x6e, 0x8d, 0xb8, 0xf5, 0x30, 0xa0, 0x4d, 0x4e, 0x9b, 0x9e, 0xb9, 0x5a, 0x31, + 0xef, 0xc7, 0x24, 0x4a, 0x8c, 0x30, 0x0a, 0x78, 0x80, 0x8a, 0x4a, 0xcb, 0xc8, 0x68, 0x19, 0xab, + 0x95, 0xd2, 0x3e, 0x2f, 0xf0, 0x02, 0xa9, 0x64, 0x8a, 0x5f, 0xa9, 0x7e, 0xe9, 0x90, 0x17, 0x04, + 0x9e, 0x4f, 0x4c, 0x1c, 0x52, 0x13, 0x37, 0x9b, 0x01, 0xc7, 0x9c, 0x06, 0x4d, 0xa6, 0x4e, 0xa7, + 0xd5, 0xa9, 0xfc, 0x72, 0xe2, 0x7b, 0x26, 0xa7, 0x0d, 0xc2, 0x38, 0x6e, 0x84, 0x4a, 0xe1, 0x44, + 0x2e, 0xa8, 0x8e, 0x40, 0xa9, 0x9e, 0x74, 0x03, 0xd6, 0x08, 0x98, 0xe9, 0x60, 0x46, 0x52, 0xc8, + 0xe6, 0x6a, 0xc5, 0x21, 0x1c, 0x57, 0xcc, 0x10, 0x7b, 0xb4, 0x29, 0x03, 0xa7, 0xba, 0xfa, 0xf7, + 0x1a, 0x1c, 0xbe, 0x2d, 0x54, 0x2c, 0xbc, 0x76, 0xa5, 0xed, 0xe8, 0x06, 0x65, 0xdc, 0x22, 0xf7, + 0x63, 0xc2, 0x38, 0x5a, 0x84, 0x31, 0xc6, 0x31, 0x8f, 0x59, 0x51, 0x3b, 0xa2, 0x1d, 0x9f, 0xac, + 0x9e, 0x34, 0xf2, 0x12, 0x37, 0x3a, 0x0e, 0x96, 0xa5, 0x85, 0xa5, 0x2c, 0xd1, 0xfb, 0x00, 0x9d, + 0xc8, 0xc5, 0xa1, 0x23, 0xda, 0xf1, 0x42, 0xf5, 0x6d, 0x23, 0x85, 0x69, 0x08, 0x98, 0x46, 0x5a, + 0x59, 0x05, 0xd3, 0x58, 0xc2, 0x1e, 0x51, 0xf1, 0xad, 0x2e, 0x4b, 0xfd, 0x17, 0x0d, 0xca, 0x79, + 0x68, 0x59, 0x18, 0x34, 0x19, 0x41, 0x9f, 0xc2, 0x9e, 0x08, 0xaf, 0xd9, 0x1d, 0x6c, 0x02, 0xf7, + 0xf0, 0xf1, 0x42, 0x75, 0x3e, 0x1f, 0x77, 0xc6, 0xdb, 0xc7, 0x94, 0xd7, 0x6e, 0x12, 0x8e, 0x5b, + 0x1e, 0xad, 0xc9, 0xa8, 0xfb, 0x98, 0xa1, 0x0f, 0x36, 0x48, 0xe6, 0x9d, 0xbe, 0xc9, 0x28, 0x67, + 0xdd, 0xd9, 0x2c, 0xc0, 0x1b, 0xeb, 0x93, 0x69, 0x95, 0xfd, 0x20, 0x8c, 0x93, 0x30, 0x70, 0x6b, + 0x76, 0x33, 0x6e, 0xc8, 0xca, 0x8f, 0x58, 0xaf, 0x49, 0xc1, 0xad, 0xb8, 0xa1, 0x7f, 0x0e, 0xa5, + 0x8d, 0x2c, 0x55, 0x09, 0xee, 0xc2, 0x64, 0xb6, 0x04, 0xd2, 0xfe, 0x15, 0x2a, 0xb0, 0x3b, 0x53, + 0x01, 0x7d, 0x65, 0xa3, 0xe8, 0xac, 0x05, 0x3c, 0xdb, 0x6b, 0x6d, 0xdb, 0xbd, 0x7e, 0xa2, 0xc1, + 0xc1, 0x0d, 0xc3, 0xfc, 0xff, 0x1a, 0xfd, 0x95, 0x06, 0x87, 0x64, 0x2a, 0x8b, 0x3e, 0x5b, 0x8a, + 0x1d, 0x9f, 0xba, 0xd7, 0x49, 0xd2, 0x7d, 0xc7, 0x36, 0x6b, 0xf6, 0x8e, 0x5d, 0x9e, 0xaf, 0x35, + 0x28, 0xae, 0x07, 0xa0, 0xaa, 0x79, 0x0a, 0xf6, 0xae, 0x62, 0x9f, 0xae, 0x60, 0x1e, 0x44, 0x36, + 0x5e, 0x59, 0x89, 0x08, 0x4b, 0x2f, 0xfc, 0xb8, 0x35, 0xd5, 0x3e, 0xb8, 0x9c, 0xca, 0xd1, 0x31, + 0xd8, 0xe3, 0xf8, 0xcc, 0x0e, 0x63, 0xc7, 0xae, 0x93, 0xc4, 0xae, 0x91, 0x07, 0x12, 0xd6, 0xb8, + 0x35, 0xe1, 0x48, 0xff, 0xd7, 0x49, 0x72, 0x8d, 0x3c, 0x40, 0x6f, 0xc2, 0xc4, 0x6a, 0x20, 0x4a, + 0x6f, 0x87, 0xc1, 0x1a, 0x89, 0x8a, 0xc3, 0x32, 0xb1, 0x42, 0x2a, 0x5b, 0x12, 0x22, 0xfd, 0x59, + 0x6b, 0xfd, 0xe4, 0x02, 0xa3, 0x70, 0xa0, 0x03, 0x6c, 0x8d, 0xf2, 0x9a, 0x2d, 0x42, 0xd7, 0x49, + 0xd2, 0x6a, 0x77, 0x35, 0xbf, 0xdd, 0x79, 0x4e, 0xad, 0x7d, 0x6d, 0x97, 0x62, 0x08, 0x16, 0x7d, + 0x76, 0x9d, 0x24, 0x3b, 0xd8, 0xef, 0x39, 0x38, 0x20, 0x93, 0xba, 0x2a, 0x5a, 0xa8, 0x56, 0xe1, + 0x56, 0xae, 0xf5, 0x5d, 0x28, 0xae, 0xb7, 0x53, 0x75, 0xd8, 0x81, 0x35, 0xac, 0x5f, 0x05, 0x3d, + 0xbd, 0x51, 0xc4, 0x25, 0x4d, 0xde, 0x15, 0xe5, 0x4a, 0x10, 0x77, 0x36, 0xcf, 0x34, 0x14, 0x52, + 0x88, 0xae, 0x90, 0x2a, 0x90, 0x20, 0x45, 0x52, 0x4f, 0xff, 0x76, 0x08, 0xde, 0xda, 0xd4, 0x8f, + 0x82, 0x7c, 0x10, 0xc6, 0x39, 0x0d, 0x6d, 0x69, 0xd9, 0xca, 0x95, 0xd3, 0x50, 0xea, 0xf7, 0x46, + 0x19, 0xea, 0x8d, 0x82, 0xee, 0xc3, 0x44, 0x0a, 0x5b, 0x69, 0x0c, 0xcb, 0x6e, 0xdf, 0xca, 0x4f, + 0x7b, 0x0b, 0x90, 0x8c, 0x2e, 0xd9, 0xd5, 0x26, 0x8f, 0x12, 0xab, 0xc0, 0x3a, 0x92, 0xd2, 0x45, + 0x98, 0xea, 0x55, 0x40, 0x53, 0x30, 0x5c, 0x27, 0x89, 0xba, 0x0a, 0xe2, 0x27, 0xda, 0x07, 0xa3, + 0xab, 0xd8, 0x8f, 0x89, 0xc2, 0x9c, 0x7e, 0x9c, 0x1d, 0x5a, 0xd0, 0xf4, 0xcf, 0xe0, 0xa8, 0x04, + 0x71, 0x03, 0x33, 0x9e, 0xdd, 0x33, 0xd9, 0x21, 0xd8, 0x89, 0x5e, 0x7e, 0x01, 0xc7, 0xfa, 0xc4, + 0x52, 0x5d, 0xf8, 0x28, 0xe7, 0x35, 0x30, 0xb7, 0xb8, 0x26, 0xf3, 0x5e, 0x81, 0xdf, 0x34, 0x78, + 0x7d, 0xe3, 0xf7, 0x67, 0xd3, 0x6d, 0x76, 0x14, 0x26, 0x1d, 0x3f, 0x70, 0xeb, 0x76, 0x0d, 0xb3, + 0x5a, 0x76, 0x75, 0x04, 0x6e, 0xfd, 0x1a, 0x66, 0x35, 0xb1, 0x3a, 0xf6, 0xc3, 0x98, 0x43, 0x79, + 0x03, 0x87, 0x72, 0x69, 0x4c, 0x58, 0xea, 0x0b, 0xb9, 0xb0, 0x5b, 0x5c, 0xff, 0x46, 0xec, 0x73, + 0x6a, 0x33, 0xea, 0x15, 0x47, 0xc4, 0xf1, 0xe2, 0xa5, 0x3f, 0xfe, 0x9a, 0x3e, 0xe7, 0x51, 0x5e, + 0x8b, 0x1d, 0xc3, 0x0d, 0x1a, 0xa6, 0xca, 0xcc, 0xc7, 0x0e, 0x3b, 0x4d, 0x03, 0xb3, 0x4d, 0x9d, + 0xa2, 0x24, 0xe4, 0x81, 0xe9, 0xf8, 0xac, 0x52, 0x9d, 0x59, 0xa8, 0x18, 0xcb, 0xd4, 0x6b, 0x62, + 0x1e, 0x47, 0xc4, 0x2a, 0x38, 0x3e, 0xbb, 0x29, 0x9c, 0x2e, 0x53, 0x4f, 0xff, 0x57, 0x83, 0xc3, + 0xd9, 0xba, 0x93, 0x3b, 0xe1, 0x0a, 0xe6, 0xed, 0xcb, 0x8e, 0xde, 0x85, 0x51, 0xd1, 0x06, 0xb2, + 0x8d, 0xfe, 0xa5, 0x86, 0x62, 0xfc, 0xd5, 0x74, 0xaf, 0x10, 0xe6, 0xaa, 0x1a, 0x40, 0x2a, 0x7a, + 0x8f, 0x30, 0x57, 0x2c, 0x4f, 0x55, 0x27, 0x42, 0xbd, 0x1a, 0x6f, 0x2d, 0xcf, 0xb4, 0x4a, 0x52, + 0x84, 0x2e, 0x01, 0xa4, 0x2a, 0x82, 0x2b, 0xca, 0x4a, 0x14, 0xaa, 0x25, 0x23, 0x25, 0x92, 0x46, + 0x8b, 0x48, 0x1a, 0x1f, 0xb6, 0x88, 0xe4, 0xe2, 0xc8, 0xe3, 0xbf, 0xa7, 0x35, 0x6b, 0x5c, 0xda, + 0x08, 0xa9, 0xfe, 0xdd, 0x30, 0x1c, 0xde, 0xf4, 0x49, 0x44, 0x57, 0x60, 0xc4, 0xad, 0x87, 0xdb, + 0x1e, 0x19, 0x69, 0xdc, 0x35, 0xee, 0x43, 0xdb, 0x66, 0x90, 0x3d, 0xf5, 0x1a, 0x5e, 0x57, 0x2f, + 0x1b, 0x44, 0x0f, 0x6d, 0xec, 0x79, 0x91, 0x1d, 0xd6, 0x5f, 0x6d, 0x2e, 0xda, 0x8f, 0x86, 0x28, + 0x16, 0xbb, 0xec, 0x79, 0xd1, 0x52, 0x5d, 0x4c, 0xb5, 0x7c, 0xc6, 0x6c, 0x16, 0x37, 0x8a, 0xa3, + 0xe9, 0x54, 0x4b, 0xc1, 0x72, 0xdc, 0x40, 0x77, 0x60, 0xdc, 0xa7, 0xf7, 0x88, 0x9b, 0xb8, 0x3e, + 0x29, 0x8e, 0xf5, 0xa3, 0x21, 0x9b, 0x0e, 0x97, 0xd5, 0xf1, 0x54, 0x7d, 0x0e, 0x30, 0x2a, 0x6f, + 0x39, 0xfa, 0x59, 0x83, 0xbd, 0xeb, 0x48, 0x2f, 0x9a, 0xef, 0xb7, 0x0d, 0x73, 0x48, 0x7d, 0x69, + 0x61, 0x70, 0xc3, 0x14, 0x9d, 0x7e, 0xf6, 0xcb, 0x67, 0xff, 0x7c, 0x33, 0x74, 0x06, 0x55, 0xcd, + 0xdc, 0x3f, 0x24, 0x3d, 0xb4, 0xcc, 0x7c, 0x98, 0xb6, 0xe9, 0x11, 0xfa, 0x49, 0x83, 0xdd, 0x19, + 0xcf, 0x68, 0x66, 0x10, 0x1c, 0x2d, 0xf0, 0x67, 0x06, 0x33, 0x52, 0xc0, 0xcf, 0x4b, 0xe0, 0x73, + 0xe8, 0xcc, 0x56, 0x81, 0x9b, 0x0f, 0xdb, 0x5b, 0xec, 0x11, 0xfa, 0x41, 0x83, 0xc9, 0x2c, 0x11, + 0x45, 0x03, 0xc1, 0x68, 0xed, 0xfe, 0xd2, 0xec, 0x80, 0x56, 0x0a, 0x7d, 0x45, 0xa2, 0x3f, 0x85, + 0x4e, 0x6c, 0xb9, 0xec, 0x62, 0x64, 0xa6, 0x7a, 0x19, 0x10, 0x9a, 0xeb, 0x13, 0x3e, 0x87, 0xa1, + 0x96, 0xe6, 0x07, 0xb6, 0x53, 0xc0, 0x2f, 0x48, 0xe0, 0xf3, 0x68, 0x36, 0x1f, 0xb8, 0xe2, 0x92, + 0x3e, 0x75, 0x25, 0xaf, 0xcb, 0xd4, 0xfd, 0x47, 0x0d, 0x0a, 0x5d, 0xaf, 0x39, 0xaa, 0xf4, 0xc1, + 0xb1, 0x9e, 0x72, 0x95, 0xaa, 0x83, 0x98, 0x28, 0xd4, 0xe7, 0x24, 0xea, 0x59, 0x34, 0x93, 0x8f, + 0x5a, 0x82, 0xcc, 0x80, 0x35, 0xd5, 0xae, 0xfa, 0x55, 0x83, 0xfd, 0x1b, 0xf3, 0x10, 0x74, 0x7e, + 0x9b, 0xf4, 0x25, 0xcd, 0xe4, 0xc2, 0x2b, 0x91, 0x1f, 0x7d, 0x56, 0x26, 0x65, 0xa2, 0xd3, 0xfd, + 0x92, 0x3a, 0xdb, 0x4d, 0xbc, 0xd0, 0x9f, 0x1a, 0x14, 0xf3, 0x58, 0x06, 0xba, 0xd8, 0x07, 0x52, + 0x1f, 0x2a, 0x54, 0xba, 0xb4, 0x6d, 0x7b, 0x95, 0xd4, 0x45, 0x99, 0xd4, 0x02, 0x9a, 0xcb, 0x4f, + 0xca, 0xc7, 0x8c, 0xdb, 0xbd, 0x77, 0x5b, 0xed, 0xa4, 0xc5, 0xdb, 0x4f, 0x5e, 0x94, 0xb5, 0xa7, + 0x2f, 0xca, 0xda, 0xf3, 0x17, 0x65, 0xed, 0xf1, 0xcb, 0xf2, 0xae, 0xa7, 0x2f, 0xcb, 0xbb, 0x7e, + 0x7f, 0x59, 0xde, 0xf5, 0xc9, 0x7c, 0xff, 0x87, 0xe3, 0x41, 0x4f, 0x30, 0x9e, 0x84, 0x84, 0x39, + 0x63, 0xf2, 0xed, 0x9d, 0xf9, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x63, 0xf0, 0x65, 0xc8, 0x48, 0x12, + 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/incentive/types/query.pb.go b/x/incentive/types/query.pb.go index 5feac9fe5..9b338cd62 100644 --- a/x/incentive/types/query.pb.go +++ b/x/incentive/types/query.pb.go @@ -500,56 +500,56 @@ func init() { func init() { proto.RegisterFile("babylon/incentive/query.proto", fileDescriptor_e1a59cc0c7c44135) } var fileDescriptor_e1a59cc0c7c44135 = []byte{ - // 775 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x41, 0x4f, 0x13, 0x41, - 0x14, 0xee, 0x16, 0x5a, 0x75, 0x44, 0x81, 0xb1, 0xd1, 0xb6, 0x60, 0x2b, 0x1b, 0x51, 0xa2, 0x76, - 0x47, 0x40, 0x02, 0x92, 0x68, 0xb4, 0x40, 0x4c, 0x4c, 0x34, 0xba, 0x98, 0x98, 0x78, 0xa9, 0xb3, - 0xed, 0x64, 0xbb, 0xa1, 0xec, 0x94, 0x9d, 0x69, 0x6b, 0x45, 0x2e, 0x9e, 0x3c, 0x9a, 0xf8, 0x07, - 0x38, 0x78, 0xd1, 0xa3, 0xf1, 0x47, 0x70, 0x24, 0x7a, 0xd1, 0x8b, 0x1a, 0xf0, 0x60, 0xbc, 0xf8, - 0x17, 0x4c, 0x67, 0x66, 0x9b, 0x96, 0xee, 0x06, 0x48, 0x8c, 0xa7, 0xce, 0xcc, 0x7b, 0xdf, 0x7c, - 0xdf, 0x37, 0xfb, 0xde, 0x2b, 0x38, 0x6b, 0x61, 0xab, 0x59, 0xa1, 0x2e, 0x72, 0xdc, 0x22, 0x71, - 0xb9, 0x53, 0x27, 0x68, 0xad, 0x46, 0xbc, 0xa6, 0x51, 0xf5, 0x28, 0xa7, 0x70, 0x58, 0x85, 0x8d, - 0x76, 0x38, 0x9d, 0xb0, 0xa9, 0x4d, 0x45, 0x14, 0xb5, 0x56, 0x32, 0x31, 0x3d, 0x6a, 0x53, 0x6a, - 0x57, 0x08, 0xc2, 0x55, 0x07, 0x61, 0xd7, 0xa5, 0x1c, 0x73, 0x87, 0xba, 0x4c, 0x45, 0x33, 0xbd, - 0x2c, 0x55, 0xec, 0xe1, 0x55, 0x3f, 0x3e, 0xd6, 0x1b, 0x6f, 0xaf, 0xfc, 0x2b, 0x8a, 0x94, 0xad, - 0x52, 0x86, 0x2c, 0xcc, 0x08, 0xaa, 0x4f, 0x5a, 0x84, 0xe3, 0x49, 0x54, 0xa4, 0x8e, 0xab, 0xe2, - 0x29, 0x19, 0x2f, 0x48, 0x65, 0x72, 0x23, 0x43, 0x7a, 0x02, 0xc0, 0x87, 0x2d, 0x4f, 0x0f, 0x04, - 0xa5, 0x49, 0xd6, 0x6a, 0x84, 0x71, 0xfd, 0x3e, 0x38, 0xd5, 0x75, 0xca, 0xaa, 0xd4, 0x65, 0x04, - 0xce, 0x82, 0xb8, 0x94, 0x96, 0xd4, 0xce, 0x69, 0x13, 0xc7, 0xa7, 0x52, 0x46, 0xcf, 0x13, 0x18, - 0x12, 0x92, 0xef, 0xdf, 0xfa, 0x96, 0x8d, 0x98, 0x2a, 0x5d, 0xbf, 0x06, 0x92, 0xe2, 0x3e, 0x93, - 0x34, 0xb0, 0x57, 0xba, 0x83, 0x6b, 0x36, 0xf1, 0xb9, 0x60, 0x12, 0x1c, 0xc1, 0xa5, 0x92, 0x47, - 0x98, 0xbc, 0xf5, 0x98, 0xe9, 0x6f, 0xf5, 0x3f, 0x1a, 0x48, 0x74, 0x23, 0x94, 0x0e, 0x0c, 0x62, - 0x2d, 0x77, 0x2d, 0x40, 0x9f, 0x90, 0xa1, 0x2c, 0xb5, 0xfc, 0x1b, 0xca, 0xbf, 0xb1, 0x40, 0x1d, - 0x37, 0x7f, 0xb5, 0x25, 0xe3, 0xfd, 0xf7, 0xec, 0x84, 0xed, 0xf0, 0x72, 0xcd, 0x32, 0x8a, 0x74, - 0x55, 0xf9, 0x57, 0x3f, 0x39, 0x56, 0x5a, 0x41, 0xbc, 0x59, 0x25, 0x4c, 0x00, 0x98, 0x29, 0x6f, - 0x86, 0x1c, 0x0c, 0x36, 0x1c, 0x5e, 0x2e, 0x79, 0xb8, 0xe1, 0x16, 0x24, 0x59, 0xf4, 0xdf, 0x93, - 0x9d, 0x6c, 0x73, 0x88, 0xbd, 0xfe, 0x5b, 0x03, 0xa9, 0x80, 0x87, 0x52, 0xb6, 0x8b, 0xe0, 0x84, - 0x27, 0xce, 0x0b, 0xb6, 0x08, 0x28, 0xfb, 0x37, 0x03, 0xbe, 0x42, 0xe8, 0x25, 0x46, 0xe7, 0xe1, - 0x92, 0xcb, 0xbd, 0xa6, 0x39, 0xe0, 0x75, 0x1c, 0xa5, 0xcb, 0x60, 0xb8, 0x27, 0x05, 0x0e, 0x81, - 0xbe, 0x15, 0xd2, 0x54, 0xdf, 0xa7, 0xb5, 0x84, 0x37, 0x40, 0xac, 0x8e, 0x2b, 0x35, 0x92, 0x8c, - 0x8a, 0x4a, 0xb8, 0x18, 0xa0, 0x21, 0x88, 0xde, 0x94, 0xa8, 0xf9, 0xe8, 0x9c, 0xa6, 0xcf, 0x80, - 0x11, 0x21, 0x33, 0xff, 0x68, 0x61, 0x99, 0xe3, 0x15, 0xc7, 0xb5, 0x45, 0xae, 0x5f, 0x17, 0xa7, - 0x41, 0xbc, 0x4c, 0x1c, 0xbb, 0xcc, 0x05, 0x6d, 0xbf, 0xa9, 0x76, 0xfa, 0x0b, 0x70, 0xa6, 0x07, - 0xf1, 0xdf, 0xea, 0x42, 0x7f, 0x0a, 0x46, 0x83, 0x45, 0x2b, 0x09, 0xb7, 0x40, 0x4c, 0x7c, 0x1c, - 0xd5, 0x21, 0x97, 0x02, 0xde, 0x25, 0x04, 0x6a, 0x4a, 0xa0, 0xde, 0x00, 0xe7, 0x05, 0xc3, 0x22, - 0xa9, 0x10, 0x1b, 0x73, 0xea, 0x3d, 0x56, 0x35, 0x72, 0x5b, 0xb6, 0x85, 0xff, 0x3e, 0x4b, 0x60, - 0xb8, 0xe4, 0xa7, 0x14, 0xba, 0x3a, 0x28, 0x9f, 0xfc, 0xf4, 0x31, 0x97, 0x50, 0xde, 0x15, 0x6a, - 0x99, 0x7b, 0x8e, 0x6b, 0x9b, 0x43, 0x6d, 0x88, 0x3a, 0x9f, 0x3f, 0xfa, 0x6a, 0x33, 0x1b, 0xf9, - 0xb5, 0x99, 0x8d, 0xe8, 0x75, 0x30, 0xbe, 0x0f, 0xb1, 0xf2, 0xb8, 0x00, 0x86, 0xfc, 0xba, 0x3d, - 0x30, 0x71, 0xbb, 0x9b, 0x7a, 0x78, 0xa7, 0x3e, 0xc4, 0x40, 0x4c, 0x10, 0xc3, 0xe7, 0x20, 0x2e, - 0xc7, 0x07, 0x1c, 0x0f, 0xab, 0xe9, 0xae, 0x39, 0x95, 0xbe, 0xb0, 0x5f, 0x9a, 0x54, 0xac, 0x8f, - 0xbd, 0xfc, 0xfc, 0xf3, 0x4d, 0x74, 0x04, 0xa6, 0x50, 0xd8, 0xb0, 0x85, 0x6f, 0x35, 0x30, 0xd0, - 0x59, 0xb1, 0xf0, 0xf2, 0xc1, 0xda, 0x4a, 0x0a, 0xb9, 0x72, 0x98, 0x1e, 0xd4, 0xaf, 0x0b, 0x39, - 0xd3, 0x70, 0x32, 0x40, 0x8e, 0x7a, 0x50, 0xb4, 0xae, 0x16, 0x1b, 0xa8, 0xb3, 0xe7, 0xe1, 0x3b, - 0x0d, 0x0c, 0xee, 0x29, 0x20, 0x68, 0x84, 0x91, 0x07, 0x77, 0x56, 0x1a, 0x1d, 0x38, 0x5f, 0xe9, - 0x9d, 0x11, 0x7a, 0x11, 0xcc, 0x05, 0xe8, 0xb5, 0x78, 0xb1, 0xc0, 0x24, 0x48, 0x4a, 0x44, 0xeb, - 0xb2, 0x51, 0x37, 0xe0, 0x57, 0x0d, 0x24, 0xc3, 0x8a, 0x09, 0xce, 0x86, 0x89, 0xd8, 0xa7, 0xee, - 0xd3, 0x73, 0x87, 0x07, 0x2a, 0x1b, 0x77, 0x85, 0x8d, 0x45, 0x98, 0x0f, 0xb0, 0xd1, 0xee, 0x0b, - 0x86, 0xd6, 0x7b, 0xda, 0x6a, 0x03, 0xed, 0xad, 0xf7, 0xfc, 0xbd, 0xad, 0x9d, 0x8c, 0xb6, 0xbd, - 0x93, 0xd1, 0x7e, 0xec, 0x64, 0xb4, 0xd7, 0xbb, 0x99, 0xc8, 0xf6, 0x6e, 0x26, 0xf2, 0x65, 0x37, - 0x13, 0x79, 0x32, 0xdd, 0x31, 0x52, 0x14, 0x4f, 0x05, 0x5b, 0x2c, 0xe7, 0xd0, 0x36, 0xed, 0xb3, - 0x0e, 0x62, 0x31, 0x63, 0xac, 0xb8, 0xf8, 0x37, 0x9e, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x3d, - 0xa7, 0x53, 0xdf, 0x73, 0x08, 0x00, 0x00, + // 772 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0x41, 0x4f, 0x13, 0x4d, + 0x18, 0xee, 0x16, 0xda, 0xef, 0xfb, 0xde, 0x8f, 0xef, 0x03, 0xc6, 0x46, 0xdb, 0x82, 0xad, 0x6e, + 0x44, 0x89, 0xda, 0x1d, 0x01, 0x09, 0x48, 0xa2, 0xd1, 0x02, 0x31, 0x31, 0xd1, 0xe8, 0x62, 0x62, + 0xe2, 0xa5, 0xce, 0xb6, 0x93, 0xed, 0x86, 0xb2, 0x53, 0x76, 0xa7, 0xad, 0x15, 0xb9, 0x78, 0xf2, + 0x68, 0xe2, 0x1f, 0xe0, 0xe0, 0x45, 0x8f, 0xc6, 0x1f, 0xc1, 0x91, 0xe8, 0x45, 0x2f, 0x6a, 0xc0, + 0x83, 0xf1, 0xe2, 0x5f, 0x30, 0x9d, 0x99, 0x36, 0x2d, 0xdd, 0x0d, 0x90, 0x18, 0x4f, 0xdd, 0x99, + 0xf7, 0x7d, 0xe6, 0x79, 0x9e, 0x99, 0xf7, 0x7d, 0x0b, 0x27, 0x2d, 0x62, 0x35, 0x2b, 0xcc, 0xc5, + 0x8e, 0x5b, 0xa4, 0x2e, 0x77, 0xea, 0x14, 0xaf, 0xd7, 0xa8, 0xd7, 0x34, 0xaa, 0x1e, 0xe3, 0x0c, + 0x8d, 0xaa, 0xb0, 0xd1, 0x09, 0xa7, 0x13, 0x36, 0xb3, 0x99, 0x88, 0xe2, 0xd6, 0x97, 0x4c, 0x4c, + 0x8f, 0xdb, 0x8c, 0xd9, 0x15, 0x8a, 0x49, 0xd5, 0xc1, 0xc4, 0x75, 0x19, 0x27, 0xdc, 0x61, 0xae, + 0xaf, 0xa2, 0x99, 0x7e, 0x96, 0x2a, 0xf1, 0xc8, 0x5a, 0x27, 0x5e, 0x64, 0xfe, 0x1a, 0xf3, 0xb1, + 0x45, 0x7c, 0x8a, 0xeb, 0x53, 0x16, 0xe5, 0x64, 0x0a, 0x17, 0x99, 0xe3, 0xaa, 0x78, 0x4a, 0xc6, + 0x0b, 0x92, 0x56, 0x2e, 0x64, 0x48, 0x4f, 0x00, 0xba, 0xd7, 0x12, 0x7c, 0x57, 0x9c, 0x67, 0xd2, + 0xf5, 0x1a, 0xf5, 0xb9, 0x7e, 0x07, 0x8e, 0xf5, 0xec, 0xfa, 0x55, 0xe6, 0xfa, 0x14, 0xcd, 0x41, + 0x5c, 0xf2, 0x26, 0xb5, 0x53, 0xda, 0xe4, 0xbf, 0xd3, 0x29, 0xa3, 0xcf, 0x9f, 0x21, 0x21, 0xf9, + 0xc1, 0xed, 0xcf, 0xd9, 0x88, 0xa9, 0xd2, 0xf5, 0xcb, 0x90, 0x14, 0xe7, 0x99, 0xb4, 0x41, 0xbc, + 0xd2, 0x4d, 0x52, 0xb3, 0x69, 0x9b, 0x0b, 0x25, 0xe1, 0x2f, 0x52, 0x2a, 0x79, 0xd4, 0x97, 0xa7, + 0xfe, 0x63, 0xb6, 0x97, 0xfa, 0x4f, 0x0d, 0x12, 0xbd, 0x08, 0xa5, 0x83, 0x40, 0xac, 0xe5, 0xae, + 0x05, 0x18, 0x10, 0x32, 0x94, 0xa5, 0x96, 0x7f, 0x43, 0xf9, 0x37, 0x16, 0x99, 0xe3, 0xe6, 0x2f, + 0xb5, 0x64, 0xbc, 0xf9, 0x92, 0x9d, 0xb4, 0x1d, 0x5e, 0xae, 0x59, 0x46, 0x91, 0xad, 0x29, 0xff, + 0xea, 0x27, 0xe7, 0x97, 0x56, 0x31, 0x6f, 0x56, 0xa9, 0x2f, 0x00, 0xbe, 0x29, 0x4f, 0x46, 0x1c, + 0x86, 0x1b, 0x0e, 0x2f, 0x97, 0x3c, 0xd2, 0x70, 0x0b, 0x92, 0x2c, 0xfa, 0xfb, 0xc9, 0xfe, 0xef, + 0x70, 0x88, 0xb5, 0xfe, 0x43, 0x83, 0x54, 0xc0, 0x45, 0x29, 0xdb, 0x45, 0xf8, 0xcf, 0x13, 0xfb, + 0x05, 0x5b, 0x04, 0x94, 0xfd, 0x6b, 0x01, 0xaf, 0x10, 0x7a, 0x88, 0xd1, 0xbd, 0xb9, 0xec, 0x72, + 0xaf, 0x69, 0x0e, 0x79, 0x5d, 0x5b, 0xe9, 0x32, 0x8c, 0xf6, 0xa5, 0xa0, 0x11, 0x18, 0x58, 0xa5, + 0x4d, 0xf5, 0x3e, 0xad, 0x4f, 0x74, 0x15, 0x62, 0x75, 0x52, 0xa9, 0xd1, 0x64, 0x54, 0x54, 0xc2, + 0xb9, 0x00, 0x0d, 0x41, 0xf4, 0xa6, 0x44, 0x2d, 0x44, 0xe7, 0x35, 0x7d, 0x16, 0xc6, 0x84, 0xcc, + 0xfc, 0xfd, 0xc5, 0x15, 0x4e, 0x56, 0x1d, 0xd7, 0x16, 0xb9, 0xed, 0xba, 0x38, 0x0e, 0xf1, 0x32, + 0x75, 0xec, 0x32, 0x17, 0xb4, 0x83, 0xa6, 0x5a, 0xe9, 0x4f, 0xe1, 0x44, 0x1f, 0xe2, 0x8f, 0xd5, + 0x85, 0xfe, 0x08, 0xc6, 0x83, 0x45, 0x2b, 0x09, 0xd7, 0x21, 0x26, 0x1e, 0x47, 0x75, 0xc8, 0xf9, + 0x80, 0x7b, 0x09, 0x81, 0x9a, 0x12, 0xa8, 0x37, 0xe0, 0x8c, 0x60, 0x58, 0xa2, 0x15, 0x6a, 0x13, + 0xce, 0xbc, 0x07, 0xaa, 0x46, 0x6e, 0xc8, 0xb6, 0x68, 0xdf, 0xcf, 0x32, 0x8c, 0x96, 0xda, 0x29, + 0x85, 0x9e, 0x0e, 0xca, 0x27, 0xdf, 0xbf, 0xcb, 0x25, 0x94, 0x77, 0x85, 0x5a, 0xe1, 0x9e, 0xe3, + 0xda, 0xe6, 0x48, 0x07, 0xa2, 0xf6, 0x17, 0xfe, 0x7e, 0xbe, 0x95, 0x8d, 0x7c, 0xdf, 0xca, 0x46, + 0xf4, 0x3a, 0x4c, 0x1c, 0x40, 0xac, 0x3c, 0x2e, 0xc2, 0x48, 0xbb, 0x6e, 0x0f, 0x4d, 0xdc, 0xe9, + 0xa6, 0x3e, 0xde, 0xe9, 0xb7, 0x31, 0x88, 0x09, 0x62, 0xf4, 0x04, 0xe2, 0x72, 0x7c, 0xa0, 0x89, + 0xb0, 0x9a, 0xee, 0x99, 0x53, 0xe9, 0xb3, 0x07, 0xa5, 0x49, 0xc5, 0xfa, 0xe9, 0x67, 0x1f, 0xbe, + 0xbd, 0x8c, 0x8e, 0xa1, 0x14, 0x0e, 0x9b, 0xa4, 0xe8, 0x95, 0x06, 0x43, 0xdd, 0x15, 0x8b, 0x2e, + 0x1c, 0xae, 0xad, 0xa4, 0x90, 0x8b, 0x47, 0xe9, 0x41, 0xfd, 0x8a, 0x90, 0x33, 0x83, 0xa6, 0x02, + 0xe4, 0xa8, 0x0b, 0xc5, 0x1b, 0xea, 0x63, 0x13, 0x77, 0xf7, 0x3c, 0x7a, 0xad, 0xc1, 0xf0, 0xbe, + 0x02, 0x42, 0x46, 0x18, 0x79, 0x70, 0x67, 0xa5, 0xf1, 0xa1, 0xf3, 0x95, 0xde, 0x59, 0xa1, 0x17, + 0xa3, 0x5c, 0x80, 0x5e, 0x8b, 0x17, 0x0b, 0xbe, 0x04, 0x49, 0x89, 0x78, 0x43, 0x36, 0xea, 0x26, + 0xfa, 0xa4, 0x41, 0x32, 0xac, 0x98, 0xd0, 0x5c, 0x98, 0x88, 0x03, 0xea, 0x3e, 0x3d, 0x7f, 0x74, + 0xa0, 0xb2, 0x71, 0x4b, 0xd8, 0x58, 0x42, 0xf9, 0x00, 0x1b, 0x9d, 0xbe, 0xf0, 0xf1, 0x46, 0x5f, + 0x5b, 0x6d, 0xe2, 0xfd, 0xf5, 0x9e, 0xbf, 0xbd, 0xbd, 0x9b, 0xd1, 0x76, 0x76, 0x33, 0xda, 0xd7, + 0xdd, 0x8c, 0xf6, 0x62, 0x2f, 0x13, 0xd9, 0xd9, 0xcb, 0x44, 0x3e, 0xee, 0x65, 0x22, 0x0f, 0x67, + 0xba, 0x46, 0x8a, 0xe2, 0xa9, 0x10, 0xcb, 0xcf, 0x39, 0xac, 0x43, 0xfb, 0xb8, 0x8b, 0x58, 0xcc, + 0x18, 0x2b, 0x2e, 0xfe, 0x8d, 0x67, 0x7e, 0x05, 0x00, 0x00, 0xff, 0xff, 0x88, 0x1e, 0x59, 0x89, + 0x50, 0x08, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/mint/types/query.pb.go b/x/mint/types/query.pb.go index e5e2ff960..2a6928c0c 100644 --- a/x/mint/types/query.pb.go +++ b/x/mint/types/query.pb.go @@ -287,39 +287,38 @@ func init() { func init() { proto.RegisterFile("babylon/mint/v1/query.proto", fileDescriptor_bab217370cac4c70) } var fileDescriptor_bab217370cac4c70 = []byte{ - // 501 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcd, 0x6e, 0xd3, 0x40, - 0x14, 0x85, 0x33, 0xfc, 0x2d, 0x26, 0x2d, 0x94, 0x11, 0x12, 0xad, 0x53, 0x1c, 0x70, 0x04, 0x4a, - 0xa9, 0x3a, 0xa3, 0x94, 0x27, 0x20, 0x20, 0xf1, 0x23, 0x16, 0x25, 0xea, 0x8a, 0x4d, 0x34, 0x0e, - 0x53, 0x67, 0x84, 0x3d, 0xd7, 0xc9, 0x8c, 0x23, 0xb2, 0x65, 0x8f, 0x54, 0x09, 0xf1, 0x00, 0xbc, - 0x4d, 0x97, 0x95, 0xba, 0x41, 0x2c, 0x0a, 0x4a, 0x78, 0x10, 0xe4, 0xb1, 0x5d, 0xd2, 0xc4, 0x91, - 0xd2, 0x5d, 0x26, 0xe7, 0xe6, 0x9c, 0x2f, 0xf7, 0x5c, 0x5c, 0xf3, 0xb9, 0x3f, 0x0e, 0x41, 0xb1, - 0x48, 0x2a, 0xc3, 0x46, 0x2d, 0x36, 0x48, 0xc4, 0x70, 0x4c, 0xe3, 0x21, 0x18, 0x20, 0x77, 0x72, - 0x91, 0xa6, 0x22, 0x1d, 0xb5, 0x9c, 0x7b, 0x01, 0x04, 0x60, 0x35, 0x96, 0x7e, 0xca, 0xc6, 0x9c, + // 494 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x6e, 0xd3, 0x40, + 0x10, 0xc6, 0xb3, 0xfc, 0x3b, 0x6c, 0x5a, 0x28, 0x2b, 0x24, 0x5a, 0xa7, 0x38, 0xe0, 0x08, 0x94, + 0x52, 0x75, 0x57, 0x29, 0x4f, 0x40, 0x40, 0xe2, 0x8f, 0x38, 0x94, 0xa8, 0x27, 0x2e, 0xd1, 0x3a, + 0x6c, 0x9d, 0x15, 0xf6, 0x8e, 0x93, 0x5d, 0x47, 0xe4, 0xca, 0x1d, 0xa9, 0x12, 0xe2, 0x01, 0x78, + 0x9b, 0x1e, 0x2b, 0xf5, 0x82, 0x38, 0x14, 0x94, 0xf0, 0x20, 0xc8, 0x6b, 0xbb, 0xa4, 0x89, 0x23, + 0xa5, 0x37, 0x8f, 0xbf, 0xf1, 0x7c, 0x3f, 0xcf, 0x37, 0xb8, 0xe6, 0x73, 0x7f, 0x1c, 0x82, 0x62, + 0x91, 0x54, 0x86, 0x8d, 0x5a, 0x6c, 0x90, 0x88, 0xe1, 0x98, 0xc6, 0x43, 0x30, 0x40, 0xee, 0xe4, + 0x22, 0x4d, 0x45, 0x3a, 0x6a, 0x39, 0xf7, 0x02, 0x08, 0xc0, 0x6a, 0x2c, 0x7d, 0xca, 0xda, 0x9c, 0xed, 0x00, 0x20, 0x08, 0x05, 0xe3, 0xb1, 0x64, 0x5c, 0x29, 0x30, 0xdc, 0x48, 0x50, 0x3a, 0x57, - 0x9d, 0xf9, 0x04, 0x6b, 0x96, 0x69, 0xf5, 0xfc, 0x97, 0xf6, 0xe5, 0x27, 0x47, 0xcc, 0xc8, 0x48, - 0x68, 0xc3, 0xa3, 0x38, 0x1b, 0xf0, 0x6a, 0x78, 0xeb, 0x7d, 0x0a, 0xf4, 0x46, 0x1d, 0x85, 0xd6, - 0xb5, 0xc3, 0x8d, 0xe8, 0x88, 0x41, 0x22, 0xb4, 0xf1, 0xfa, 0xd8, 0x29, 0x13, 0x75, 0x0c, 0x4a, - 0x0b, 0xf2, 0x16, 0xdf, 0x96, 0x85, 0xd0, 0x1d, 0x72, 0x23, 0x36, 0xd1, 0x43, 0xd4, 0x5c, 0x6b, - 0x37, 0x4e, 0xce, 0xeb, 0x95, 0x5f, 0xe7, 0xf5, 0x5a, 0x0f, 0x74, 0x04, 0x5a, 0x7f, 0xfc, 0x44, - 0x25, 0xb0, 0x88, 0x9b, 0x3e, 0x7d, 0x27, 0x02, 0xde, 0x1b, 0xbf, 0x14, 0xbd, 0xce, 0xba, 0x9c, - 0xf5, 0xf4, 0x5c, 0xbc, 0x6d, 0x93, 0x9e, 0x2b, 0x95, 0xf0, 0xf0, 0x60, 0x08, 0x23, 0xa9, 0xd3, - 0xbf, 0x58, 0x90, 0x0c, 0xf0, 0x83, 0x25, 0x7a, 0x0e, 0x73, 0x80, 0xef, 0x72, 0xab, 0x75, 0xe3, - 0x0b, 0xf1, 0x2a, 0x3c, 0x1b, 0x7c, 0xce, 0xd9, 0xdb, 0xc2, 0xf7, 0x6d, 0xe4, 0x2b, 0xa1, 0x84, - 0x96, 0xfa, 0x50, 0x46, 0x17, 0x7b, 0xe9, 0xe2, 0xcd, 0x45, 0x29, 0x07, 0x79, 0x81, 0xd7, 0x82, - 0xec, 0xeb, 0x6e, 0xba, 0x6b, 0xcb, 0x50, 0xdd, 0x77, 0x68, 0x56, 0x04, 0x2d, 0x8a, 0xa0, 0x87, - 0x45, 0x11, 0xed, 0x1b, 0xc7, 0xbf, 0xeb, 0xa8, 0x53, 0x0d, 0xfe, 0x9b, 0xed, 0x9f, 0x5d, 0xc7, - 0x37, 0x6d, 0x02, 0xf9, 0x8e, 0xf0, 0xfa, 0xa5, 0xf5, 0x93, 0xa7, 0x74, 0xee, 0x68, 0xe8, 0xd2, - 0x02, 0x9d, 0xdd, 0x95, 0x66, 0x33, 0x72, 0x6f, 0xf7, 0xcb, 0xd9, 0xdf, 0x6f, 0xd7, 0x1e, 0x93, - 0x06, 0xcb, 0x16, 0x55, 0xdc, 0x93, 0x2f, 0x0c, 0x6f, 0xb1, 0xcb, 0x55, 0x93, 0x1f, 0x08, 0x6f, - 0xcc, 0x97, 0x41, 0xf6, 0xca, 0xe3, 0x96, 0x94, 0xea, 0xd0, 0x55, 0xc7, 0x73, 0x40, 0x6a, 0x01, - 0x9b, 0xe4, 0x49, 0x29, 0xe0, 0x42, 0xfd, 0xe4, 0x2b, 0xc2, 0xd5, 0x99, 0x8a, 0x48, 0xb3, 0x3c, - 0x6f, 0xb1, 0x60, 0x67, 0x67, 0x85, 0xc9, 0x1c, 0x6a, 0xc7, 0x42, 0x35, 0xc8, 0xa3, 0x52, 0xa8, - 0xd9, 0x53, 0x68, 0xbf, 0x3e, 0x99, 0xb8, 0xe8, 0x74, 0xe2, 0xa2, 0x3f, 0x13, 0x17, 0x1d, 0x4f, - 0xdd, 0xca, 0xe9, 0xd4, 0xad, 0xfc, 0x9c, 0xba, 0x95, 0x0f, 0x34, 0x90, 0xa6, 0x9f, 0xf8, 0xb4, - 0x07, 0x11, 0xcb, 0x93, 0x43, 0xee, 0xeb, 0x3d, 0x09, 0xc5, 0x93, 0x7d, 0xce, 0x8c, 0xcd, 0x38, - 0x16, 0xda, 0xbf, 0x65, 0xcf, 0xe8, 0xd9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xa4, 0xd5, - 0x0a, 0x5d, 0x04, 0x00, 0x00, + 0xeb, 0xb9, 0x6a, 0x2b, 0x3f, 0x39, 0x62, 0x46, 0x46, 0x42, 0x1b, 0x1e, 0xc5, 0x59, 0x83, 0x57, + 0xc3, 0x5b, 0xef, 0x53, 0xd3, 0x37, 0xea, 0x28, 0xb4, 0x5f, 0x76, 0xb8, 0x11, 0x1d, 0x31, 0x48, + 0x84, 0x36, 0x5e, 0x1f, 0x3b, 0x65, 0xa2, 0x8e, 0x41, 0x69, 0x41, 0xde, 0xe2, 0xdb, 0xb2, 0x10, + 0xba, 0x43, 0x6e, 0xc4, 0x26, 0x7a, 0x88, 0x9a, 0x6b, 0xed, 0xc6, 0xc9, 0x79, 0xbd, 0xf2, 0xeb, + 0xbc, 0x5e, 0xeb, 0x81, 0x8e, 0x40, 0xeb, 0x8f, 0x9f, 0xa8, 0x04, 0x16, 0x71, 0xd3, 0xa7, 0xef, + 0x44, 0xc0, 0x7b, 0xe3, 0x97, 0xa2, 0xd7, 0x59, 0x97, 0xb3, 0x33, 0x3d, 0x17, 0x6f, 0x5b, 0xa7, + 0xe7, 0x4a, 0x25, 0x3c, 0x3c, 0x18, 0xc2, 0x48, 0xea, 0xf4, 0x37, 0x0a, 0x92, 0x01, 0x7e, 0xb0, + 0x44, 0xcf, 0x61, 0x0e, 0xf0, 0x5d, 0x6e, 0xb5, 0x6e, 0x7c, 0x21, 0x5e, 0x85, 0x67, 0x83, 0xcf, + 0x4d, 0xf6, 0xb6, 0xf0, 0x7d, 0x6b, 0xf9, 0x4a, 0x28, 0xa1, 0xa5, 0x3e, 0x94, 0xd1, 0xc5, 0x5e, + 0xba, 0x78, 0x73, 0x51, 0xca, 0x41, 0x5e, 0xe0, 0xb5, 0x20, 0x7b, 0xdd, 0x4d, 0x77, 0x6d, 0x19, + 0xaa, 0xfb, 0x0e, 0xcd, 0x82, 0xa0, 0x45, 0x10, 0xf4, 0xb0, 0x08, 0xa2, 0x7d, 0xe3, 0xf8, 0x77, + 0x1d, 0x75, 0xaa, 0xc1, 0xff, 0x61, 0xfb, 0x67, 0xd7, 0xf1, 0x4d, 0xeb, 0x40, 0xbe, 0x23, 0xbc, + 0x7e, 0x69, 0xfd, 0xe4, 0x29, 0x9d, 0x3b, 0x0c, 0xba, 0x34, 0x40, 0x67, 0x77, 0xa5, 0xde, 0x8c, + 0xdc, 0xdb, 0xfd, 0x72, 0xf6, 0xf7, 0xdb, 0xb5, 0xc7, 0xa4, 0xc1, 0xb2, 0x45, 0x15, 0x57, 0xe9, + 0x0b, 0xc3, 0x5b, 0xec, 0x72, 0xd4, 0xe4, 0x07, 0xc2, 0x1b, 0xf3, 0x61, 0x90, 0xbd, 0x72, 0xbb, + 0x25, 0xa1, 0x3a, 0x74, 0xd5, 0xf6, 0x1c, 0x90, 0x5a, 0xc0, 0x26, 0x79, 0x52, 0x0a, 0xb8, 0x10, + 0x3f, 0xf9, 0x8a, 0x70, 0x75, 0x26, 0x22, 0xd2, 0x2c, 0xf7, 0x5b, 0x0c, 0xd8, 0xd9, 0x59, 0xa1, + 0x33, 0x87, 0xda, 0xb1, 0x50, 0x0d, 0xf2, 0xa8, 0x14, 0x6a, 0xf6, 0x14, 0xda, 0xaf, 0x4f, 0x26, + 0x2e, 0x3a, 0x9d, 0xb8, 0xe8, 0xcf, 0xc4, 0x45, 0xc7, 0x53, 0xb7, 0x72, 0x3a, 0x75, 0x2b, 0x3f, + 0xa7, 0x6e, 0xe5, 0x03, 0x0d, 0xa4, 0xe9, 0x27, 0x3e, 0xed, 0x41, 0xc4, 0x72, 0xe7, 0x90, 0xfb, + 0x7a, 0x4f, 0x42, 0x51, 0xb2, 0xcf, 0xd9, 0x60, 0x33, 0x8e, 0x85, 0xf6, 0x6f, 0xd9, 0x33, 0x7a, + 0xf6, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xd7, 0xaa, 0x0b, 0x41, 0x04, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used.