Skip to content

Commit 7059451

Browse files
test: add simple KeyRing tests
1 parent f08874f commit 7059451

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

wallet/tests/keyring.rs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
use bdk_wallet::keyring::KeyRing;
2+
use bitcoin::Network;
3+
use bdk_wallet::KeychainKind;
4+
5+
// From the mnemonic "awesome awesome awesome awesome awesome awesome awesome awesome awesome awesome awesome awesome"
6+
const DESC_1: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/0/*)";
7+
8+
#[test]
9+
fn test_simple_keyring() {
10+
let network = Network::Regtest;
11+
let keychain_id = KeychainKind::External;
12+
13+
let keyring = KeyRing::new(network, keychain_id, DESC_1);
14+
15+
assert_eq!(keyring.default_keychain(), keychain_id);
16+
assert_eq!(keyring.list_keychains().len(), 1);
17+
}
18+
19+
#[test]
20+
fn test_8_keychains_keyring() {
21+
const DESC_1: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/0/*)";
22+
const DESC_2: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/1/*)";
23+
const DESC_3: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/2/*)";
24+
const DESC_4: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/3/*)";
25+
const DESC_5: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/4/*)";
26+
const DESC_6: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/5/*)";
27+
const DESC_7: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/6/*)";
28+
const DESC_8: &str = "tr(tprv8ZgxMBicQKsPdWAHbugK2tjtVtRjKGixYVZUdL7xLHMgXZS6BFbFi1UDb1CHT25Z5PU1F9j7wGxwUiRhqz9E3nZRztikGUV6HoRDYcqPhM4/86'/1'/0'/7/*)";
29+
30+
let mut keyring = KeyRing::new(Network::Regtest, 1, DESC_1);
31+
keyring.add_descriptor(2, DESC_2, false);
32+
keyring.add_descriptor(3, DESC_3, false);
33+
keyring.add_descriptor(4, DESC_4, false);
34+
keyring.add_descriptor(5, DESC_5, false);
35+
keyring.add_descriptor(6, DESC_6, false);
36+
keyring.add_descriptor(7, DESC_7, false);
37+
keyring.add_descriptor(8, DESC_8, false);
38+
39+
assert_eq!(keyring.default_keychain(), 1);
40+
assert_eq!(keyring.list_keychains().len(), 8);
41+
}

0 commit comments

Comments
 (0)