Skip to content
This repository was archived by the owner on Dec 4, 2024. It is now read-only.

Commit e651c91

Browse files
committed
static wallets
1 parent a592e07 commit e651c91

File tree

2 files changed

+112
-29
lines changed

2 files changed

+112
-29
lines changed

romeo/tests/tests/deposit.rs

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,35 @@
11
use std::{thread::sleep, time::Duration};
22

33
use anyhow::Result;
4-
use bdk::bitcoin::psbt::serialize::Serialize;
5-
use reqwest::blocking::Client;
6-
use sbtc_cli::commands::{
7-
broadcast::{broadcast_tx, BroadcastArgs},
8-
deposit::{build_deposit_tx, DepositArgs},
9-
};
10-
11-
use super::bitcoin_client::{electrs_url, generate_blocks};
12-
13-
const WALLET_0_P2TR_ADDRESS: &str =
14-
"bcrt1pte5zmd7qzj4hdu45lh9mmdm0nwq3z35pwnxmzkwld6y0a8g83nnqhj6vc0";
15-
const WALLET_0_P2WPKH_ADDRESS: &str =
16-
"bcrt1q3tj2fr9scwmcw3rq5m6jslva65f2rqjxfrjz47";
17-
const WALLET_0_P2WPKH_WIF: &str =
18-
"cTyHitzs3VRnNxrpwxo3fXTTe569wHNUs57tQM7Z1FrzUDNB5mqm";
19-
const WALLET_1_P2WPKH_WIF: &str =
20-
"cNcXK2r8bNdWJQymtAW8tGS7QHNtFFvG5CdXqhhT752u29WspXRM";
21-
const WALLET_1_STX_ADDRESS: &str = "ST2ST2H80NP5C9SPR4ENJ1Z9CDM9PKAJVPYWPQZ50";
22-
const WALLET_1_P2WPKH_ADDRESS: &str =
23-
"bcrt1q3zl64vadtuh3vnsuhdgv6pm93n82ye8q6cr4ch";
24-
254
use bdk::{
26-
bitcoin::PrivateKey,
5+
bitcoin::{psbt::serialize::Serialize, PrivateKey},
276
blockchain::{
287
ConfigurableBlockchain, ElectrumBlockchain, ElectrumBlockchainConfig,
298
},
309
database::MemoryDatabase,
3110
template::P2Wpkh,
3211
SyncOptions, Wallet,
3312
};
13+
use reqwest::blocking::Client;
14+
use sbtc_cli::commands::{
15+
broadcast::{broadcast_tx, BroadcastArgs},
16+
deposit::{build_deposit_tx, DepositArgs},
17+
};
18+
19+
use super::{
20+
bitcoin_client::{electrs_url, generate_blocks},
21+
KeyType::*,
22+
WALLETS,
23+
};
3424

3525
#[test]
3626
fn broadcast_deposit() -> Result<()> {
3727
let client = Client::new();
3828
{
39-
generate_blocks(1, &client, WALLET_0_P2WPKH_ADDRESS);
40-
generate_blocks(1, &client, WALLET_1_P2WPKH_ADDRESS);
29+
generate_blocks(1, &client, WALLETS[0][P2wpkh].address);
30+
generate_blocks(1, &client, WALLETS[1][P2wpkh].address);
4131
// pads blocks to get rewards.
42-
generate_blocks(100, &client, WALLET_0_P2WPKH_ADDRESS);
32+
generate_blocks(100, &client, WALLETS[0][P2wpkh].address);
4333
};
4434

4535
let electrum_url = electrs_url();
@@ -57,7 +47,7 @@ fn broadcast_deposit() -> Result<()> {
5747
})
5848
.unwrap();
5949

60-
let private_key = PrivateKey::from_wif(WALLET_0_P2WPKH_WIF)?;
50+
let private_key = PrivateKey::from_wif(WALLETS[0][P2wpkh].wif)?;
6151

