Skip to content

Commit 7186ca0

Browse files
committed
elip150: test vectors: generate mainnet addresses
Consistently with the extended pubkey network.
1 parent b2a6912 commit 7186ca0

File tree

1 file changed

+29
-29
lines changed

1 file changed

+29
-29
lines changed

src/confidential/mod.rs

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -282,13 +282,13 @@ mod tests {
282282
assert_eq!(desc, Descriptor::from_str(&desc.to_string()).unwrap());
283283
assert_eq!(
284284
self.conf_addr,
285-
desc.address(secp, &elements::AddressParams::ELEMENTS)
285+
desc.address(secp, &elements::AddressParams::LIQUID)
286286
.unwrap()
287287
.to_string(),
288288
);
289289
assert_eq!(
290290
self.unconf_addr,
291-
desc.unconfidential_address(&elements::AddressParams::ELEMENTS)
291+
desc.unconfidential_address(&elements::AddressParams::LIQUID)
292292
.unwrap()
293293
.to_string(),
294294
);
@@ -335,64 +335,64 @@ mod tests {
335335
key: Key::Bare(ct_key.clone()),
336336
descriptor: crate::Descriptor::new_pkh(spk_key.clone()),
337337
descriptor_str: format!("ct({},elpkh({}))#y0lg3d5y", ct_key, spk_key),
338-
conf_addr: "CTEnDa5fqGccV3g3jvp4exSQwRfb6FpGchNBF4ZrAaq8ip8gvLqHCtzw1F7d7U5gYJYXBwymgEMmJjca",
339-
unconf_addr: "2dhfebpgPWpeqPdCMMam5F2UHAgx3bbLzAg",
338+
conf_addr: "VTpvZZYdbhbyVF3Wa99eMjgXhfvu4LS26dR2FwMfNXq7FDX73HZEsZr3VvgH9EDgQnYK7sP6ACKSuMGw",
339+
unconf_addr: "Q5WHLVd78iAspUNvzuULvi2F8u693pzAqe",
340340
},
341341
// Bare key, P2WPKH
342342
ConfidentialTest {
343343
key: Key::Bare(ct_key.clone()),
344344
descriptor: crate::Descriptor::new_wpkh(spk_key.clone()).unwrap(),
345345
descriptor_str: format!("ct({},elwpkh({}))#kt4e25qt", ct_key, spk_key),
346-
conf_addr: "el1qqg5s7xj7upzl7h4q2k2wj4vq63nvaktn0egqu09nqcr6d44p4evaqknpl78t02k2xqgdh9ltmfmpy9ssk7qfvrldr2dttt3ez",
347-
unconf_addr: "ert1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyk32h3ur",
346+
conf_addr: "lq1qqg5s7xj7upzl7h4q2k2wj4vq63nvaktn0egqu09nqcr6d44p4evaqknpl78t02k2xqgdh9ltmfmpy9ssk7qfvghdsfr4mvr9c",
347+
unconf_addr: "ex1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyktcafre",
348348
},
349349
// Bare key, P2SH-WPKH
350350
ConfidentialTest {
351351
key: Key::Bare(ct_key.clone()),
352352
descriptor: crate::Descriptor::new_sh_wpkh(spk_key.clone()).unwrap(),
353353
descriptor_str: format!("ct({},elsh(wpkh({})))#xg9r4jej", ct_key, spk_key),
354-
conf_addr: "AzpnREsN1RSi4JB7rAfpywmPsvGxyygmwm9o3iZcP43svg4frVW5DXvGj5yEx6mKcPtAyHgQWVikFRCM",
355-
unconf_addr: "XKGUGskfGsNRR1Ww4ytemgBjuszohUaNgv",
354+
conf_addr: "VJL8znN4XjXEUKzDaYsqdzRASGLY2KHxC4N6g5b5QvrNjXfeKp83Ci9AW2a8QzbZjpEffoy4PEywpLAZ",
355+
unconf_addr: "Gq6kpy2HiNgsyQVpBsuBKAPRFiir23qKro",
356356
},
357357
// Bare key, P2TR
358358
ConfidentialTest {
359359
key: Key::Bare(ct_key.clone()),
360360
descriptor: crate::Descriptor::new_tr(spk_key.clone(), None).unwrap(),
361361
descriptor_str: format!("ct({},eltr({}))#c0pjjxyw", ct_key, spk_key),
362-
conf_addr: "el1pq0nsl8du3gsuk7r90sgm78259mmv6mt9d4yvj30zr3u052ufs5meuc2tuvwx7k7g9kvhhpux07vqpm3qjj8uwdj94650265ustv0xy8z2pc847zht4k0",
363-
unconf_addr: "ert1pv997x8r0t0yzmxtms7r8lxqqacsffr78xez6a284d2wg9k8nzr3q3s6527",
362+
conf_addr: "lq1pq0nsl8du3gsuk7r90sgm78259mmv6mt9d4yvj30zr3u052ufs5meuc2tuvwx7k7g9kvhhpux07vqpm3qjj8uwdj94650265ustv0xy8zrdxdfgp8g9pl",
363+
unconf_addr: "ex1pv997x8r0t0yzmxtms7r8lxqqacsffr78xez6a284d2wg9k8nzr3qxa9kvf",
364364
},
365365
// SLIP77, P2PKH
366366
ConfidentialTest {
367367
key: Key::Slip77(slip77::MasterBlindingKey::from_seed(b"abcd")),
368368
descriptor: crate::Descriptor::new_pkh(spk_key.clone()),
369369
descriptor_str: format!("ct(slip77(b2396b3ee20509cdb64fe24180a14a72dbd671728eaa49bac69d2bdecb5f5a04),elpkh({}))#hw2glz99", spk_key),
370-
conf_addr: "CTEvn67jjJXDr3aDCZypTCJc6XHZ7ATyd89oXfNLQt1G2omPUpPkHA6zUAGPGF2YH4RnWfWut2f4dRSd",
371-
unconf_addr: "2dhfebpgPWpeqPdCMMam5F2UHAgx3bbLzAg",
370+
conf_addr: "VTq585ahVjWarEwg2nKQ9yYirmYs5F5j74CeYYA9cq1EZD9obm7hwpx6xqq3J1AY9YRaSavEMzYfr6t7",
371+
unconf_addr: "Q5WHLVd78iAspUNvzuULvi2F8u693pzAqe",
372372
},
373373
// SLIP77, P2WPKH
374374
ConfidentialTest {
375375
key: Key::Slip77(slip77::MasterBlindingKey::from_seed(b"abcd")),
376376
descriptor: crate::Descriptor::new_wpkh(spk_key.clone()).unwrap(),
377377
descriptor_str: format!("ct(slip77(b2396b3ee20509cdb64fe24180a14a72dbd671728eaa49bac69d2bdecb5f5a04),elwpkh({}))#545pl285", spk_key),
378-
conf_addr: "el1qqdx5wnttttzulcs6ujlg9pfts6mp3r4sdwg5ekdej566n5wxzk88vknpl78t02k2xqgdh9ltmfmpy9ssk7qfvge347y58xukt",
379-
unconf_addr: "ert1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyk32h3ur",
378+
conf_addr: "lq1qqdx5wnttttzulcs6ujlg9pfts6mp3r4sdwg5ekdej566n5wxzk88vknpl78t02k2xqgdh9ltmfmpy9ssk7qfvr33xa22hpw23",
379+
unconf_addr: "ex1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyktcafre",
380380
},
381381
// SLIP77, P2SH
382382
ConfidentialTest {
383383
key: Key::Slip77(slip77::MasterBlindingKey::from_seed(b"abcd")),
384384
descriptor: crate::Descriptor::new_sh_wpkh(spk_key.clone()).unwrap(),
385385
descriptor_str: format!("ct(slip77(b2396b3ee20509cdb64fe24180a14a72dbd671728eaa49bac69d2bdecb5f5a04),elsh(wpkh({})))#m30vswxr", spk_key),
386-
conf_addr: "AzptgrWR3xVX6Qg8mbkyZiESb6C9uy8VCUdCCmw7UtceiF5H8PdB6933YDT7vHsevK1yFmxfajdaedCH",
387-
unconf_addr: "XKGUGskfGsNRR1Ww4ytemgBjuszohUaNgv",
386+
conf_addr: "VJLFGQ17aGa3WSVEVyxzDktD9SFixJjfSmqVq8xaWmR9X6gFbiF95KFwKA41PBhu3jNTxJFKTUphHL8J",
387+
unconf_addr: "Gq6kpy2HiNgsyQVpBsuBKAPRFiir23qKro",
388388
},
389389
// SLIP77, P2TR
390390
ConfidentialTest {
391391
key: Key::Slip77(slip77::MasterBlindingKey::from_seed(b"abcd")),
392392
descriptor: crate::Descriptor::new_tr(spk_key.clone(), None).unwrap(),
393393
descriptor_str: format!("ct(slip77(b2396b3ee20509cdb64fe24180a14a72dbd671728eaa49bac69d2bdecb5f5a04),eltr({}))#n3v4t5cs", spk_key),
394-
conf_addr: "el1pq26fndnz8ef6umlz6e2755sm6j5jwxv3tdt2295mr4mx6ux0uf8vcc2tuvwx7k7g9kvhhpux07vqpm3qjj8uwdj94650265ustv0xy8zwzhhycxfhdrm",
395-
unconf_addr: "ert1pv997x8r0t0yzmxtms7r8lxqqacsffr78xez6a284d2wg9k8nzr3q3s6527",
394+
conf_addr: "lq1pq26fndnz8ef6umlz6e2755sm6j5jwxv3tdt2295mr4mx6ux0uf8vcc2tuvwx7k7g9kvhhpux07vqpm3qjj8uwdj94650265ustv0xy8z8wfacw9e5a5t",
395+
unconf_addr: "ex1pv997x8r0t0yzmxtms7r8lxqqacsffr78xez6a284d2wg9k8nzr3qxa9kvf",
396396
},
397397
];
398398

