clementine_core::builder::transaction::operator_collateral

Function create_round_txhandler

Source
pub fn create_round_txhandler(
    operator_xonly_pk: XOnlyPublicKey,
    txin: RoundTxInput,
    pubkeys: &[PublicKey],
    paramset: &'static ProtocolParamset,
) -> Result<TxHandler, BridgeError>
Expand description

Creates a TxHandler for round_tx.

This transaction is used to create a collateral for the withdrawal, kickoff UTXOs for the current round, and the reimburse connectors for the previous round. It always uses the first output of the previous ready_to_reimburse_tx as the input, chaining rounds together.

round tx inputs:

  1. Either the first collateral utxo of operator, or operators collateral in the previous rounds ready to reimburse tx.

round tx outputs:

  1. Operator’s Burn Connector
  2. Kickoff utxo(s): the utxos will be used as the input for the kickoff transactions
  3. Reimburse utxo(s): the utxo(s) will be used as an input to Reimburse TX
  4. P2Anchor: Anchor output for CPFP

§Arguments

  • operator_xonly_pk - The operator’s x-only public key.
  • txin - The input to the round transaction (either a previous output or the first collateral).
  • pubkeys - Winternitz public keys for the round’s kickoff UTXOs.
  • paramset - Protocol parameter set.

§Returns

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