@@ -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 ;
@@ -61,14 +62,7 @@ function p2tr(a, opts) {
6162 a ,
6263 ) ;
6364 const _address = lazy . value ( ( ) => {
64- const result = bech32_1 . bech32m . decode ( a . address ) ;
65- const version = result . words . shift ( ) ;
66- const data = bech32_1 . bech32m . fromWords ( result . words ) ;
67- return {
68- version,
69- prefix : result . prefix ,
70- data : buffer_1 . Buffer . from ( data ) ,
71- } ;
65+ return ( 0 , address_1 . fromBech32 ) ( a . address ) ;
7266 } ) ;
7367 // remove annex if present, ignored by taproot
7468 const _witness = lazy . value ( ( ) => {
@@ -245,7 +239,7 @@ function p2tr(a, opts) {
245239 if ( a . redeem . witness ) {
246240 if (
247241 o . redeem . witness &&
248- ! stacksEqual ( a . redeem . witness , o . redeem . witness )
242+ ! ( 0 , types_1 . stacksEqual ) ( a . redeem . witness , o . redeem . witness )
249243 )
250244 throw new TypeError ( 'Redeem.witness and witness mismatch' ) ;
251245 }
@@ -297,9 +291,3 @@ function p2tr(a, opts) {
297291 return Object . assign ( o , a ) ;
298292}
299293exports . p2tr = p2tr ;
300- function stacksEqual ( a , b ) {
301- if ( a . length !== b . length ) return false ;
302- return a . every ( ( x , i ) => {
303- return x . equals ( b [ i ] ) ;
304- } ) ;
305- }
0 commit comments