6252
let wallet = Wallet::new(
6353
P2Wpkh(private_key),
@@ -82,11 +72,11 @@ fn broadcast_deposit() -> Result<()> {
8272
let tx = {
8373
let args = DepositArgs {
8474
node_url: electrum_url.clone(),
85-
wif: WALLET_1_P2WPKH_WIF.into(),
75+
wif: WALLETS[1][P2wpkh].wif.into(),
8676
network: bdk::bitcoin::Network::Regtest,
87-
recipient: WALLET_1_STX_ADDRESS.into(),
77+
recipient: WALLETS[1][Stacks].address.into(),
8878
amount,
89-
sbtc_wallet: WALLET_0_P2TR_ADDRESS.into(),
79+
sbtc_wallet: WALLETS[0][P2tr].address.into(),
9080
};
9181

9282
build_deposit_tx(&args).unwrap()

romeo/tests/tests/mod.rs

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,96 @@
11
pub mod bitcoin_client;
22
pub mod deposit;
33
pub mod stacks_client;
4+
pub mod withdrawal;
5+
6+
use std::ops::Index;
7+
8+
struct KeyRing {
9+
address: &'static str,
10+
#[allow(unused)]
11+
private_key: &'static str,
12+
#[allow(unused)]
13+
public_key: &'static str,
14+
wif: &'static str,
15+
}
16+
17+
#[repr(usize)]
18+
pub(crate) enum KeyType {
19+
#[allow(unused)]
20+
P2pkh,
21+
P2tr,
22+
P2wpkh,
23+
Stacks,
24+
}
25+
26+
impl Index<KeyType> for [KeyRing] {
27+
type Output = KeyRing;
28+
29+
fn index(&self, index: KeyType) -> &Self::Output {
30+
&self[index as usize]
31+
}
32+
}
33+
34+
type FullRing = [KeyRing; 4];
35+
36+
const WALLETS: [FullRing; 2] = [[
37+
KeyRing {
38+
address: "n4dN5bVeriVW9gKZMfNqHn21aJkwTM8QPH",
39+
private_key:
40+
"a38cbb2ca77786b9d37fd0feb34df2e423130ec74d0189736bf52561562c9565",
41+
public_key:
42+
"03bcb048737cc2f239db2b3db6eae00263861bfbe5b2577e573e3c32f61a46ac8c",
43+
wif: "cT4cy7eAKPjhaZ3h72GdpbrtrFzsUQShZEcM5eNCiHrfuzmoXvBt",
44+
},
45+
KeyRing {
46+
address:
47+
"bcrt1pte5zmd7qzj4hdu45lh9mmdm0nwq3z35pwnxmzkwld6y0a8g83nnqhj6vc0",
48+
private_key:
49+
"6596d84eef5b73430712dde88fbf6a1d96f97f5f241ab1bf247d04bc241dd28d",
50+
public_key:
51+
"034a45bd09cc815da165b8987a7263a2c4111b79951562fc5c0989e9cdf5ceded2",
52+
wif: "cQzBGXC4YACb61oCwxDK9F1a8nxCjUiBZ5rBUaUJAeQvTytUBBFi",
53+
},
54+
KeyRing {
55+
address: "bcrt1q3tj2fr9scwmcw3rq5m6jslva65f2rqjxfrjz47",
56+
private_key:
57+
"bea4ecfec5cfa1e965ee1b3465ca4deff4f04b36a1fb5286a07660d5158789fb",
58+
public_key:
59+
"03ab37f5b606931d7828855affe75199d952bc6174b4a23861b7ac94132210508c",
60+
wif: "cTyHitzs3VRnNxrpwxo3fXTTe569wHNUs57tQM7Z1FrzUDNB5mqm",
61+
},
62+
KeyRing {
63+
address: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM",
64+
private_key:
65+
"753b7cc01a1a2e86221266a154af739463fce51219d97e4f856cd7200c3bd2a6",
66+
public_key:
67+
"0390a5cac7c33fda49f70bc1b0866fa0ba7a9440d9de647fecb8132ceb76a94dfa",
68+
wif: "cRWawjcDj2J28jczAtjJGKs1pzFxM6V6tJHNZp3WrYoLhr2PLMVB",
69+
},
70+
],[
71+
KeyRing {
72+
address: "mvTQYAcGa17CTxWcJhRPXn6qecBQLSWuaJ",
73+
private_key: "a1fc751f0bb64c01adb7c60dbe966e2bb9e262aa23bf41158e64c2142fc4fa78",
74+
public_key: "030ede1203e7873388f81a7801df5714152c72273507a0fe0609e3f223fb6f56ae",
75+
wif: "cT1agfN8XrWY1bSW5DGWpXUWYFjrmKWeJHyU79Kk66dPnMC6fw3L"
76+
},
77+
KeyRing {
78+
address: "bcrt1prm3lfhsgnnxe0def39n7xpa9etqrjfdxeqnar9xegqu4c044td0sfktyxq",
79+
private_key: "73f560df660fb11c9aff8178971acd67e75ecb4e5683f5e9bdc52fb3c967c7a3",
80+
public_key: "02aaed53527e3771645a050568a3cc9820361899c36f689cac15b57cc7885f3ca1",
81+
wif: "cRU7KinnTuwaJ9N6WFDg2YdhtKcU5vxTSKFtgmT2gTtFvNfhnXx9"
82+
},
83+
KeyRing {
84+
address: "bcrt1q3zl64vadtuh3vnsuhdgv6pm93n82ye8q6cr4ch",
85+
private_key: "1ec64b686cf94a4d8c741ed34db074b86d91c0971a38fe6e161b402489d7a74e",
86+
public_key: "03969ff3e2bf7f2f73dc903cd11442032c8c7811d57d96ce327ee89c9edea63fa8",
87+
wif: "cNcXK2r8bNdWJQymtAW8tGS7QHNtFFvG5CdXqhhT752u29WspXRM"
88+
},
89+
KeyRing {
90+
address: "ST2ST2H80NP5C9SPR4ENJ1Z9CDM9PKAJVPYWPQZ50",
91+
private_key: "6a7c24ee77649c0cc314864596a6bd1addf3efb93bd63bcdb99be08437420847",
92+
public_key: "038386f533650ff82714eeac9438faaa8a20ada5dd68a7eb8e00cf46cab5325a68",
93+
wif: "cR9hENRFiuHzKpj9B3QCTBrt19c5ZCJKHJwYcqj5dfB6aKyf6ndm"
94+
}
95+
96+
]];

0 commit comments

Comments
 (0)