babylonchain / babylon

Main repo for Babylon full node
https://babylonchain.io
Other
237 stars 165 forks source link

chore: update `QueryBTCDelegationResponse` to simpler proto response #579

Closed RafilxTenfen closed 1 week ago

RafilxTenfen commented 7 months ago

We could remove it from this query response QueryBTCDelegationResponse, So at Babylon the following proto would be change

from

message QueryBTCDelegationResponse {
  // BTCDelegation represents the client needed information of an BTCDelegation.
  BTCDelegationResponse btc_delegation = 1;
}

to


// QueryBTCDelegationResponse is response type matching QueryBTCDelegationRequest
// and containing BTC delegation information
message QueryBTCDelegationResponse {
  // btc_pk is the Bitcoin secp256k1 PK of this BTC delegation
  // the PK follows encoding in BIP-340 spec
  bytes btc_pk = 1 [ (gogoproto.customtype) = "github.com/babylonchain/babylon/types.BIP340PubKey" ];
  // fp_btc_pk_list is the list of BIP-340 PKs of the finality providers that
  // this BTC delegation delegates to
  repeated bytes fp_btc_pk_list = 2 [ (gogoproto.customtype) = "github.com/babylonchain/babylon/types.BIP340PubKey" ];
  // start_height is the start BTC height of the BTC delegation
  // it is the start BTC height of the timelock
  uint64 start_height = 3;
  // end_height is the end height of the BTC delegation
  // it is the end BTC height of the timelock - w
  uint64 end_height = 4;
  // total_sat is the total amount of BTC stakes in this delegation
  // quantified in satoshi
  uint64 total_sat = 5;
  // staking_tx_hex is the hex string of staking tx
  string staking_tx_hex = 6;
  // slashing_tx_hex is the hex string of slashing tx
  string slashing_tx_hex = 7;
  // 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.
  string delegator_slash_sig_hex = 8;
  // 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.
  repeated CovenantAdaptorSignatures covenant_sigs = 9;
  // staking_output_idx is the index of the staking output in the staking tx
  uint32 staking_output_idx = 10;
  // whether this delegation is active
  bool active = 11;
  // descriptive status of current delegation.
  string status_desc = 12;
  // unbonding_time used in unbonding output timelock path and in slashing transactions
  // change outputs
  uint32 unbonding_time = 13;
  // undelegation_response is the undelegation info of this delegation.
  BTCUndelegationResponse undelegation_response = 14;
}

Note, this change should also affect vigilante side-car process

RafilxTenfen commented 1 week ago

moved https://github.com/babylonlabs-io/babylon/issues/166