@@ -473,8 +473,8 @@ mod tests {
473473
key: Key::View(view_key.clone()),
474474
descriptor: crate::Descriptor::new_wpkh(spk_key.clone()).unwrap(),
475475
descriptor_str: format!("ct({},elwpkh({}))#j95xktq7", view_key, spk_key),
476-
conf_addr: "el1qq2r0pdvcknjpwev96qu9975alzqs78cvsut5ju82t7tv8d645dgmwknpl78t02k2xqgdh9ltmfmpy9ssk7qfvq78z9wukacu0",
477-
unconf_addr: "ert1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyk32h3ur",
476+
conf_addr: "lq1qq2r0pdvcknjpwev96qu9975alzqs78cvsut5ju82t7tv8d645dgmwknpl78t02k2xqgdh9ltmfmpy9ssk7qfvtk83xqzx62q4",
477+
unconf_addr: "ex1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyktcafre",
478478
};
479479
test.check(&secp);
480480

@@ -483,8 +483,8 @@ mod tests {
483483
key: Key::Bare(ct_key.clone()),
484484
descriptor: crate::Descriptor::new_wpkh(spk_key.clone()).unwrap(),
485485
descriptor_str: format!("ct({},elwpkh({}))#elmfpmp9", ct_key, spk_key),
486-
conf_addr: "el1qq2r0pdvcknjpwev96qu9975alzqs78cvsut5ju82t7tv8d645dgmwknpl78t02k2xqgdh9ltmfmpy9ssk7qfvq78z9wukacu0",
487-
unconf_addr: "ert1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyk32h3ur",
486+
conf_addr: "lq1qq2r0pdvcknjpwev96qu9975alzqs78cvsut5ju82t7tv8d645dgmwknpl78t02k2xqgdh9ltmfmpy9ssk7qfvtk83xqzx62q4",
487+
unconf_addr: "ex1qtfsllr4h4t9rqyxmjl4a5asjzcgt0qyktcafre",
488488
};
489489
test.check(&secp);
490490
}
@@ -495,17 +495,17 @@ mod tests {
495495
let view_key = "c25deb86fa11e49d651d7eae27c220ef930fbd86ea023eebfa73e54875647963";
496496
let ct_key = "0286fc9a38e765d955e9b0bcc18fa9ae81b0c893e2dd1ef5542a9c73780a086b90";
497497
let pk = "021a8fb6bd5a653b021b98a2a785725b8ddacfe3687bc043aa7f4d25d3a48d40b5";
498-
let addr_conf = "el1qq265u4g3k3m3qpyxjwpdrtnm293wuxgvs9xzmzcs2ck0mv5rx23w4d7xfsednsmmxrszfe7s9rs0c6cvf3dfyqwa4jj40uffq";
499-
let addr_unconf = "ert1qklrycvkecdanpcpyulgz3c8udvxyck5jkzxddw";
498+
let addr_conf = "lq1qq265u4g3k3m3qpyxjwpdrtnm293wuxgvs9xzmzcs2ck0mv5rx23w4d7xfsednsmmxrszfe7s9rs0c6cvf3dfytxax3utlmm46";
499+
let addr_unconf = "ex1qklrycvkecdanpcpyulgz3c8udvxyck5jvsv4j5";
500500

501501
for desc_str in [
502502
format!("ct({view_key},elwpkh({pk}))#c2kx9zll"),
503503
format!("ct({ct_key},elwpkh({pk}))#m5mvyh29"),
504504
] {
505505
let desc = Descriptor::<DefiniteDescriptorKey>::from_str(&desc_str).unwrap();
506506
assert_eq!(desc.to_string(), desc_str);
507-
assert_eq!(addr_conf, &desc.address(&secp, &elements::AddressParams::ELEMENTS).unwrap().to_string());
508-
assert_eq!(addr_unconf, &desc.unconfidential_address(&elements::AddressParams::ELEMENTS).unwrap().to_string());
507+
assert_eq!(addr_conf, &desc.address(&secp, &elements::AddressParams::LIQUID).unwrap().to_string());
508+
assert_eq!(addr_unconf, &desc.unconfidential_address(&elements::AddressParams::LIQUID).unwrap().to_string());
509509
}
510510
}
511511

