MCPcopy Create free account
hub / github.com/BitVM/BitVM / test_assert_commits_tx_success

Function test_assert_commits_tx_success

bridge/tests/bridge/assert/assert_commits.rs:26–146  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

24
25#[tokio::test]
26async fn test_assert_commits_tx_success() {
27 let config = setup_test_full().await;
28 let faucet = Faucet::new(FaucetType::EsploraRegtest);
29
30 let reward_amount = get_reward_amount(ONE_HUNDRED);
31 let assert_commit1_dust_amount =
32 config.assert_commit_connectors_e_1.connectors_num() as u64 * DUST_AMOUNT;
33 let assert_commit2_dust_amount =
34 config.assert_commit_connectors_e_2.connectors_num() as u64 * DUST_AMOUNT;
35 let amount = Amount::from_sat(
36 reward_amount
37 + assert_commit1_dust_amount
38 + assert_commit2_dust_amount
39 + MIN_RELAY_FEE_ASSERT_INITIAL
40 + MIN_RELAY_FEE_ASSERT_COMMIT1
41 + MIN_RELAY_FEE_ASSERT_COMMIT2
42 + MIN_RELAY_FEE_ASSERT_FINAL,
43 );
44 let assert_inital_tx = fund_create_and_mine_assert_initial_tx(&config, &faucet, amount).await;
45
46 let mut vout_base = 1;
47 let mut assert_commit1 = AssertCommit1Transaction::new(
48 &config.assert_commit_connectors_e_1,
49 &config.assert_commit_connectors_f.connector_f_1,
50 (0..config.assert_commit_connectors_e_1.connectors_num())
51 .map(|idx| Input {
52 outpoint: OutPoint {
53 txid: assert_inital_tx.compute_txid(),
54 vout: (idx + vout_base).to_u32().unwrap(),
55 },
56 amount: assert_inital_tx.output[idx + vout_base].value,
57 })
58 .collect(),
59 );
60
61 vout_base += config.assert_commit_connectors_e_1.connectors_num();
62
63 let mut assert_commit2 = AssertCommit2Transaction::new(
64 &config.assert_commit_connectors_e_2,
65 &config.assert_commit_connectors_f.connector_f_2,
66 (0..config.assert_commit_connectors_e_2.connectors_num())
67 .map(|idx| Input {
68 outpoint: OutPoint {
69 txid: assert_inital_tx.compute_txid(),
70 vout: (idx + vout_base).to_u32().unwrap(),
71 },
72 amount: assert_inital_tx.output[idx + vout_base].value,
73 })
74 .collect(),
75 );
76
77 let (witness_for_commit1, witness_for_commit2) =
78 sign_assert_tx_with_groth16_proof(&config.commitment_secrets, &config.valid_proof);
79 assert_commit1.sign(
80 &config.assert_commit_connectors_e_1,
81 witness_for_commit1.clone(),
82 );
83 assert_commit2.sign(

Callers

nothing calls this directly

Calls 10

setup_test_fullFunction · 0.85
get_reward_amountFunction · 0.85
check_tx_output_sumFunction · 0.85
wait_for_timelock_expiryFunction · 0.85
connectors_numMethod · 0.80
cloneMethod · 0.80
signMethod · 0.45
finalizeMethod · 0.45

Tested by

no test coverage detected