clementine_core::builder::transaction::challenge

Function create_disprove_txhandler

Source
pub fn create_disprove_txhandler(
    kickoff_txhandler: &TxHandler,
    round_txhandler: &TxHandler,
    paramset: &'static ProtocolParamset,
) -> Result<TxHandler, BridgeError>
Expand description

Creates a TxHandler for the disprove_tx.

This transaction is sent by N-of-N to penalize a malicious operator by burning their collateral (burn connector). This is done either with the additional disprove script created by BitVM, in case the public inputs of the bridge proof the operator sent are not correct/do not match previous data, or if the Groth16 verification of the proof is incorrect using BitVM disprove scripts.

§Inputs

  1. KickoffTx: Disprove utxo
  2. RoundTx: BurnConnector utxo

§Outputs

  1. Anchor output for CPFP

§Arguments

  • kickoff_txhandler - The kickoff transaction handler the disprove belongs to.
  • round_txhandler - The round transaction handler to the current round the kickoff belongs to.

§Returns

A TxHandler for the disprove transaction, or a BridgeError if construction fails.