@@ -9,6 +9,7 @@ const ecc_lib_1 = require('../ecc_lib');
99const bip341_1 = require ( './bip341' ) ;
1010const lazy = require ( './lazy' ) ;
1111const bech32_1 = require ( 'bech32' ) ;
12+ const address_1 = require ( '../address' ) ;
1213const OPS = bscript . OPS ;
1314const TAPROOT_WITNESS_VERSION = 0x01 ;
1415const ANNEX_PREFIX = 0x50 ;
@@ -53,14 +54,7 @@ function p2tr(a, opts) {
5354 a ,
5455 ) ;
5556 const _address = lazy . value ( ( ) => {
56- const result = bech32_1 . bech32m . decode ( a . address ) ;
57- const version = result . words . shift ( ) ;
58- const data = bech32_1 . bech32m . fromWords ( result . words ) ;
59- return {
60- version,
61- prefix : result . prefix ,
62- data : buffer_1 . Buffer . from ( data ) ,
63- } ;
57+ return ( 0 , address_1 . fromBech32 ) ( a . address ) ;
6458 } ) ;
6559 // remove annex if present, ignored by taproot
6660 const _witness = lazy . value ( ( ) => {
@@ -237,7 +231,7 @@ function p2tr(a, opts) {
237231 if ( a . redeem . witness ) {
238232 if (
239233 o . redeem . witness &&
240- ! stacksEqual ( a . redeem . witness , o . redeem . witness )
234+ ! ( 0 , types_1 . stacksEqual ) ( a . redeem . witness , o . redeem . witness )
241235 )
242236 throw new TypeError ( 'Redeem.witness and witness mismatch' ) ;
243237 }
@@ -289,9 +283,3 @@ function p2tr(a, opts) {
289283 return Object . assign ( o , a ) ;
290284}
291285exports . p2tr = p2tr ;
292- function stacksEqual ( a , b ) {
293- if ( a . length !== b . length ) return false ;
294- return a . every ( ( x , i ) => {
295- return x . equals ( b [ i ] ) ;
296- } ) ;
297- }
0 commit comments