From 5f5ba8de0f04fc807a2c5683ab49235c8514cfc9 Mon Sep 17 00:00:00 2001 From: Mauro Lacy Date: Mon, 2 Dec 2024 08:05:49 +0100 Subject: [PATCH] Rm auto register 2 (#89) A small follow-up to #87 --- .../babylon/schema/babylon-contract.json | 34 +++--- contracts/babylon/schema/raw/instantiate.json | 4 +- contracts/babylon/schema/raw/query.json | 4 +- .../raw/response_to_btc_base_header.json | 2 +- .../schema/raw/response_to_btc_header.json | 2 +- .../raw/response_to_btc_header_by_hash.json | 2 +- .../schema/raw/response_to_btc_headers.json | 2 +- .../raw/response_to_btc_tip_header.json | 2 +- .../schema/raw/response_to_config.json | 4 +- .../schema/raw/response_to_cz_header.json | 6 +- .../raw/response_to_cz_last_header.json | 6 +- contracts/babylon/src/ibc.rs | 17 ++- .../btc-finality/schema/btc-finality.json | 110 +++++++++++++----- .../btc-finality/schema/raw/execute.json | 28 +++-- .../btc-finality/schema/raw/instantiate.json | 6 +- .../schema/raw/response_to_delegation.json | 28 +++-- .../schema/raw/response_to_delegations.json | 38 ++++-- .../raw/response_to_finality_provider.json | 2 +- .../raw/response_to_finality_providers.json | 2 +- .../schema/raw/response_to_params.json | 6 +- contracts/btc-staking/schema/btc-staking.json | 110 +++++++++++++----- contracts/btc-staking/schema/raw/execute.json | 28 +++-- .../btc-staking/schema/raw/instantiate.json | 6 +- .../schema/raw/response_to_delegation.json | 28 +++-- .../schema/raw/response_to_delegations.json | 38 ++++-- .../raw/response_to_finality_provider.json | 2 +- .../raw/response_to_finality_providers.json | 2 +- .../schema/raw/response_to_params.json | 6 +- contracts/btc-staking/src/state/staking.rs | 2 +- contracts/btc-staking/src/validation/mod.rs | 3 +- go.work.sum | 44 +++++++ packages/apis/src/btc_staking_api.rs | 2 +- packages/btcstaking/src/tx_verify.rs | 3 +- packages/proto/babylon | 2 +- packages/test-utils/src/lib.rs | 2 +- scripts/protocgen.sh | 2 + 36 files changed, 405 insertions(+), 180 deletions(-) diff --git a/contracts/babylon/schema/babylon-contract.json b/contracts/babylon/schema/babylon-contract.json index f325a925..21cf91de 100644 --- a/contracts/babylon/schema/babylon-contract.json +++ b/contracts/babylon/schema/babylon-contract.json @@ -27,7 +27,7 @@ }, "btc_confirmation_depth": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "btc_finality_code_id": { @@ -72,7 +72,7 @@ }, "checkpoint_finalization_timeout": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "consumer_description": { @@ -351,7 +351,7 @@ "properties": { "height": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -411,7 +411,7 @@ "integer", "null" ], - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -836,7 +836,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -928,7 +928,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -1020,7 +1020,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -1174,7 +1174,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -1221,7 +1221,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -1300,7 +1300,7 @@ }, "btc_confirmation_depth": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "btc_finality": { @@ -1327,7 +1327,7 @@ }, "checkpoint_finalization_timeout": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "consumer_description": { @@ -1379,7 +1379,7 @@ "babylon_header_hash", "babylon_header_height", "babylon_tx_hash", - "chain_id", + "consumer_id", "hash", "height" ], @@ -1404,8 +1404,8 @@ "description": "babylon_tx_hash is the hash of the tx that includes this header. (babylon_block_height, babylon_tx_hash) jointly provides the position of the header in the Babylon ledger. Hex-encoded string of 32 bytes", "type": "string" }, - "chain_id": { - "description": "chain_id is the unique ID of the chain", + "consumer_id": { + "description": "consumer_id is the unique ID of the consumer", "type": "string" }, "hash": { @@ -1456,7 +1456,7 @@ "babylon_header_hash", "babylon_header_height", "babylon_tx_hash", - "chain_id", + "consumer_id", "hash", "height" ], @@ -1481,8 +1481,8 @@ "description": "babylon_tx_hash is the hash of the tx that includes this header. (babylon_block_height, babylon_tx_hash) jointly provides the position of the header in the Babylon ledger. Hex-encoded string of 32 bytes", "type": "string" }, - "chain_id": { - "description": "chain_id is the unique ID of the chain", + "consumer_id": { + "description": "consumer_id is the unique ID of the consumer", "type": "string" }, "hash": { diff --git a/contracts/babylon/schema/raw/instantiate.json b/contracts/babylon/schema/raw/instantiate.json index 89440deb..16a23a79 100644 --- a/contracts/babylon/schema/raw/instantiate.json +++ b/contracts/babylon/schema/raw/instantiate.json @@ -23,7 +23,7 @@ }, "btc_confirmation_depth": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "btc_finality_code_id": { @@ -68,7 +68,7 @@ }, "checkpoint_finalization_timeout": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "consumer_description": { diff --git a/contracts/babylon/schema/raw/query.json b/contracts/babylon/schema/raw/query.json index 08851b8a..e4991b84 100644 --- a/contracts/babylon/schema/raw/query.json +++ b/contracts/babylon/schema/raw/query.json @@ -59,7 +59,7 @@ "properties": { "height": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, @@ -119,7 +119,7 @@ "integer", "null" ], - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, diff --git a/contracts/babylon/schema/raw/response_to_btc_base_header.json b/contracts/babylon/schema/raw/response_to_btc_base_header.json index 8b517c33..e7241362 100644 --- a/contracts/babylon/schema/raw/response_to_btc_base_header.json +++ b/contracts/babylon/schema/raw/response_to_btc_base_header.json @@ -33,7 +33,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, diff --git a/contracts/babylon/schema/raw/response_to_btc_header.json b/contracts/babylon/schema/raw/response_to_btc_header.json index 8b517c33..e7241362 100644 --- a/contracts/babylon/schema/raw/response_to_btc_header.json +++ b/contracts/babylon/schema/raw/response_to_btc_header.json @@ -33,7 +33,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, diff --git a/contracts/babylon/schema/raw/response_to_btc_header_by_hash.json b/contracts/babylon/schema/raw/response_to_btc_header_by_hash.json index 8b517c33..e7241362 100644 --- a/contracts/babylon/schema/raw/response_to_btc_header_by_hash.json +++ b/contracts/babylon/schema/raw/response_to_btc_header_by_hash.json @@ -33,7 +33,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, diff --git a/contracts/babylon/schema/raw/response_to_btc_headers.json b/contracts/babylon/schema/raw/response_to_btc_headers.json index 841c0291..2eeecd83 100644 --- a/contracts/babylon/schema/raw/response_to_btc_headers.json +++ b/contracts/babylon/schema/raw/response_to_btc_headers.json @@ -95,7 +95,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, diff --git a/contracts/babylon/schema/raw/response_to_btc_tip_header.json b/contracts/babylon/schema/raw/response_to_btc_tip_header.json index 8b517c33..e7241362 100644 --- a/contracts/babylon/schema/raw/response_to_btc_tip_header.json +++ b/contracts/babylon/schema/raw/response_to_btc_tip_header.json @@ -33,7 +33,7 @@ "height": { "description": "The height of the block in the BTC blockchain.", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 } }, diff --git a/contracts/babylon/schema/raw/response_to_config.json b/contracts/babylon/schema/raw/response_to_config.json index f097e13b..60409127 100644 --- a/contracts/babylon/schema/raw/response_to_config.json +++ b/contracts/babylon/schema/raw/response_to_config.json @@ -20,7 +20,7 @@ }, "btc_confirmation_depth": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "btc_finality": { @@ -47,7 +47,7 @@ }, "checkpoint_finalization_timeout": { "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "consumer_description": { diff --git a/contracts/babylon/schema/raw/response_to_cz_header.json b/contracts/babylon/schema/raw/response_to_cz_header.json index 881b903f..45e55850 100644 --- a/contracts/babylon/schema/raw/response_to_cz_header.json +++ b/contracts/babylon/schema/raw/response_to_cz_header.json @@ -8,7 +8,7 @@ "babylon_header_hash", "babylon_header_height", "babylon_tx_hash", - "chain_id", + "consumer_id", "hash", "height" ], @@ -33,8 +33,8 @@ "description": "babylon_tx_hash is the hash of the tx that includes this header. (babylon_block_height, babylon_tx_hash) jointly provides the position of the header in the Babylon ledger. Hex-encoded string of 32 bytes", "type": "string" }, - "chain_id": { - "description": "chain_id is the unique ID of the chain", + "consumer_id": { + "description": "consumer_id is the unique ID of the consumer", "type": "string" }, "hash": { diff --git a/contracts/babylon/schema/raw/response_to_cz_last_header.json b/contracts/babylon/schema/raw/response_to_cz_last_header.json index 881b903f..45e55850 100644 --- a/contracts/babylon/schema/raw/response_to_cz_last_header.json +++ b/contracts/babylon/schema/raw/response_to_cz_last_header.json @@ -8,7 +8,7 @@ "babylon_header_hash", "babylon_header_height", "babylon_tx_hash", - "chain_id", + "consumer_id", "hash", "height" ], @@ -33,8 +33,8 @@ "description": "babylon_tx_hash is the hash of the tx that includes this header. (babylon_block_height, babylon_tx_hash) jointly provides the position of the header in the Babylon ledger. Hex-encoded string of 32 bytes", "type": "string" }, - "chain_id": { - "description": "chain_id is the unique ID of the chain", + "consumer_id": { + "description": "consumer_id is the unique ID of the consumer", "type": "string" }, "hash": { diff --git a/contracts/babylon/src/ibc.rs b/contracts/babylon/src/ibc.rs index 8e752753..3a780feb 100644 --- a/contracts/babylon/src/ibc.rs +++ b/contracts/babylon/src/ibc.rs @@ -7,9 +7,9 @@ use babylon_proto::babylon::zoneconcierge::v1::{ use crate::state::config::CONFIG; use cosmwasm_std::{ Binary, DepsMut, Env, Event, Ibc3ChannelOpenResponse, IbcBasicResponse, IbcChannel, - IbcChannelCloseMsg, IbcChannelConnectMsg, IbcChannelOpenMsg, IbcChannelOpenResponse, IbcMsg, - IbcOrder, IbcPacketAckMsg, IbcPacketReceiveMsg, IbcPacketTimeoutMsg, IbcReceiveResponse, - IbcTimeout, Never, StdAck, StdError, StdResult, + IbcChannelCloseMsg, IbcChannelConnectMsg, IbcChannelOpenMsg, IbcChannelOpenResponse, IbcOrder, + IbcPacketAckMsg, IbcPacketReceiveMsg, IbcPacketTimeoutMsg, IbcReceiveResponse, IbcTimeout, + Never, StdAck, StdError, StdResult, }; use cw_storage_plus::Item; use prost::Message; @@ -59,7 +59,7 @@ pub fn ibc_channel_open( /// Second part of the 4-step handshake, i.e. ChannelOpenAck and ChannelOpenConfirm. pub fn ibc_channel_connect( deps: DepsMut, - env: Env, + _env: Env, msg: IbcChannelConnectMsg, ) -> Result { // Ensure we have no channel yet @@ -157,18 +157,15 @@ pub fn ibc_packet_receive( pub(crate) mod ibc_packet { use super::*; use crate::state::config::CONFIG; + use babylon_apis::btc_staking_api::SlashedBtcDelegation; use babylon_apis::btc_staking_api::{ - ActiveBtcDelegation, BtcUndelegationInfo, CovenantAdaptorSignatures, - FinalityProviderDescription, NewFinalityProvider, ProofOfPossessionBtc, SignatureInfo, - UnbondedBtcDelegation, + ActiveBtcDelegation, NewFinalityProvider, UnbondedBtcDelegation, }; - use babylon_apis::btc_staking_api::{DelegatorUnbondingInfo, SlashedBtcDelegation}; use babylon_apis::finality_api::Evidence; use babylon_proto::babylon::btcstaking::v1::BtcStakingIbcPacket; use babylon_proto::babylon::zoneconcierge::v1::zoneconcierge_packet_data::Packet::ConsumerSlashing; use babylon_proto::babylon::zoneconcierge::v1::ConsumerSlashingIbcPacket; - use cosmwasm_std::{to_json_binary, Decimal, IbcChannel, IbcMsg, WasmMsg}; - use std::str::FromStr; + use cosmwasm_std::{to_json_binary, IbcChannel, IbcMsg, WasmMsg}; pub fn handle_btc_timestamp( deps: DepsMut, diff --git a/contracts/btc-finality/schema/btc-finality.json b/contracts/btc-finality/schema/btc-finality.json index 5c266123..dbe6a2bf 100644 --- a/contracts/btc-finality/schema/btc-finality.json +++ b/contracts/btc-finality/schema/btc-finality.json @@ -43,7 +43,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -67,8 +67,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { @@ -219,7 +219,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -264,7 +264,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -301,7 +301,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -328,11 +327,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -385,6 +387,18 @@ "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", "type": "string" }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "FinalityProviderDescription": { "type": "object", "required": [ @@ -942,7 +956,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -987,7 +1001,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -1024,7 +1038,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -1051,11 +1064,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -1104,6 +1120,18 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "SignatureInfo": { "description": "SignatureInfo is a BIP-340 signature together with its signer's BIP-340 PK", "type": "object", @@ -1183,7 +1211,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -1234,7 +1262,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -1266,7 +1294,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -1294,14 +1321,16 @@ "minimum": 0.0 } }, - "delegator_unbonding_sig": { + "delegator_unbonding_info": { "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "type": "array", - "items": { - "type": "integer", - "format": "uint8", - "minimum": 0.0 - } + "anyOf": [ + { + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" + } + ] }, "slashing_tx": { "description": "slashing_tx is the unbonding slashing tx", @@ -1355,6 +1384,23 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + } + }, + "additionalProperties": false + }, "SignatureInfo": { "type": "object", "required": [ @@ -1458,7 +1504,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { @@ -1640,7 +1686,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { @@ -1760,7 +1806,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -1784,8 +1830,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { diff --git a/contracts/btc-finality/schema/raw/execute.json b/contracts/btc-finality/schema/raw/execute.json index 11b583e7..dcc35ee5 100644 --- a/contracts/btc-finality/schema/raw/execute.json +++ b/contracts/btc-finality/schema/raw/execute.json @@ -137,7 +137,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -182,7 +182,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -219,7 +219,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -246,11 +245,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -303,6 +305,18 @@ "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", "type": "string" }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "FinalityProviderDescription": { "type": "object", "required": [ diff --git a/contracts/btc-finality/schema/raw/instantiate.json b/contracts/btc-finality/schema/raw/instantiate.json index a771d00c..546c5674 100644 --- a/contracts/btc-finality/schema/raw/instantiate.json +++ b/contracts/btc-finality/schema/raw/instantiate.json @@ -39,7 +39,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -63,8 +63,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { diff --git a/contracts/btc-finality/schema/raw/response_to_delegation.json b/contracts/btc-finality/schema/raw/response_to_delegation.json index f20b76c1..99c1261c 100644 --- a/contracts/btc-finality/schema/raw/response_to_delegation.json +++ b/contracts/btc-finality/schema/raw/response_to_delegation.json @@ -42,7 +42,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -87,7 +87,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -124,7 +124,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -151,11 +150,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -204,6 +206,18 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "SignatureInfo": { "description": "SignatureInfo is a BIP-340 signature together with its signer's BIP-340 PK", "type": "object", diff --git a/contracts/btc-finality/schema/raw/response_to_delegations.json b/contracts/btc-finality/schema/raw/response_to_delegations.json index 9cb87334..bb4d1d9e 100644 --- a/contracts/btc-finality/schema/raw/response_to_delegations.json +++ b/contracts/btc-finality/schema/raw/response_to_delegations.json @@ -58,7 +58,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -109,7 +109,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -141,7 +141,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -169,14 +168,16 @@ "minimum": 0.0 } }, - "delegator_unbonding_sig": { + "delegator_unbonding_info": { "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "type": "array", - "items": { - "type": "integer", - "format": "uint8", - "minimum": 0.0 - } + "anyOf": [ + { + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" + } + ] }, "slashing_tx": { "description": "slashing_tx is the unbonding slashing tx", @@ -230,6 +231,23 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + } + }, + "additionalProperties": false + }, "SignatureInfo": { "type": "object", "required": [ diff --git a/contracts/btc-finality/schema/raw/response_to_finality_provider.json b/contracts/btc-finality/schema/raw/response_to_finality_provider.json index 72127516..35d453af 100644 --- a/contracts/btc-finality/schema/raw/response_to_finality_provider.json +++ b/contracts/btc-finality/schema/raw/response_to_finality_provider.json @@ -56,7 +56,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { diff --git a/contracts/btc-finality/schema/raw/response_to_finality_providers.json b/contracts/btc-finality/schema/raw/response_to_finality_providers.json index e0f3177f..8f48c96c 100644 --- a/contracts/btc-finality/schema/raw/response_to_finality_providers.json +++ b/contracts/btc-finality/schema/raw/response_to_finality_providers.json @@ -79,7 +79,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { diff --git a/contracts/btc-finality/schema/raw/response_to_params.json b/contracts/btc-finality/schema/raw/response_to_params.json index 89d6b26a..cb5c715d 100644 --- a/contracts/btc-finality/schema/raw/response_to_params.json +++ b/contracts/btc-finality/schema/raw/response_to_params.json @@ -8,7 +8,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -32,8 +32,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { diff --git a/contracts/btc-staking/schema/btc-staking.json b/contracts/btc-staking/schema/btc-staking.json index 897c89c4..90cb40be 100644 --- a/contracts/btc-staking/schema/btc-staking.json +++ b/contracts/btc-staking/schema/btc-staking.json @@ -43,7 +43,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -67,8 +67,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { @@ -219,7 +219,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -264,7 +264,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -301,7 +301,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -328,11 +327,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -385,6 +387,18 @@ "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", "type": "string" }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "FinalityProviderDescription": { "type": "object", "required": [ @@ -942,7 +956,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -987,7 +1001,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -1024,7 +1038,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -1051,11 +1064,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -1104,6 +1120,18 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "SignatureInfo": { "description": "SignatureInfo is a BIP-340 signature together with its signer's BIP-340 PK", "type": "object", @@ -1183,7 +1211,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -1234,7 +1262,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -1266,7 +1294,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -1294,14 +1321,16 @@ "minimum": 0.0 } }, - "delegator_unbonding_sig": { + "delegator_unbonding_info": { "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "type": "array", - "items": { - "type": "integer", - "format": "uint8", - "minimum": 0.0 - } + "anyOf": [ + { + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" + } + ] }, "slashing_tx": { "description": "slashing_tx is the unbonding slashing tx", @@ -1355,6 +1384,23 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + } + }, + "additionalProperties": false + }, "SignatureInfo": { "type": "object", "required": [ @@ -1458,7 +1504,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { @@ -1640,7 +1686,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { @@ -1760,7 +1806,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -1784,8 +1830,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { diff --git a/contracts/btc-staking/schema/raw/execute.json b/contracts/btc-staking/schema/raw/execute.json index 11b583e7..dcc35ee5 100644 --- a/contracts/btc-staking/schema/raw/execute.json +++ b/contracts/btc-staking/schema/raw/execute.json @@ -137,7 +137,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -182,7 +182,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -219,7 +219,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -246,11 +245,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -303,6 +305,18 @@ "description": "A fixed-point decimal value with 18 fractional digits, i.e. Decimal(1_000_000_000_000_000_000) == 1.0\n\nThe greatest possible value that can be represented is 340282366920938463463.374607431768211455 (which is (2^128 - 1) / 10^18)", "type": "string" }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "FinalityProviderDescription": { "type": "object", "required": [ diff --git a/contracts/btc-staking/schema/raw/instantiate.json b/contracts/btc-staking/schema/raw/instantiate.json index a771d00c..546c5674 100644 --- a/contracts/btc-staking/schema/raw/instantiate.json +++ b/contracts/btc-staking/schema/raw/instantiate.json @@ -39,7 +39,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -63,8 +63,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { diff --git a/contracts/btc-staking/schema/raw/response_to_delegation.json b/contracts/btc-staking/schema/raw/response_to_delegation.json index f20b76c1..99c1261c 100644 --- a/contracts/btc-staking/schema/raw/response_to_delegation.json +++ b/contracts/btc-staking/schema/raw/response_to_delegation.json @@ -42,7 +42,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -87,7 +87,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -124,7 +124,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -151,11 +150,14 @@ } ] }, - "delegator_unbonding_sig": { - "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "allOf": [ + "delegator_unbonding_info": { + "description": "delegator_unbonding_info is the information about transaction which spent the staking output", + "anyOf": [ { - "$ref": "#/definitions/Binary" + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" } ] }, @@ -204,6 +206,18 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "$ref": "#/definitions/Binary" + } + }, + "additionalProperties": false + }, "SignatureInfo": { "description": "SignatureInfo is a BIP-340 signature together with its signer's BIP-340 PK", "type": "object", diff --git a/contracts/btc-staking/schema/raw/response_to_delegations.json b/contracts/btc-staking/schema/raw/response_to_delegations.json index 9cb87334..bb4d1d9e 100644 --- a/contracts/btc-staking/schema/raw/response_to_delegations.json +++ b/contracts/btc-staking/schema/raw/response_to_delegations.json @@ -58,7 +58,7 @@ "end_height": { "description": "end_height is the end height of the BTC delegation it is the end BTC height of the time-lock - w", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "fp_btc_pk_list": { @@ -109,7 +109,7 @@ "start_height": { "description": "start_height is the start BTC height of the BTC delegation. It is the start BTC height of the time-lock", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "total_sat": { @@ -141,7 +141,6 @@ "covenant_slashing_sigs", "covenant_unbonding_sig_list", "delegator_slashing_sig", - "delegator_unbonding_sig", "slashing_tx", "unbonding_tx" ], @@ -169,14 +168,16 @@ "minimum": 0.0 } }, - "delegator_unbonding_sig": { + "delegator_unbonding_info": { "description": "delegator_unbonding_sig is the signature on the unbonding tx by the delegator (i.e. SK corresponding to btc_pk). It effectively proves that the delegator wants to unbond and thus Babylon will consider this BTC delegation unbonded. Delegator's BTC on Bitcoin will be unbonded after time-lock.", - "type": "array", - "items": { - "type": "integer", - "format": "uint8", - "minimum": 0.0 - } + "anyOf": [ + { + "$ref": "#/definitions/DelegatorUnbondingInfo" + }, + { + "type": "null" + } + ] }, "slashing_tx": { "description": "slashing_tx is the unbonding slashing tx", @@ -230,6 +231,23 @@ }, "additionalProperties": false }, + "DelegatorUnbondingInfo": { + "type": "object", + "required": [ + "spend_stake_tx" + ], + "properties": { + "spend_stake_tx": { + "type": "array", + "items": { + "type": "integer", + "format": "uint8", + "minimum": 0.0 + } + } + }, + "additionalProperties": false + }, "SignatureInfo": { "type": "object", "required": [ diff --git a/contracts/btc-staking/schema/raw/response_to_finality_provider.json b/contracts/btc-staking/schema/raw/response_to_finality_provider.json index 72127516..35d453af 100644 --- a/contracts/btc-staking/schema/raw/response_to_finality_provider.json +++ b/contracts/btc-staking/schema/raw/response_to_finality_provider.json @@ -56,7 +56,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { diff --git a/contracts/btc-staking/schema/raw/response_to_finality_providers.json b/contracts/btc-staking/schema/raw/response_to_finality_providers.json index e0f3177f..8f48c96c 100644 --- a/contracts/btc-staking/schema/raw/response_to_finality_providers.json +++ b/contracts/btc-staking/schema/raw/response_to_finality_providers.json @@ -79,7 +79,7 @@ "slashed_btc_height": { "description": "slashed_btc_height is the BTC height on which the finality provider is slashed", "type": "integer", - "format": "uint64", + "format": "uint32", "minimum": 0.0 }, "slashed_height": { diff --git a/contracts/btc-staking/schema/raw/response_to_params.json b/contracts/btc-staking/schema/raw/response_to_params.json index 89d6b26a..cb5c715d 100644 --- a/contracts/btc-staking/schema/raw/response_to_params.json +++ b/contracts/btc-staking/schema/raw/response_to_params.json @@ -8,7 +8,7 @@ "covenant_pks", "covenant_quorum", "min_slashing_tx_fee_sat", - "slashing_address", + "slashing_pk_script", "slashing_rate" ], "properties": { @@ -32,8 +32,8 @@ "format": "uint64", "minimum": 0.0 }, - "slashing_address": { - "description": "`slashing_address` is the address that the slashed BTC goes to. The address is in string format on Bitcoin.", + "slashing_pk_script": { + "description": "`slashing_pk_script` is the pk script that the slashed BTC goes to. The pk script is in string format on Bitcoin.", "type": "string" }, "slashing_rate": { diff --git a/contracts/btc-staking/src/state/staking.rs b/contracts/btc-staking/src/state/staking.rs index f3326a9c..5d5150d4 100644 --- a/contracts/btc-staking/src/state/staking.rs +++ b/contracts/btc-staking/src/state/staking.rs @@ -178,7 +178,7 @@ impl From for BtcUndelegationInfo { BtcUndelegationInfo { unbonding_tx: undelegation_info.unbonding_tx.to_vec(), - delegator_unbonding_info: delegator_unbonding_info, + delegator_unbonding_info, covenant_unbonding_sig_list: undelegation_info .covenant_unbonding_sig_list .into_iter() diff --git a/contracts/btc-staking/src/validation/mod.rs b/contracts/btc-staking/src/validation/mod.rs index 1a42d105..9633b54a 100644 --- a/contracts/btc-staking/src/validation/mod.rs +++ b/contracts/btc-staking/src/validation/mod.rs @@ -10,12 +10,11 @@ use { babylon_bitcoin::schnorr::verify_digest, babylon_btcstaking::adaptor_sig::AdaptorSignature, babylon_btcstaking::sig_verify::enc_verify_transaction_sig_with_output, - bitcoin::{consensus::deserialize, Address}, + bitcoin::consensus::deserialize, cosmwasm_std::CanonicalAddr, hex::ToHex, k256::schnorr::{Signature, SigningKey, VerifyingKey}, k256::sha2::{Digest, Sha256}, - std::str::FromStr, }; /// verify_pop verifies the proof of possession of the given address. diff --git a/go.work.sum b/go.work.sum index 3b265e30..51b69e5b 100644 --- a/go.work.sum +++ b/go.work.sum @@ -2,6 +2,7 @@ 4d63.com/gocheckcompilerdirectives v1.2.1/go.mod h1:yjDJSxmDTtIHHCqX0ufRYZDL6vQtMG7tJdKVeWwsqvs= 4d63.com/gochecknoglobals v0.2.1 h1:1eiorGsgHOFOuoOiJDy2psSrQbRdIHrlge0IJIkUgDc= 4d63.com/gochecknoglobals v0.2.1/go.mod h1:KRE8wtJB3CXCsb1xy421JfTHIIbmT3U5ruxw2Qu8fSU= +cel.dev/expr v0.16.0 h1:yloc84fytn4zmJX2GU3TkXGsaieaV7dQ057Qs4sIG2Y= cel.dev/expr v0.16.0/go.mod h1:TRSuuV7DlVCE/uwv5QbAiW/v8l5O8C4eEPHeu7gf7Sg= cloud.google.com/go v0.0.0-20170206221025-ce650573d812/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= @@ -299,6 +300,7 @@ cloud.google.com/go/firestore v1.13.0 h1:/3S4RssUV4GO/kvgJZB+tayjhOfyAHs+KcpJgRV cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8= cloud.google.com/go/firestore v1.14.0 h1:8aLcKnMPoldYU3YHgu4t2exrKhLQkqaXAGqT0ljrFVw= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= +cloud.google.com/go/firestore v1.15.0 h1:/k8ppuWOtNuDHt2tsRV42yI21uaGnKDEQnRFeBpbFF8= cloud.google.com/go/firestore v1.15.0/go.mod h1:GWOxFXcv8GZUtYpWHw/w6IuYNux/BtmeVTMmjrm4yhk= cloud.google.com/go/functions v1.15.2 h1:DpT51zU3UMTt64efB4a9hE9B98Kb0fZC3IfaVp7GnkE= cloud.google.com/go/functions v1.15.2/go.mod h1:CHAjtcR6OU4XF2HuiVeriEdELNcnvRZSk1Q8RMqy4lE= @@ -711,6 +713,7 @@ cosmossdk.io/tools/confix v0.1.0 h1:2OOZTtQsDT5e7P3FM5xqM0bPfluAxZlAwxqaDmYBE+E= cosmossdk.io/tools/confix v0.1.0/go.mod h1:TdXKVYs4gEayav5wM+JHT+kTU2J7fozFNqoVaN+8CdY= cosmossdk.io/tools/confix v0.1.1 h1:aexyRv9+y15veH3Qw16lxQwo+ki7r2I+g0yNTEFEQM8= cosmossdk.io/tools/confix v0.1.1/go.mod h1:nQVvP1tHsGXS83PonPVWJtSbddIqyjEw99L4M3rPJyQ= +cosmossdk.io/tools/confix v0.1.2 h1:2hoM1oFCNisd0ltSAAZw2i4ponARPmlhuNu3yy0VwI4= cosmossdk.io/tools/confix v0.1.2/go.mod h1:7XfcbK9sC/KNgVGxgLM0BrFbVcR/+6Dg7MFfpx7duYo= cosmossdk.io/x/tx v0.12.0/go.mod h1:qTth2coAGkwCwOCjqQ8EAQg+9udXNRzcnSbMgGKGEI0= cosmossdk.io/x/tx v0.13.2/go.mod h1:yhPokDCfXVIuAtyp49IFlWB5YAXUgD7Zek+ZHwsHzvU= @@ -735,6 +738,7 @@ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0 h1:gggzg0SUMs6SQbEw+ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.0/go.mod h1:+6KLcKIVgxoBDMqMO/Nvy7bZ9a0nbU3I1DtFQK3YvB4= github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/CloudyKit/fastprinter v0.0.0-20170127035650-74b38d55f37a/go.mod h1:EFZQ978U7x8IRnstaskI3IysnWY5Ao3QgZUKOXlsAdw= @@ -761,15 +765,18 @@ github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3Q github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0= github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= +github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OpenPeeDeeP/depguard v1.1.1 h1:TSUznLjvp/4IUP+OQ0t/4jF4QUyxIcVX8YnghZdunyA= github.com/OpenPeeDeeP/depguard v1.1.1/go.mod h1:JtAMzWkmFEzDPyAd+W0NHl1lvpQKTvT9jnRVsohBKpc= github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA= github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0= github.com/Shopify/goreferrer v0.0.0-20220729165902-8cddb4f5de06 h1:KkH3I3sJuOLP3TjA/dfr4NAY8bghDwnXiU7cTKxQqo0= @@ -866,8 +873,11 @@ github.com/babylonchain/rpc-client-private v0.7.0-rc0.0.20231214053715-9de585557 github.com/babylonchain/rpc-client-private v0.7.0-rc0.0.20231214053715-9de58555773a/go.mod h1:dnUVCa5yHq2giiSpBpXx7W3CbJuuMabvQi3hG81AAtM= github.com/babylonlabs-io/babylon v0.9.0-rc.2.0.20240703134344-1c4a32e16e95/go.mod h1:QTjpnEAEReQofIpZikCQXUZxSkdK0TrWAUbgxOSF9yA= github.com/babylonlabs-io/babylon v0.9.0/go.mod h1:t7B4e+ooD2oYvAxkegtNKDL9bXe+vU29a8xnCQh+UKo= +github.com/babylonlabs-io/babylon-sdk/demo v0.0.0-20240814002132-55e711397a82 h1:BwgtEtrrbtwQo4FEsoVqeUIHiqJr5krZt6ds3g1SM4s= github.com/babylonlabs-io/babylon-sdk/demo v0.0.0-20240814002132-55e711397a82/go.mod h1:QqEn1sL4RPG7DJ94XFYvuvEELml64s5XwPQpTayXJss= +github.com/babylonlabs-io/babylon-sdk/x v0.0.0-20240814002132-55e711397a82 h1:F9U6iH+RqXo2ColXvGGByWDY0DdyAMnIgjpxQbWooiE= github.com/babylonlabs-io/babylon-sdk/x v0.0.0-20240814002132-55e711397a82/go.mod h1:WJlZy0RYCtyBFeO1mr0Tlo02csrlCAQgzmp4+NVX14g= +github.com/babylonlabs-io/cosmwasm-client v0.0.0-20240908181148-88f10f0917e6 h1:dIkjNQmlo75sAZ4ZvPlEenfC4XdCR46eiPoTOX3a9i0= github.com/babylonlabs-io/cosmwasm-client v0.0.0-20240908181148-88f10f0917e6/go.mod h1:+No4dcrR8vJUm7bmx5y2TusLvPsjWeRHUB4WLmKtpEE= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -944,6 +954,7 @@ github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+g github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc= github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= +github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20 h1:N+3sFI5GUjRKBi+i0TxYVST9h4Ie192jJWpHvthBBgg= github.com/cncf/xds/go v0.0.0-20240723142845-024c85f92f20/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cockroachdb/datadriven v1.0.0/go.mod h1:5Ib8Meh+jk1RlHIXej6Pzevx/NLlNvQB9pmSBZErGA4= github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= @@ -989,11 +1000,13 @@ github.com/cosmos/iavl v1.0.0/go.mod h1:CmTGqMnRnucjxbjduneZXT+0vPgNElYvdefjX2q9 github.com/cosmos/iavl v1.1.1/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= github.com/cosmos/relayer/v2 v2.5.1 h1:gYYD/xywc0Lw3957NmWuyJr9idKQmhgVuVoLIiBNYog= github.com/cosmos/relayer/v2 v2.5.1/go.mod h1:KygWPbGY9ley9Q42CMg5uzmrf4BIe+EfxU5j44xrLRQ= +github.com/cosmos/relayer/v2 v2.5.2 h1:AF0MOo1GvJo94QNB996fBHdKlH+vrIY3JcFNrIvZNP0= github.com/cosmos/relayer/v2 v2.5.2/go.mod h1:h4Ng2QsVpxExIq5S+WvLr8slDb9MSBh82gQS4DeMwDo= github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 h1:d28BXYi+wUpz1KBmiF9bWrjEMacUEREV6MBi2ODnrfQ= github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233/go.mod h1:geZJZH3SzKCqnz5VT0q/DyIG/tvu/dZk+VIfXicupJs= github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA= @@ -1022,6 +1035,7 @@ github.com/denis-tingaikin/go-header v0.4.3 h1:tEaZKAlqql6SKCY++utLmkPLd6K8IBM20 github.com/denis-tingaikin/go-header v0.4.3/go.mod h1:0wOCWuN71D5qIgE2nz9KrKmuYBAC2Mra5RassOIQ2/c= github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4= +github.com/dgraph-io/badger/v2 v2.2007.4 h1:TRWBQg8UrlUhaFdco01nO2uXwzKS7zd+HVdwV/GHc4o= github.com/dgraph-io/badger/v2 v2.2007.4/go.mod h1:vSw/ax2qojzbN6eXHIx6KPKtCSHJN/Uz0X0VPruTIhk= github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM= @@ -1032,6 +1046,7 @@ github.com/dlclark/regexp2 v1.7.0 h1:7lJfhqlPssTb1WQx4yvTHN0uElPEv52sbaECrAQxjAo github.com/dlclark/regexp2 v1.7.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= github.com/docker/cli v23.0.1+incompatible h1:LRyWITpGzl2C9e9uGxzisptnxAn1zfZKXy13Ul2Q5oM= github.com/docker/cli v23.0.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v25.0.6+incompatible h1:F1mCw1kUGixOkM8WQbcG5kniPvP8XCFxreFxl4b/UnY= github.com/docker/cli v25.0.6+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= @@ -1059,11 +1074,13 @@ github.com/envoyproxy/go-control-plane v0.11.1 h1:wSUXTlLfiAQRWs2F+p+EKOY9rUyis1 github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= +github.com/envoyproxy/go-control-plane v0.13.0 h1:HzkeUz1Knt+3bK+8LG1bxOO/jzWZmdxpwC51i202les= github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE= github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= +github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6Uu2PdjCQwWCJ3bM= github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/esimonov/ifshort v1.0.4 h1:6SID4yGWfRae/M7hkVDVVyppy8q/v9OuxNdmjLQStBA= github.com/esimonov/ifshort v1.0.4/go.mod h1:Pe8zjlRrJ80+q2CxHLfEOfTwxCZ4O+MuhcHcfgNWTk0= @@ -1153,6 +1170,7 @@ github.com/go-git/go-git/v5 v5.6.1 h1:q4ZRqQl4pR/ZJHc1L5CFjGA1a10u76aV1iC+nh+bHs github.com/go-git/go-git/v5 v5.6.1/go.mod h1:mvyoL6Unz0PiTQrGQfSfiLFhBH1c1e84ylC2MDs4ee8= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= +github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= @@ -1226,6 +1244,7 @@ github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -1266,6 +1285,7 @@ github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec= github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10 h1:CqYfpuYIjnlNxM3msdyPRKabhXZWbKjf3Q8BWROFBso= github.com/google/pprof v0.0.0-20230228050547-1710fef4ab10/go.mod h1:79YE0hCXdHag9sBkw2o+N/YnZtTkXi0UT9Nnixa5eYk= @@ -1322,6 +1342,7 @@ github.com/guptarohit/asciigraph v0.5.5 h1:ccFnUF8xYIOUPPY3tmdvRyHqmn1MYI9iv1pLK github.com/guptarohit/asciigraph v0.5.5/go.mod h1:dYl5wwK4gNsnFf9Zp+l06rFiDZ5YtXM6x7SRWZ3KGag= github.com/hashicorp/consul/api v1.25.1 h1:CqrdhYzc8XZuPnhIYZWH45toM0LB9ZeYr/gvpLVI3PE= github.com/hashicorp/consul/api v1.25.1/go.mod h1:iiLVwR/htV7mas/sy0O+XSuEnrdBUUydemjxcUrAt4g= +github.com/hashicorp/consul/api v1.28.2 h1:mXfkRHrpHN4YY3RqL09nXU1eHKLNiuAN4kHvDQ16k/8= github.com/hashicorp/consul/api v1.28.2/go.mod h1:KyzqzgMEya+IZPcD65YFoOVAgPpbfERu4I/tzG6/ueE= github.com/hashicorp/consul/sdk v0.3.0 h1:UOxjlb4xVNF93jak1mzzoBatyFju9nrkxpVwIp/QqxQ= github.com/hashicorp/consul/sdk v0.14.1/go.mod h1:vFt03juSzocLRFo59NkeQHHmQa6+g7oU0pfzdI1mUhg= @@ -1466,6 +1487,7 @@ github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d h1:Z+RDyXzjKE0 github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d/go.mod h1:JJNrCn9otv/2QP4D7SMJBgaleKpOf66PnW6F5WGNRIc= github.com/kilic/bls12-381 v0.1.0 h1:encrdjqKMEvabVQ7qYOKu1OvhqpK4s47wDYtNiPtlp4= github.com/kilic/bls12-381 v0.1.0/go.mod h1:vDTTHJONJ6G+P2R74EhnyotQDTliQDnFEwhdmfzw1ig= +github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/errcheck v1.6.3 h1:dEKh+GLHcWm2oN34nMvDzn1sqI0i0WxPvrgiJA5JuM8= github.com/kisielk/errcheck v1.6.3/go.mod h1:nXw/i/MfnvRHqXa7XXmQMUB0oNFGuBrNI8d8NLy0LPw= github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= @@ -1546,6 +1568,7 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= @@ -1607,24 +1630,28 @@ github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo github.com/nats-io/jwt v0.3.2 h1:+RB5hMpXUUA2dfxuhBTEkMOrYmM+gKIZYS1KjSostMI= github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= +github.com/nats-io/jwt/v2 v2.2.1-0.20220330180145-442af02fd36a h1:lem6QCvxR0Y28gth9P+wV2K/zYUUAkJ+55U8cpS0p5I= github.com/nats-io/jwt/v2 v2.2.1-0.20220330180145-442af02fd36a/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k= github.com/nats-io/jwt/v2 v2.3.0/go.mod h1:0tqz9Hlu6bCBFLWAASKhE5vUA4c24L9KPUUgvwumE/k= github.com/nats-io/jwt/v2 v2.4.1 h1:Y35W1dgbbz2SQUYDPCaclXcuqleVmpbRa7646Jf2EX4= github.com/nats-io/jwt/v2 v2.4.1/go.mod h1:24BeQtRwxRV8ruvC4CojXlx/WQ/VjuwlYiH+vu/+ibI= github.com/nats-io/nats-server/v2 v2.5.0 h1:wsnVaaXH9VRSg+A2MVg5Q727/CqxnmPLGFQ3YZYKTQg= github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= +github.com/nats-io/nats-server/v2 v2.8.4 h1:0jQzze1T9mECg8YZEl8+WYUXb9JKluJfCBriPUtluB4= github.com/nats-io/nats-server/v2 v2.8.4/go.mod h1:8zZa+Al3WsESfmgSs98Fi06dRWLH5Bnq90m5bKD/eT4= github.com/nats-io/nats.go v1.8.1/go.mod h1:BrFz9vVn0fU3AcH9Vn4Kd7W0NpJ651tD5omQ3M8LwxM= github.com/nats-io/nats.go v1.30.2 h1:aloM0TGpPorZKQhbAkdCzYDj+ZmsJDyeo3Gkbr72NuY= github.com/nats-io/nats.go v1.30.2/go.mod h1:dcfhUgmQNN4GJEfIb2f9R7Fow+gzBF4emzDHrVBd5qM= github.com/nats-io/nats.go v1.31.0 h1:/WFBHEc/dOKBF6qf1TZhrdEfTmOZ5JzdJ+Y3m6Y/p7E= github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8= +github.com/nats-io/nats.go v1.34.0 h1:fnxnPCNiwIG5w08rlMcEKTUw4AV/nKyGCOJE8TdhSPk= github.com/nats-io/nats.go v1.34.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= github.com/nats-io/nkeys v0.0.2/go.mod h1:dab7URMsZm6Z/jp9Z5UGa87Uutgc2mVpXLC4B7TDb/4= github.com/nats-io/nkeys v0.4.5 h1:Zdz2BUlFm4fJlierwvGK+yl20IAKUm7eV6AAZXEhkPk= github.com/nats-io/nkeys v0.4.5/go.mod h1:XUkxdLPTufzlihbamfzQ7mw/VGx6ObUs+0bN5sNvt64= github.com/nats-io/nkeys v0.4.6 h1:IzVe95ru2CT6ta874rt9saQRkWfe2nFj1NtvYSLqMzY= github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts= +github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 h1:4kuARK6Y6FxaNu/BnU2OAaLF86eTVhP2hjTB6iMvItA= @@ -1640,6 +1667,7 @@ github.com/oasisprotocol/curve25519-voi v0.0.0-20220708102147-0a8a51822cae/go.mo github.com/oklog/oklog v0.3.2 h1:wVfs8F+in6nTBMkA7CbRw+zZMIB7nNM825cM1wuzoTk= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oklog/ulid/v2 v2.1.0/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5 h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.13.0/go.mod h1:+REjRxOmWfHCjfv9TTWB1jD1Frx4XydAD3zm1lskyM0= @@ -1695,6 +1723,7 @@ github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFz github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= +github.com/pkg/profile v1.2.1 h1:F++O52m40owAmADcojzM+9gyjmMOY/T4oYJkgFDH8RE= github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA= github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= @@ -1702,6 +1731,7 @@ github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3 h1:hUmXhbljNFtrH5hzV9kiRoddZ5nfPTq3K0Sb2hYYiqE= github.com/pointlander/compress v1.1.1-0.20190518213731-ff44bd196cc3/go.mod h1:q5NXNGzqj5uPnVuhGkZfmgHqNUhf15VLi6L9kW0VEc0= @@ -1757,6 +1787,7 @@ github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727 h1:TCg2WBOl github.com/quasilyte/regex/syntax v0.0.0-20210819130434-b3f0c404a727/go.mod h1:rlzQ04UMyJXu/aOvhd8qT+hvDrFpiwqp8MRXDY9szc0= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 h1:M8mH9eK4OUR4lu7Gd+PU1fV2/qnDNfzT635KRSObncs= github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567/go.mod h1:DWNGW8A4Y+GyBgPuaQJuWiy0XYftx4Xm/y5Jqk9I6VQ= +github.com/rabbitmq/amqp091-go v1.2.0 h1:1pHBxAsQh54R9eX/xo679fUEAfv3loMqi0pvRFOj2nk= github.com/rabbitmq/amqp091-go v1.2.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM= github.com/remyoudompheng/go-dbus v0.0.0-20121104212943-b7232d34b1d5/go.mod h1:+u151txRmLpwxBmpYn9z3d1sdJdjRPQpsXuYeY9jNls= github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96/go.mod h1:90HvCY7+oHHUKkbeMCiHt1WuFR2/hPJ9QrljDG+v6ls= @@ -1789,6 +1820,7 @@ github.com/sagikazarmark/crypt v0.15.0 h1:TQJg76CemcIdJyC9/dmNjU9OUyIFHyvE50Tpq1 github.com/sagikazarmark/crypt v0.15.0/go.mod h1:5rwNNax6Mlk9sZ40AcyVtiEw24Z4J04cfSioF2COKmc= github.com/sagikazarmark/crypt v0.17.0 h1:ZA/7pXyjkHoK4bW4mIdnCLvL8hd+Nrbiw7Dqk7D4qUk= github.com/sagikazarmark/crypt v0.17.0/go.mod h1:SMtHTvdmsZMuY/bpZoqokSoChIrcJ/epOxZN58PbZDg= +github.com/sagikazarmark/crypt v0.19.0 h1:WMyLTjHBo64UvNcWqpzY3pbZTYgnemZU8FBZigKc42E= github.com/sagikazarmark/crypt v0.19.0/go.mod h1:c6vimRziqqERhtSe0MhIvzE1w54FrCHtrXb5NH/ja78= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da h1:p3Vo3i64TCLY7gIfzeQaUJ+kppEO5WQG3cL8iE8tGHU= github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U= @@ -1810,6 +1842,7 @@ github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0 github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c/go.mod h1:/PevMnwAxekIXwN8qQyfc5gl2NlkB3CQlkizAbOkeBs= @@ -1830,6 +1863,7 @@ github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ys github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= github.com/skeema/knownhosts v1.2.1 h1:SHWdIUa82uGZz+F+47k8SY4QhhI291cXCpopT1lK2AQ= github.com/skeema/knownhosts v1.2.1/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= @@ -1841,6 +1875,7 @@ github.com/sonatard/noctx v0.0.2/go.mod h1:kzFz+CzWSjQ2OzIm46uJZoXuBpa2+0y3T36U1 github.com/sony/gobreaker v0.4.1 h1:oMnRNZXX5j85zso6xCPRNPtmAycat+WcoKbklScLDgQ= github.com/sourcegraph/go-diff v0.7.0 h1:9uLlrd5T46OXs5qpp8L/MTltk0zikUGi0sNNyCpA8G0= github.com/sourcegraph/go-diff v0.7.0/go.mod h1:iBszgVvyxdc8SFZ7gm69go2KDdt3ag071iBaWPF6cjs= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spf13/afero v1.4.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= @@ -1864,6 +1899,7 @@ github.com/stbenjam/no-sprintf-host-port v0.1.1 h1:tYugd/yrm1O0dV+ThCbaKZh195Dfm github.com/stbenjam/no-sprintf-host-port v0.1.1/go.mod h1:TLhvtIvONRzdmkFiio4O8LHsN9N74I+PhRquPsxpL0I= github.com/strangelove-ventures/cometbft-client v0.1.0 h1:fcA652QaaR0LDnyJOZVjZKtuyAawnVXaq/p1MWJSYD4= github.com/strangelove-ventures/cometbft-client v0.1.0/go.mod h1:QzThgjzvsGgUNVNpGPitmxOWMIhp6a0oqf80nCRNt/0= +github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271 h1:WhxRHzgeVGETMlmVfqhRn8RIeeNoPr2Czh33I4Zdccw= github.com/streadway/amqp v1.0.0 h1:kuuDrUJFZL1QYL9hUNuCxNObNzB0bV/ZG5jV3RWAQgo= github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e h1:mOtuXaRAbVZsxAHVdPR3IjfmN8T1h2iczJLynhLybf8= @@ -1985,21 +2021,25 @@ go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs= go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= go.etcd.io/etcd/api/v3 v3.5.10 h1:szRajuUUbLyppkhs9K6BRtjY37l66XQQmw7oZRANE4k= go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= +go.etcd.io/etcd/api/v3 v3.5.12 h1:W4sw5ZoU2Juc9gBWuLk5U6fHfNVyY1WC5g9uiXZio/c= go.etcd.io/etcd/api/v3 v3.5.12/go.mod h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4= go.etcd.io/etcd/client/pkg/v3 v3.5.9 h1:oidDC4+YEuSIQbsR94rY9gur91UPL6DnxDCIYd2IGsE= go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= go.etcd.io/etcd/client/pkg/v3 v3.5.10 h1:kfYIdQftBnbAq8pUWFXfpuuxFSKzlmM5cSn76JByiT0= go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= +go.etcd.io/etcd/client/pkg/v3 v3.5.12 h1:EYDL6pWwyOsylrQyLp2w+HkQ46ATiOvoEdMarindU2A= go.etcd.io/etcd/client/pkg/v3 v3.5.12/go.mod h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4= go.etcd.io/etcd/client/v2 v2.305.9 h1:YZ2OLi0OvR0H75AcgSUajjd5uqKDKocQUqROTG11jIo= go.etcd.io/etcd/client/v2 v2.305.9/go.mod h1:0NBdNx9wbxtEQLwAQtrDHwx58m02vXpDcgSYI2seohQ= go.etcd.io/etcd/client/v2 v2.305.10 h1:MrmRktzv/XF8CvtQt+P6wLUlURaNpSDJHFZhe//2QE4= go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= +go.etcd.io/etcd/client/v2 v2.305.12 h1:0m4ovXYo1CHaA/Mp3X/Fak5sRNIWf01wk/X1/G3sGKI= go.etcd.io/etcd/client/v2 v2.305.12/go.mod h1:aQ/yhsxMu+Oht1FOupSr60oBvcS9cKXHrzBpDsPTf9E= go.etcd.io/etcd/client/v3 v3.5.9 h1:r5xghnU7CwbUxD/fbUtRyJGaYNfDun8sp/gTr1hew6E= go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= go.etcd.io/etcd/client/v3 v3.5.10 h1:W9TXNZ+oB3MCd/8UjxHTWK5J9Nquw9fQBLJd5ne5/Ao= go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= +go.etcd.io/etcd/client/v3 v3.5.12 h1:v5lCPXn1pf1Uu3M4laUE2hp/geOTc5uPcYYsNe1lDxg= go.etcd.io/etcd/client/v3 v3.5.12/go.mod h1:tSbBCakoWmmddL+BKVAJHa9km+O/E+bumDe9mSbPiqw= go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= @@ -2018,6 +2058,7 @@ go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+ go.opentelemetry.io/proto/otlp v0.7.0 h1:rwOQPCuKAKmwGKq2aVNnYIibI6wnV7EvzgfTCzcdGg8= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -2245,6 +2286,7 @@ gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= +gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0= gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= @@ -2297,6 +2339,7 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20240125205218-1f4bbc51b google.golang.org/genproto/googleapis/bytestream v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:SCz6T5xjNXM4QFPRwxHcfChp7V+9DcXR3ay2TkHR8Tg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78 h1:YqFWYZXim8bG9v68xU8WjTZmYKb5M5dMeSOWIp6jogI= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20240314234333-6e1732d8331c h1:4z0DVWmDWWZ4OeQHLrb6lLBE3uCgSLs9DDA5Zb36DFg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240314234333-6e1732d8331c/go.mod h1:IN9OQUXZ0xT+26MDwZL8fJcYw+y99b0eYPA2U15Jt8o= google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/genproto/googleapis/rpc v0.0.0-20230815205213-6bfd019c3878/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= @@ -2347,6 +2390,7 @@ gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.1-2020.1.4 h1:UoveltGrhghAA7ePc+e+QYDHXrBps2PqFZiHkGR/xK8= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= honnef.co/go/tools v0.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw= honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA= diff --git a/packages/apis/src/btc_staking_api.rs b/packages/apis/src/btc_staking_api.rs index 32cb7b0c..9b05c595 100644 --- a/packages/apis/src/btc_staking_api.rs +++ b/packages/apis/src/btc_staking_api.rs @@ -277,7 +277,7 @@ impl TryFrom<&babylon_proto::babylon::btcstaking::v1::ActiveBtcDelegation> for A .as_ref() .map(|ui| BtcUndelegationInfo { unbonding_tx: ui.unbonding_tx.to_vec().into(), - delegator_unbonding_info: delegator_unbonding_info, + delegator_unbonding_info, covenant_unbonding_sig_list: ui .covenant_unbonding_sig_list .iter() diff --git a/packages/btcstaking/src/tx_verify.rs b/packages/btcstaking/src/tx_verify.rs index 56ef13f9..6f1d3634 100644 --- a/packages/btcstaking/src/tx_verify.rs +++ b/packages/btcstaking/src/tx_verify.rs @@ -2,7 +2,7 @@ use crate::error::Error; use crate::scripts_utils; use crate::Result; -use bitcoin::{address::Address, Transaction}; +use bitcoin::Transaction; use k256::schnorr::VerifyingKey; use rust_decimal::{prelude::*, Decimal}; @@ -199,7 +199,6 @@ mod tests { use crate::sig_verify::{ enc_verify_transaction_sig_with_output, verify_transaction_sig_with_output, }; - use bitcoin::address::Address; use bitcoin::consensus::deserialize; use test_utils::{get_btc_delegation, get_params}; diff --git a/packages/proto/babylon b/packages/proto/babylon index 6e1079ac..de84d881 160000 --- a/packages/proto/babylon +++ b/packages/proto/babylon @@ -1 +1 @@ -Subproject commit 6e1079ac30dbcf90bcbcd74e4c9a436caff22a69 +Subproject commit de84d8817da424189fa5110ac00c2e3dc1333949 diff --git a/packages/test-utils/src/lib.rs b/packages/test-utils/src/lib.rs index 4c605a6c..9152bc0d 100644 --- a/packages/test-utils/src/lib.rs +++ b/packages/test-utils/src/lib.rs @@ -299,7 +299,7 @@ pub fn new_active_btc_delegation(del: BtcDelegation) -> ActiveBtcDelegation { undelegation_info: BtcUndelegationInfo { unbonding_tx: Binary::new(btc_undelegation.unbonding_tx.to_vec()), slashing_tx: Binary::new(btc_undelegation.slashing_tx.to_vec()), - delegator_unbonding_info: delegator_unbonding_info, + delegator_unbonding_info, delegator_slashing_sig: Binary::new(btc_undelegation.delegator_slashing_sig.to_vec()), covenant_unbonding_sig_list: vec![], covenant_slashing_sigs: vec![], diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index 8cd596eb..2d5dbfb6 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -8,6 +8,8 @@ set -eo pipefail cd packages/proto # To also initialize, fetch and checkout any nested submodules git submodule update --init --recursive +# Update the buf.yaml file to include the consumer-chain-support branch buf mod update +# Generate the Rust protobuf messages buf generate --template buf.gen.rust.yaml cd ../..