pub fn withdrawal_request_reveal_unsigned_tx(
	withdrawal_data: WithdrawalData,
	reveal_inputs: RevealInputs,
	fulfillment_fee: Amount,
	commit_amount: Amount,
	sbtc_wallet_address: BitcoinAddress,
	recipient_wallet_address: BitcoinAddress,
) -> CommitRevealResult<Transaction> {
	let mut tx = reveal(&withdrawal_data.serialize_to_vec(), reveal_inputs)?;

	tx.output.push(TxOut {
		value: (commit_amount - withdrawal_data.reveal_fee - fulfillment_fee)
			.to_sat(),
		script_pubkey: recipient_wallet_address.script_pubkey(),
	});
	tx.output.push(TxOut {
		value: fulfillment_fee.to_sat(),
		script_pubkey: sbtc_wallet_address.script_pubkey(),
	});

	Ok(tx)
}
Constructs a transaction that reveals the withdrawal payment address
sbtc-core/src/operations/commit_reveal/withdrawal_request.rs