@@ -525,15 +525,15 @@ mod tests {
525525
#[test]
526526
fn descriptor_wildcard() {
527527
let secp = secp256k1_zkp::Secp256k1::new();
528-
let params = &elements::AddressParams::ELEMENTS;
528+
let params = &elements::AddressParams::LIQUID;
529529

530530
let xprv = "xprv9s21ZrQH143K28NgQ7bHCF61hy9VzwquBZvpzTwXLsbmQLRJ6iV9k2hUBRt5qzmBaSpeMj5LdcsHaXJvM7iFEivPryRcL8irN7Na9p65UUb";
531531
let xpub = "xpub661MyMwAqRbcEcT9W98HZP2kFzyzQQZkYnrRnrM8uD8kH8kSeFoQHq1x2iihLgC6PXGy5LrjCL66uSNhJ8pwjfx2rMUTLWuRMns2EG9xnjs";
532532
let desc_view_str = format!("ct({}/*,elwpkh({}/*))#wk8ltq6h", xprv, xpub);
533533
let desc_bare_str = format!("ct({}/*,elwpkh({}/*))#zzac2dpf", xpub, xpub);
534534
let index = 1;
535-
let conf_addr = "el1qqf6690fpw2y00hv5a84zsydjgztg2089d5xnll4k4cstzn63uvgudd907qpvlvvwd5ym9gx7j0v46elf23kfxunucm6ejjyk0";
536-
let unconf_addr = "ert1qkjhlqqk0kx8x6zdj5r0f8k2avl54gmyn7qjk2k";
535+
let conf_addr = "lq1qqf6690fpw2y00hv5a84zsydjgztg2089d5xnll4k4cstzn63uvgudd907qpvlvvwd5ym9gx7j0v46elf23kfxhmutc58z4k24";
536+
let unconf_addr = "ex1qkjhlqqk0kx8x6zdj5r0f8k2avl54gmynyjcw4v";
537537

538538
let desc_view = Descriptor::<DescriptorPublicKey>::from_str(&desc_view_str).unwrap();
539539
let desc_bare = Descriptor::<DescriptorPublicKey>::from_str(&desc_bare_str).unwrap();

0 commit comments

Comments
 (0)