swagger: '2.0' info: title: Babylon - gRPC Gateway docs description: A REST interface for state queries version: 1.0.0 paths: /babylon/btccheckpoint/v1: get: summary: BtcCheckpointsInfo returns checkpoint info for a range of epochs operationId: BtcCheckpointsInfo responses: '200': description: A successful response. schema: 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 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/btccheckpoint/v1/params: get: summary: Parameters queries the parameters of the module. operationId: BtcCheckpointParams responses: '200': description: A successful response. schema: 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. 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/btccheckpoint/v1/{epoch_num}: get: summary: BtcCheckpointInfo returns checkpoint info for a given epoch operationId: BtcCheckpointInfo responses: '200': description: A successful response. schema: 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 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: |- Number of epoch for which the earliest checkpointing btc height is requested in: path required: true type: string format: uint64 tags: - Query /babylon/btccheckpoint/v1/{epoch_num}/submissions: get: summary: EpochSubmissions returns all submissions for a given epoch operationId: EpochSubmissions responses: '200': description: A successful response. schema: 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) 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: Number of epoch for which submissions are requested in: path required: true type: string format: uint64 tags: - Query /babylon/btclightclient/v1/baseheader: get: summary: >- BaseHeader returns the base BTC header of the chain. This header is defined on genesis. operationId: BaseHeader responses: '200': description: A successful response. schema: 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. 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/btclightclient/v1/contains: get: summary: Contains checks whether a hash is maintained by the module. operationId: Contains responses: '200': description: A successful response. schema: type: object properties: contains: type: boolean description: >- QueryContainsResponse is response type for the Query/Contains 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: hash in: query required: false type: string format: byte tags: - Query /babylon/btclightclient/v1/containsBytes: get: summary: |- ContainsBytes is a temporary method that checks whether a hash is maintained by the module. See discussion at https://github.com/babylonlabs-io/babylon/pull/132 for more details. operationId: ContainsBytes responses: '200': description: A successful response. schema: type: object properties: contains: type: boolean description: >- QueryContainsResponse is response type for the temporary Query/ContainsBytes 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: hash in: query required: false type: string format: byte tags: - Query /babylon/btclightclient/v1/depth/{hash}: get: summary: >- HeaderDepth returns the depth of the header in main chain or error if the block is not found or it exists on fork operationId: HeaderDepth responses: '200': description: A successful response. schema: 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 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: hash in: path required: true type: string tags: - Query /babylon/btclightclient/v1/hashes: get: summary: Hashes retrieves the hashes maintained by the module. operationId: Hashes responses: '200': description: A successful response. schema: 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. 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/btclightclient/v1/mainchain: get: summary: MainChain returns the canonical chain operationId: MainChain responses: '200': description: A successful response. schema: 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. 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/btclightclient/v1/params: get: summary: Params queries the parameters of the module. operationId: BtcLightClientParams responses: '200': description: A successful response. schema: 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. 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/btclightclient/v1/tip: get: summary: Tip return best header on canonical chain operationId: Tip responses: '200': description: A successful response. schema: 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. 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/epoching/v1/current_epoch: get: summary: CurrentEpoch queries the current epoch operationId: CurrentEpoch responses: '200': description: A successful response. schema: 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 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/epoching/v1/delegation_lifecycle/{del_addr}: get: summary: DelegationLifecycle queries the lifecycle of a given delegation operationId: DelegationLifecycle responses: '200': description: A successful response. schema: 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. 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 title: |- QueryDelegationLifecycleRequest is the response type for the Query/DelegationLifecycle 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: del_addr in: path required: true type: string tags: - Query /babylon/epoching/v1/epochs: get: summary: >- EpochsInfo queries the metadata of epochs in a given range, depending on the parameters in the pagination request. Th main use case will be querying the latest epochs in time order. operationId: EpochsInfo responses: '200': description: A successful response. schema: type: object properties: epochs: type: array items: 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 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: >- QueryEpochsInfoResponse is the response type for the Query/EpochInfos 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: 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/epoching/v1/epochs/{epoch_num}: get: summary: EpochInfo queries the information of a given epoch operationId: EpochInfo responses: '200': description: A successful response. schema: 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. 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 title: >- QueryEpochInfoRequest is the response type for the Query/EpochInfo 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: epoch_num in: path required: true type: string format: uint64 tags: - Query /babylon/epoching/v1/epochs/{epoch_num}/messages: get: summary: EpochMsgs queries the messages of a given epoch operationId: EpochMsgs responses: '200': description: A successful response. schema: type: object properties: 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. msg_type: type: string description: >- msg_type is a string that identifies the type of the underlying message. 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 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: epoch_num description: epoch_num is the number of epoch of the requested msg queue 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/epoching/v1/epochs/{epoch_num}/validator_set: get: summary: EpochValSet queries the validator set of a given epoch operationId: EpochValSet responses: '200': description: A successful response. schema: 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: int64 pagination: type: object properties: next_key: type: string format: byte description: |- next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results. total: type: string format: uint64 title: >- total is total number of results available if PageRequest.count_total was set, its value is undefined otherwise description: >- PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest. message SomeResponse { repeated Bar results = 1; PageResponse page = 2; } title: >- QueryEpochValSetRequest is the response type for the Query/EpochValSet 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: epoch_num 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/epoching/v1/epochs:latest/messages: get: summary: >- LatestEpochMsgs queries the messages within a given number of most recent epochs operationId: LatestEpochMsgs responses: '200': description: A successful response. schema: type: object properties: latest_epoch_msgs: type: array items: 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. msg_type: type: string description: >- msg_type is a string that identifies the type of the underlying message. 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 title: >- latest_epoch_msgs is a list of QueuedMessageList each QueuedMessageList has a field identifying the epoch number 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: |- QueryLatestEpochMsgsResponse is the response type for the Query/LatestEpochMsgs 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: end_epoch description: end_epoch is the number of the last epoch to query. in: query required: false type: string format: uint64 - name: epoch_count description: epoch_count is the number of epochs to query. 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/epoching/v1/params: get: summary: Params queries the parameters of the module. operationId: EpochingParams responses: '200': description: A successful response. schema: 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 execute_gas: description: execute_gas defines raw gas for different executions. type: object properties: delegate: type: string format: uint64 undelegate: type: string format: uint64 begin_redelegate: type: string format: uint64 cancel_unbonding_delegation: type: string format: uint64 edit_validator: type: string format: uint64 create_validator: type: string format: uint64 min_amount: type: string format: uint64 title: >- minimum_amount is a minimum amount for staking message cancel_unbonding_delegation description: >- QueryParamsResponse is the 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/epoching/v1/validator_lifecycle/{val_addr}: get: summary: ValidatorLifecycle queries the lifecycle of a given validator operationId: ValidatorLifecycle responses: '200': description: A successful response. schema: 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 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: val_addr in: path required: true type: string tags: - Query /babylon/btcstaking/v1/btc_delegation/{staking_tx_hash_hex}: get: summary: BTCDelegation retrieves delegation by corresponding staking tx hash operationId: BTCDelegation responses: '200': description: A successful response. schema: 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 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. title: >- QueryBTCDelegationResponse is response type matching QueryBTCDelegationRequest and containing BTC delegation information 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: staking_tx_hash_hex description: Hash of staking transaction in btc format in: path required: true type: string tags: - Query /babylon/btcstaking/v1/btc_delegations/{status}: get: summary: BTCDelegations queries all BTC delegations under a given status operationId: BTCDelegations responses: '200': description: A successful response. schema: type: object properties: 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 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: 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. 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: 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: 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: >- 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: get: summary: FinalityProviders queries all finality providers operationId: FinalityProviders responses: '200': description: A successful response. schema: type: object properties: finality_providers: type: array items: 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 commission_info: description: >- commission_info contains information details of the finality provider commission. type: object properties: max_rate: type: string description: >- max_rate defines the maximum commission rate which validator can ever charge, as a fraction. max_change_rate: type: string description: >- max_change_rate defines the maximum daily increase of the validator commission, as a fraction. update_time: type: string format: date-time description: >- update_time is the last time the commission rate was changed. soft_deleted: type: boolean description: >- soft_deleted defines if the fp is soft deleted or not. If it is soft deleted the FP can't cast votes. 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 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: type: object properties: error: type: string code: type: integer format: int32 message: type: string details: type: array items: type: object properties: type_url: type: string description: >- A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics. value: type: string format: byte description: >- Must be a valid serialized protocol buffer of the above specified type. description: >- `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } parameters: - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin querying the next page most efficiently. Only one of offset or key should be set. in: query required: false type: string format: byte - name: pagination.offset description: >- offset is a numeric offset that can be used when key is unavailable. It is less efficient than using key. Only one of offset or key should be set. in: query required: false type: string format: uint64 - name: pagination.limit description: >- limit is the total number of results to be returned in the result page. If left empty it will default to a value to be set by each app. in: query required: false type: string format: uint64 - name: pagination.count_total description: >- count_total is set to true to indicate that the result set should include a count of the total number of items available for pagination in UIs. count_total is only respected when offset is used. It is ignored when key is set. in: query required: false type: boolean - name: pagination.reverse description: >- reverse is set to true if results are to be returned in the descending order. Since: cosmos-sdk 0.43 in: query required: false type: boolean tags: - Query /babylon/btcstaking/v1/finality_providers/{fp_btc_pk_hex}/delegations: get: summary: >- FinalityProviderDelegations queries all BTC delegations of the given finality provider operationId: FinalityProviderDelegations responses: '200': description: A successful response. schema: 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 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. 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: 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: >- QueryFinalityProviderDelegationsResponse is the response type for the Query/FinalityProviderDelegations 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: 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: FinalityProvider info about one finality provider operationId: FinalityProvider responses: '200': description: A successful response. schema: type: object properties: 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 commission_info: description: >- commission_info contains information details of the finality provider commission. type: object properties: max_rate: type: string description: >- max_rate defines the maximum commission rate which validator can ever charge, as a fraction. max_change_rate: type: string description: >- max_change_rate defines the maximum daily increase of the validator commission, as a fraction. update_time: type: string format: date-time description: >- update_time is the last time the commission rate was changed. soft_deleted: type: boolean description: >- soft_deleted defines if the fp is soft deleted or not. If it is soft deleted the FP can't cast votes. 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: 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: 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/largest_btc_reorg: get: summary: LargestBtcReOrg retrieves the largest BTC reorg operationId: LargestBtcReOrg responses: '200': description: A successful response. schema: type: object properties: block_diff: type: integer format: int64 title: >- BlockDiff is the difference of the block height of the BTC header Tip - the btc height which it was rolled back rollback_from: title: RollbackFrom is the latest BTC block header prior to rollback 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. rollback_to: title: RollbackTo is the BTC block header which we rollback to 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. title: QueryLargestBtcReOrgResponse stores the largest BTC reorg recorded 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: 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/btcstaking/v1/params_versions: get: summary: ParamsVersions queries all the parameters of the module with version. operationId: ParamsVersions responses: '200': description: A successful response. schema: type: object properties: params: type: array items: type: object properties: version: type: integer format: int64 title: |- version of the stored parameters. Each parameters update increments version number by 1 params: title: 'NOTE: Parameters must always be provided' 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: Params defines the parameters for the module. title: >- StoredParams attach information about the version of stored parameters description: params holds all the params with version from this module. 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: QueryParamsVersionsResponse stores all the params with versions. default: description: An unexpected error response. schema: type: object properties: error: type: string code: type: integer format: int32 message: type: string details: type: array items: type: object properties: type_url: type: string description: >- A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one "/" character. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading "." is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics. value: type: string format: byte description: >- Must be a valid serialized protocol buffer of the above specified type. description: >- `Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z". JSON The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" } parameters: - name: pagination.key description: |- key is a value returned in PageResponse.next_key to begin querying the next page most efficiently. Only one of offset or key should be set. in: query required: false type: string format: byte - name: pagination.offset description: >- offset is a numeric offset that can be used when key is unavailable. It is less efficient than using key. Only one of offset or key should be set. in: query required: false type: string format: uint64 - name: pagination.limit description: >- limit is the total number of results to be returned in the result page. If left empty it will default to a value to be set by each app. in: query required: false type: string format: uint64 - name: pagination.count_total description: >- count_total is set to true to indicate that the result set should include a count of the total number of items available for pagination in UIs. count_total is only respected when offset is used. It is ignored when key is set. in: query required: false type: boolean - name: pagination.reverse description: >- reverse is set to true if results are to be returned in the descending order. Since: cosmos-sdk 0.43 in: query required: false type: boolean tags: - 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 /babylon/finality/v1/vp_dst_cache/{height}: get: summary: >- VotingPowerDistribution queries the voting power distribution cache Note: The vp dst cache is only kept at the store until that block height is finalized operationId: VotingPowerDistribution responses: '200': description: A successful response. schema: type: object properties: total_voting_power: type: string format: uint64 title: >- total_voting_power is the total voting power of all (active) finality providers in the cache finality_providers: type: array items: type: object properties: btc_pk_hex: type: string title: >- btc_pk_hex is the hex str of Bitcoin secp256k1 PK of this finality provider the PK follows encoding in BIP-340 spec addr: type: string title: >- addr is the babylon address to receive commission from delegations commission: type: string title: >- commission defines the commission rate of finality provider total_bonded_sat: type: string format: uint64 title: >- total_bonded_sat is the total amount of bonded BTC stake (in Satoshi) of the finality provider is_timestamped: type: boolean title: |- is_timestamped indicates whether the finality provider has timestamped public randomness committed if no, it should not be assigned voting power is_jailed: type: boolean title: |- is_jailed indicates whether the finality provider is jailed, if so, it should not be assigned voting power is_slashed: type: boolean title: >- is_slashed indicates whether the finality provider is slashed, if so, it should not be assigned voting power title: >- FinalityProviderDistInfoResponse is the voting power distribution information of a finality provider and its BTC delegations combined title: finality_providers is a list of finality providers information num_active_fps: type: string format: uint64 title: >- num_active_fps is the number of finality providers that have active BTC delegations as well as timestamped public randomness description: |- QueryVotingPowerDistributionResponse is the response type for the Query/VotingPowerDistribution 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 block height to query the vp dst cache. 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 /babylon/incentive/address/{address}/reward_gauge: get: summary: RewardGauge queries the reward gauge of a given stakeholder address operationId: RewardGauges responses: '200': description: A successful response. schema: type: object properties: reward_gauges: type: object additionalProperties: type: object properties: coins: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- coins are coins that have been in the gauge Can have multiple coin denoms withdrawn_coins: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: >- withdrawn_coins are coins that have been withdrawn by the stakeholder already title: >- RewardGaugesResponse is an object that stores rewards distributed to a BTC staking stakeholder title: >- reward_gauges is the map of reward gauges, where key is the stakeholder type and value is the reward gauge holding all rewards for the stakeholder in that type description: >- QueryRewardGaugesResponse is response type for the Query/RewardGauges 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: address description: address is the address of the stakeholder in bech32 string in: path required: true type: string tags: - Query /babylon/incentive/btc_staking_gauge/{height}: get: summary: BTCStakingGauge queries the BTC staking gauge of a given height operationId: BTCStakingGauge responses: '200': description: A successful response. schema: type: object properties: gauge: title: gauge is the BTC staking gauge at the queried height type: object properties: coins: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- coins that have been in the gauge can have multiple coin denoms description: >- BTCStakingGaugeResponse is response type for the Query/BTCStakingGauge RPC method. description: >- QueryBTCStakingGaugeResponse is response type for the Query/BTCStakingGauge 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 queried Babylon height in: path required: true type: string format: uint64 tags: - Query /babylon/incentive/delegators/{delegator_address}/withdraw_address: get: summary: DelegatorWithdrawAddress queries withdraw address of a delegator. operationId: DelegatorWithdrawAddress responses: '200': description: A successful response. schema: type: object properties: withdraw_address: type: string description: withdraw_address defines the delegator address to query for. description: |- QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress 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: delegator_address description: delegator_address defines the delegator address to query for. in: path required: true type: string tags: - Query /babylon/incentive/finality_providers/{finality_provider_address}/delegators/{delegator_address}/delegation_rewards: get: summary: >- DelegationRewards queries the delegation rewards of given finality provider and delegator addresses operationId: DelegationRewards responses: '200': description: A successful response. schema: type: object properties: rewards: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- rewards are the delegation reward coins Can have multiple coin denoms description: |- QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards 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: finality_provider_address description: >- finality_provider_address defines the finality provider address of the delegation. in: path required: true type: string - name: delegator_address description: delegator_address defines the delegator address to query for. in: path required: true type: string tags: - Query /babylon/incentive/finality_providers_current_rewards/{finality_provider_address}: get: summary: FpCurrentRewards queries the finality provider pool of rewards operationId: FpCurrentRewards responses: '200': description: A successful response. schema: type: object properties: current_rewards: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. description: >- CurrentRewards is the current rewards that the finality provider have to be distributed for his BTC stakers. period: type: string format: uint64 description: |- Period is the current period that serves as a reference for creating new historical rewards. total_active_sat: type: string format: byte description: |- TotalActiveSat is the total amount of active satoshi delegated to this finality provider. description: |- QueryFpCurrentRewardsResponse is the response type for the Query/FpCurrentRewards 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: finality_provider_address description: >- finality_provider_address defines the finality provider address of the delegation. in: path required: true type: string tags: - Query /babylon/incentive/params: get: summary: Parameters queries the parameters of the module. operationId: IncentiveParams responses: '200': description: A successful response. schema: type: object properties: params: description: params holds all the parameters of this module. type: object properties: btc_staking_portion: type: string title: >- btc_staking_portion is the portion of rewards that goes to Finality Providers/delegations NOTE: the portion of each Finality Provider/delegation is calculated by using its voting power and finality provider's commission fp_portion: type: string title: >- fp_portion is the percentage of fee_collector balance to collect each block and send to the finality providers reward gauge title: >- Params defines the parameters for the module, including portions of rewards distributed to each type of stakeholder. Note that sum of the portions should be strictly less than 1 so that the rest will go to Comet validators/delegations adapted from https://github.com/cosmos/cosmos-sdk/blob/release/v0.47.x/proto/cosmos/distribution/v1beta1/distribution.proto 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/costaking/v1/costakers/{costaker_address}/rewards_tracker: get: summary: CostakerRewardsTracker queries the costaker reward tracker. operationId: CostakerRewardsTracker responses: '200': description: A successful response. schema: type: object properties: start_period_cumulative_reward: type: string format: uint64 description: >- StartPeriodCumulativeReward the starting period the costaker made his last withdraw of costaking rewards or modified his active staking amount of satoshis or baby. active_satoshis: type: string format: byte description: |- ActiveSatoshis is the total amount of active satoshi delegated from this costaker babylon address. active_baby: type: string format: byte description: |- ActiveBaby is the total amount of active baby delegated from this costaker babylon address. total_score: type: string format: byte description: |- TotalScore is the total amount of calculated score of this costaker. description: |- QueryCostakerRewardsTrackerResponse is the response type for the Query/CostakerRewardsTracker 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: costaker_address description: costakerAddress defines the delegator address to query for. in: path required: true type: string tags: - Query /babylon/costaking/v1/current_rewards: get: summary: >- CurrentRewards queries the current rewards structure for costaking single pool. operationId: CurrentRewards responses: '200': description: A successful response. schema: type: object properties: rewards: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. description: >- Rewards is the current rewards for the single pool of rewards for all the costakers for the whole chain. If some action happens of satoshi or baby staked or is unbonded or withdraw of the rewards available, this current period is sent to an HistoricalRewards and a new period is created and the rewards property is zerod out. Note: This rewards have increased simulated decimals (10^20) to increase precision when calculating the rewards per score and protect against math overflow issues. The decimals are removed prior to sending out to the incentives gauge. period: type: string format: uint64 description: >- Period stores the current period that serves as a reference for creating new historical rewards and correlate with CostakerRewardsTracker StartPeriodCumulativeReward. total_score: type: string format: byte description: |- TotalScore is the total amount of score calulated over all the stakers score in the chain. description: >- QueryCurrentRewardsResponse is response type for the Query/CurrentRewards 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/costaking/v1/historical_rewards/{period}: get: summary: >- HistoricalRewards queries the historical rewards structure per period for costaking single pool. operationId: HistoricalRewards responses: '200': description: A successful response. schema: type: object properties: cumulative_rewards_per_score: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: >- CumulativeRewardsPerScore is the cumulative rewards of that period. This coins will aways increase the value, never reduced, it always accumulates and when the cumulative rewards will be used to distribute rewards, 2 periods will be loaded, calculate the difference and multiplied by the total score amount of each staker description: |- QueryHistoricalRewardsResponse is response type for the Query/HistoricalRewards 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: period description: >- Period is the historical period which the HistoricalRewards was stored. in: path required: true type: string format: uint64 tags: - Query /babylon/costaking/v1/params: get: summary: Params queries the parameters of the module. operationId: CostakingParams responses: '200': description: A successful response. schema: type: object properties: params: description: Params holds all the parameters of this module. type: object properties: costaking_portion: type: string description: >- CostakingPortion is the portion of rewards that goes to costakers NOTE: This portion of costakers is taken after the incentive module takes part of the fee_collector to give out to BTC stakers. score_ratio_btc_by_baby: type: string format: byte title: >- ScoreRatioBtcByBaby defines the amount of ubbn necessary for the sats staked to count as score in the formula. score: min(costakers_sats_staked, (costakers_ubbn_staked / score_ratio_btc_by_baby)) validators_portion: type: string description: >- ValidatorsPortion is the portion of rewards that goes to Babylon Validators NOTE: This portion of validators is taken after the incentive module takes part of the fee_collector balance to give out to validators that correctly voted. 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 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.ExecuteGas: type: object properties: delegate: type: string format: uint64 undelegate: type: string format: uint64 begin_redelegate: type: string format: uint64 cancel_unbonding_delegation: type: string format: uint64 edit_validator: type: string format: uint64 create_validator: type: string format: uint64 description: ExecuteGas defines the raw gas for the enqueued message execution. 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 execute_gas: description: execute_gas defines raw gas for different executions. type: object properties: delegate: type: string format: uint64 undelegate: type: string format: uint64 begin_redelegate: type: string format: uint64 cancel_unbonding_delegation: type: string format: uint64 edit_validator: type: string format: uint64 create_validator: type: string format: uint64 min_amount: type: string format: uint64 title: >- minimum_amount is a minimum amount for staking message cancel_unbonding_delegation 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. 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 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. 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 title: QueryEpochInfoRequest is the response type for the Query/EpochInfo method babylon.epoching.v1.QueryEpochMsgsResponse: type: object properties: 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. msg_type: type: string description: >- msg_type is a string that identifies the type of the underlying message. 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: int64 pagination: type: object properties: next_key: type: string format: byte description: |- next_key is the key to be passed to PageRequest.key to query the next page most efficiently. It will be empty if there are no more results. total: type: string format: uint64 title: >- total is total number of results available if PageRequest.count_total was set, its value is undefined otherwise description: |- PageResponse is to be embedded in gRPC response messages where the corresponding request message has used PageRequest. message SomeResponse { repeated Bar results = 1; PageResponse page = 2; } 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: 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 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: >- QueryEpochsInfoResponse is the response type for the Query/EpochInfos method babylon.epoching.v1.QueryLatestEpochMsgsResponse: type: object properties: latest_epoch_msgs: type: array items: 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. msg_type: type: string description: >- msg_type is a string that identifies the type of the underlying message. 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 title: |- latest_epoch_msgs is a list of QueuedMessageList each QueuedMessageList has a field identifying the epoch number 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: |- 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 execute_gas: description: execute_gas defines raw gas for different executions. type: object properties: delegate: type: string format: uint64 undelegate: type: string format: uint64 begin_redelegate: type: string format: uint64 cancel_unbonding_delegation: type: string format: uint64 edit_validator: type: string format: uint64 create_validator: type: string format: uint64 min_amount: type: string format: uint64 title: >- minimum_amount is a minimum amount for staking message cancel_unbonding_delegation 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. msg_type: type: string description: >- msg_type is a string that identifies the type of the underlying message. 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. msg_type: type: string description: >- msg_type is a string that identifies the type of the underlying message. 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: 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. 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. There are two possible valid state transition paths for a BTC delegation: - PENDING -> VERIFIED -> ACTIVE -> UNBONDED -> EXPIRED - PENDING -> VERIFIED -> ACTIVE -> UNBONDED/EXPIRED and one invalid state transition path: - PENDING -> VERIFIED -> UNBONDED i.e the staker unbonded before activating delegation on Babylon chain. In valid transition paths, the delegation becomes UNBONDED when: - either the staking transaction timelock expires - or the staker requests early undelegation through MsgBTCUndelegate message. - 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 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. 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 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 babylon.btcstaking.v1.CommissionInfo: type: object properties: max_rate: type: string description: >- max_rate defines the maximum commission rate which validator can ever charge, as a fraction. max_change_rate: type: string description: >- max_change_rate defines the maximum daily increase of the validator commission, as a fraction. update_time: type: string format: date-time description: update_time is the last time the commission rate was changed. description: |- CommissionInfo defines the information related to the commission of a finality provider. 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 filled only if the spend_stake_tx_hex is different than the unbonding_tx_hex title: >- DelegatorUnbondingInfoResponse provides all necessary info about transaction 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) 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 commission_info: description: >- commission_info contains information details of the finality provider commission. type: object properties: max_rate: type: string description: >- max_rate defines the maximum commission rate which validator can ever charge, as a fraction. max_change_rate: type: string description: >- max_change_rate defines the maximum daily increase of the validator commission, as a fraction. update_time: type: string format: date-time description: update_time is the last time the commission rate was changed. soft_deleted: type: boolean description: |- soft_deleted defines if the fp is soft deleted or not. If it is soft deleted the FP can't cast votes. 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 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: 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 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. title: >- QueryBTCDelegationResponse is response type matching QueryBTCDelegationRequest and containing BTC delegation information babylon.btcstaking.v1.QueryBTCDelegationsResponse: type: object properties: 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 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: 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. 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. 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 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 stk_exp: description: >- stk_exp contains the stake expansion information, if nil it is NOT a stake expansion. type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. 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: 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: |- QueryFinalityProviderDelegationsResponse is the response type for the Query/FinalityProviderDelegations RPC method. babylon.btcstaking.v1.QueryFinalityProviderResponse: type: object properties: 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 commission_info: description: >- commission_info contains information details of the finality provider commission. type: object properties: max_rate: type: string description: >- max_rate defines the maximum commission rate which validator can ever charge, as a fraction. max_change_rate: type: string description: >- max_change_rate defines the maximum daily increase of the validator commission, as a fraction. update_time: type: string format: date-time description: update_time is the last time the commission rate was changed. soft_deleted: type: boolean description: >- soft_deleted defines if the fp is soft deleted or not. If it is soft deleted the FP can't cast votes. 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: finality_providers: type: array items: 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 commission_info: description: >- commission_info contains information details of the finality provider commission. type: object properties: max_rate: type: string description: >- max_rate defines the maximum commission rate which validator can ever charge, as a fraction. max_change_rate: type: string description: >- max_change_rate defines the maximum daily increase of the validator commission, as a fraction. update_time: type: string format: date-time description: >- update_time is the last time the commission rate was changed. soft_deleted: type: boolean description: >- soft_deleted defines if the fp is soft deleted or not. If it is soft deleted the FP can't cast votes. 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 was set, its value is undefined otherwise description: |- QueryFinalityProvidersResponse is the response type for the Query/FinalityProviders RPC method. babylon.btcstaking.v1.QueryLargestBtcReOrgResponse: type: object properties: block_diff: type: integer format: int64 title: >- BlockDiff is the difference of the block height of the BTC header Tip - the btc height which it was rolled back rollback_from: title: RollbackFrom is the latest BTC block header prior to rollback 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. rollback_to: title: RollbackTo is the BTC block header which we rollback to 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. title: QueryLargestBtcReOrgResponse stores the largest BTC reorg recorded 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: >- 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. babylon.btcstaking.v1.QueryParamsByVersionResponse: 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. babylon.btcstaking.v1.QueryParamsResponse: 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. babylon.btcstaking.v1.QueryParamsVersionsResponse: type: object properties: params: type: array items: type: object properties: version: type: integer format: int64 title: |- version of the stored parameters. Each parameters update increments version number by 1 params: title: 'NOTE: Parameters must always be provided' 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: Params defines the parameters for the module. title: >- StoredParams attach information about the version of stored parameters description: params holds all the params with version from this module. 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: QueryParamsVersionsResponse stores all the params with versions. babylon.btcstaking.v1.SignatureInfo: 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 babylon.btcstaking.v1.StakeExpansionResponse: type: object properties: previous_staking_tx_hash_hex: type: string description: >- previous_staking_tx_hash is the hex hash of the staking tx that was used as input to the stake expansion. other_funding_tx_out_hex: type: string description: >- other_funding_tx_out is the other funding output (TxOut) which was used as input to construct the BTC delegation. The stake expansion has a set of 2 inputs, the first input is the previous staking transaction and the second input (this one) is to pay for fees and optionally to add more stake to the BTC delegation. previous_stk_covenant_sigs: 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 description: >- previous_stk_covenant_sigs is a list of signatures on the stake expansion transaction (i.e., the transaction spending the previous staking transaction {previous_staking_tx_hash}) by each covenant member. It must be provided to allow the previous staking tx to be spent as an transaction input of another BTC staking transaction. description: >- StakeExpansionResponse stores information necessary to construct the expanded BTC staking transaction created from a previous BTC staking. babylon.btcstaking.v1.StoredParams: type: object properties: version: type: integer format: int64 title: |- version of the stored parameters. Each parameters update increments version number by 1 params: title: 'NOTE: Parameters must always be provided' 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: Params defines the parameters for the module. title: StoredParams attach information about the version of stored parameters cosmos.staking.v1beta1.Description: type: object properties: moniker: type: string description: moniker defines a human-readable name for the validator. identity: type: string description: >- identity defines an optional identity signature (ex. UPort or Keybase). website: type: string description: website defines an optional website link. security_contact: type: string description: security_contact defines an optional email for security contact. details: type: string description: details define other optional details. description: Description defines a validator description. 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: 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. babylon.finality.v1.EvidenceResponse: 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 babylon.finality.v1.FinalityProviderDistInfoResponse: type: object properties: btc_pk_hex: type: string title: >- btc_pk_hex is the hex str of Bitcoin secp256k1 PK of this finality provider the PK follows encoding in BIP-340 spec addr: type: string title: addr is the babylon address to receive commission from delegations commission: type: string title: commission defines the commission rate of finality provider total_bonded_sat: type: string format: uint64 title: >- total_bonded_sat is the total amount of bonded BTC stake (in Satoshi) of the finality provider is_timestamped: type: boolean title: |- is_timestamped indicates whether the finality provider has timestamped public randomness committed if no, it should not be assigned voting power is_jailed: type: boolean title: |- is_jailed indicates whether the finality provider is jailed, if so, it should not be assigned voting power is_slashed: type: boolean title: |- is_slashed indicates whether the finality provider is slashed, if so, it should not be assigned voting power title: >- FinalityProviderDistInfoResponse is the voting power distribution information of a finality provider and its BTC delegations combined babylon.finality.v1.IndexedBlock: 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 babylon.finality.v1.Params: 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: Params defines the parameters for the module. babylon.finality.v1.PubRandCommitResponse: 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 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. - 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: 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: 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. babylon.finality.v1.QueryBlockResponse: 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. babylon.finality.v1.QueryEvidenceResponse: 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. babylon.finality.v1.QueryFinalityProviderCurrentPowerResponse: 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. 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: 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. babylon.finality.v1.QueryListEvidencesResponse: 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. babylon.finality.v1.QueryListPubRandCommitResponse: 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. 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 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. 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 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. babylon.finality.v1.QuerySigningInfoResponse: 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 babylon.finality.v1.QuerySigningInfosResponse: 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 babylon.finality.v1.QueryVotesAtHeightResponse: 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. babylon.finality.v1.QueryVotingPowerDistributionResponse: type: object properties: total_voting_power: type: string format: uint64 title: |- total_voting_power is the total voting power of all (active) finality providers in the cache finality_providers: type: array items: type: object properties: btc_pk_hex: type: string title: >- btc_pk_hex is the hex str of Bitcoin secp256k1 PK of this finality provider the PK follows encoding in BIP-340 spec addr: type: string title: >- addr is the babylon address to receive commission from delegations commission: type: string title: commission defines the commission rate of finality provider total_bonded_sat: type: string format: uint64 title: >- total_bonded_sat is the total amount of bonded BTC stake (in Satoshi) of the finality provider is_timestamped: type: boolean title: |- is_timestamped indicates whether the finality provider has timestamped public randomness committed if no, it should not be assigned voting power is_jailed: type: boolean title: |- is_jailed indicates whether the finality provider is jailed, if so, it should not be assigned voting power is_slashed: type: boolean title: |- is_slashed indicates whether the finality provider is slashed, if so, it should not be assigned voting power title: >- FinalityProviderDistInfoResponse is the voting power distribution information of a finality provider and its BTC delegations combined title: finality_providers is a list of finality providers information num_active_fps: type: string format: uint64 title: >- num_active_fps is the number of finality providers that have active BTC delegations as well as timestamped public randomness description: |- QueryVotingPowerDistributionResponse is the response type for the Query/VotingPowerDistribution RPC method. babylon.finality.v1.SigningInfoResponse: 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. babylon.mint.v1.QueryAnnualProvisionsResponse: 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. 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: >- QueryGenesisTimeResponse is the response type for the Query/GenesisTime RPC method. babylon.mint.v1.QueryInflationRateResponse: 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. babylon.monitor.v1.QueryEndedEpochBtcHeightResponse: 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 babylon.monitor.v1.QueryReportedCheckpointBtcHeightResponse: 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 babylon.checkpointing.v1.BlsPublicKeyListResponse: 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 babylon.checkpointing.v1.CheckpointStateUpdateResponse: 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. babylon.checkpointing.v1.CheckpointStatus: 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. babylon.checkpointing.v1.QueryBlsPublicKeyListResponse: 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. babylon.checkpointing.v1.QueryEpochStatusResponse: 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. babylon.checkpointing.v1.QueryLastCheckpointWithStatusResponse: 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. babylon.checkpointing.v1.QueryRawCheckpointListResponse: 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. babylon.checkpointing.v1.QueryRawCheckpointResponse: 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. babylon.checkpointing.v1.QueryRawCheckpointsResponse: 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. babylon.checkpointing.v1.QueryRecentEpochStatusCountResponse: 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. babylon.checkpointing.v1.RawCheckpointResponse: 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 babylon.checkpointing.v1.RawCheckpointWithMetaResponse: 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. babylon.incentive.BTCStakingGaugeResponse: type: object properties: coins: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- coins that have been in the gauge can have multiple coin denoms description: |- BTCStakingGaugeResponse is response type for the Query/BTCStakingGauge RPC method. babylon.incentive.Params: type: object properties: btc_staking_portion: type: string title: >- btc_staking_portion is the portion of rewards that goes to Finality Providers/delegations NOTE: the portion of each Finality Provider/delegation is calculated by using its voting power and finality provider's commission fp_portion: type: string title: >- fp_portion is the percentage of fee_collector balance to collect each block and send to the finality providers reward gauge title: >- Params defines the parameters for the module, including portions of rewards distributed to each type of stakeholder. Note that sum of the portions should be strictly less than 1 so that the rest will go to Comet validators/delegations adapted from https://github.com/cosmos/cosmos-sdk/blob/release/v0.47.x/proto/cosmos/distribution/v1beta1/distribution.proto babylon.incentive.QueryBTCStakingGaugeResponse: type: object properties: gauge: title: gauge is the BTC staking gauge at the queried height type: object properties: coins: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- coins that have been in the gauge can have multiple coin denoms description: >- BTCStakingGaugeResponse is response type for the Query/BTCStakingGauge RPC method. description: >- QueryBTCStakingGaugeResponse is response type for the Query/BTCStakingGauge RPC method. babylon.incentive.QueryDelegationRewardsResponse: type: object properties: rewards: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- rewards are the delegation reward coins Can have multiple coin denoms description: |- QueryDelegationRewardsResponse is the response type for the Query/DelegationRewards RPC method. babylon.incentive.QueryDelegatorWithdrawAddressResponse: type: object properties: withdraw_address: type: string description: withdraw_address defines the delegator address to query for. description: |- QueryDelegatorWithdrawAddressResponse is the response type for the Query/DelegatorWithdrawAddress RPC method. babylon.incentive.QueryFpCurrentRewardsResponse: type: object properties: current_rewards: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. description: |- CurrentRewards is the current rewards that the finality provider have to be distributed for his BTC stakers. period: type: string format: uint64 description: |- Period is the current period that serves as a reference for creating new historical rewards. total_active_sat: type: string format: byte description: |- TotalActiveSat is the total amount of active satoshi delegated to this finality provider. description: |- QueryFpCurrentRewardsResponse is the response type for the Query/FpCurrentRewards RPC method. babylon.incentive.QueryParamsResponse: type: object properties: params: description: params holds all the parameters of this module. type: object properties: btc_staking_portion: type: string title: >- btc_staking_portion is the portion of rewards that goes to Finality Providers/delegations NOTE: the portion of each Finality Provider/delegation is calculated by using its voting power and finality provider's commission fp_portion: type: string title: >- fp_portion is the percentage of fee_collector balance to collect each block and send to the finality providers reward gauge title: >- Params defines the parameters for the module, including portions of rewards distributed to each type of stakeholder. Note that sum of the portions should be strictly less than 1 so that the rest will go to Comet validators/delegations adapted from https://github.com/cosmos/cosmos-sdk/blob/release/v0.47.x/proto/cosmos/distribution/v1beta1/distribution.proto description: QueryParamsResponse is response type for the Query/Params RPC method. babylon.incentive.QueryRewardGaugesResponse: type: object properties: reward_gauges: type: object additionalProperties: type: object properties: coins: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- coins are coins that have been in the gauge Can have multiple coin denoms withdrawn_coins: type: array items: type: object properties: denom: type: string amount: type: string description: >- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: >- withdrawn_coins are coins that have been withdrawn by the stakeholder already title: >- RewardGaugesResponse is an object that stores rewards distributed to a BTC staking stakeholder title: >- reward_gauges is the map of reward gauges, where key is the stakeholder type and value is the reward gauge holding all rewards for the stakeholder in that type description: |- QueryRewardGaugesResponse is response type for the Query/RewardGauges RPC method. babylon.incentive.RewardGaugesResponse: type: object properties: coins: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- coins are coins that have been in the gauge Can have multiple coin denoms withdrawn_coins: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: |- withdrawn_coins are coins that have been withdrawn by the stakeholder already title: |- RewardGaugesResponse is an object that stores rewards distributed to a BTC staking stakeholder babylon.costaking.v1.Params: type: object properties: costaking_portion: type: string description: |- CostakingPortion is the portion of rewards that goes to costakers NOTE: This portion of costakers is taken after the incentive module takes part of the fee_collector to give out to BTC stakers. score_ratio_btc_by_baby: type: string format: byte title: |- ScoreRatioBtcByBaby defines the amount of ubbn necessary for the sats staked to count as score in the formula. score: min(costakers_sats_staked, (costakers_ubbn_staked / score_ratio_btc_by_baby)) validators_portion: type: string description: >- ValidatorsPortion is the portion of rewards that goes to Babylon Validators NOTE: This portion of validators is taken after the incentive module takes part of the fee_collector balance to give out to validators that correctly voted. description: Params defines the parameters for the module. babylon.costaking.v1.QueryCostakerRewardsTrackerResponse: type: object properties: start_period_cumulative_reward: type: string format: uint64 description: >- StartPeriodCumulativeReward the starting period the costaker made his last withdraw of costaking rewards or modified his active staking amount of satoshis or baby. active_satoshis: type: string format: byte description: |- ActiveSatoshis is the total amount of active satoshi delegated from this costaker babylon address. active_baby: type: string format: byte description: |- ActiveBaby is the total amount of active baby delegated from this costaker babylon address. total_score: type: string format: byte description: |- TotalScore is the total amount of calculated score of this costaker. description: |- QueryCostakerRewardsTrackerResponse is the response type for the Query/CostakerRewardsTracker RPC method. babylon.costaking.v1.QueryCurrentRewardsResponse: type: object properties: rewards: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. description: >- Rewards is the current rewards for the single pool of rewards for all the costakers for the whole chain. If some action happens of satoshi or baby staked or is unbonded or withdraw of the rewards available, this current period is sent to an HistoricalRewards and a new period is created and the rewards property is zerod out. Note: This rewards have increased simulated decimals (10^20) to increase precision when calculating the rewards per score and protect against math overflow issues. The decimals are removed prior to sending out to the incentives gauge. period: type: string format: uint64 description: |- Period stores the current period that serves as a reference for creating new historical rewards and correlate with CostakerRewardsTracker StartPeriodCumulativeReward. total_score: type: string format: byte description: |- TotalScore is the total amount of score calulated over all the stakers score in the chain. description: >- QueryCurrentRewardsResponse is response type for the Query/CurrentRewards RPC method. babylon.costaking.v1.QueryHistoricalRewardsResponse: type: object properties: cumulative_rewards_per_score: type: array items: type: object properties: denom: type: string amount: type: string description: |- Coin defines a token with a denomination and an amount. NOTE: The amount field is an Int which implements the custom method signatures required by gogoproto. title: >- CumulativeRewardsPerScore is the cumulative rewards of that period. This coins will aways increase the value, never reduced, it always accumulates and when the cumulative rewards will be used to distribute rewards, 2 periods will be loaded, calculate the difference and multiplied by the total score amount of each staker description: |- QueryHistoricalRewardsResponse is response type for the Query/HistoricalRewards RPC method. babylon.costaking.v1.QueryParamsResponse: type: object properties: params: description: Params holds all the parameters of this module. type: object properties: costaking_portion: type: string description: >- CostakingPortion is the portion of rewards that goes to costakers NOTE: This portion of costakers is taken after the incentive module takes part of the fee_collector to give out to BTC stakers. score_ratio_btc_by_baby: type: string format: byte title: |- ScoreRatioBtcByBaby defines the amount of ubbn necessary for the sats staked to count as score in the formula. score: min(costakers_sats_staked, (costakers_ubbn_staked / score_ratio_btc_by_baby)) validators_portion: type: string description: >- ValidatorsPortion is the portion of rewards that goes to Babylon Validators NOTE: This portion of validators is taken after the incentive module takes part of the fee_collector balance to give out to validators that correctly voted. description: QueryParamsResponse is response type for the Query/Params RPC method.