@btc-vision/bitcoin 7.0.0-beta.0 → 7.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +112 -13
  2. package/benchmark-compare/BENCHMARK.md +74 -59
  3. package/benchmark-compare/compare.bench.ts +249 -96
  4. package/benchmark-compare/harness.ts +23 -25
  5. package/benchmark-compare/package.json +1 -0
  6. package/browser/address.d.ts +4 -4
  7. package/browser/address.d.ts.map +1 -1
  8. package/browser/chunks/{psbt-parallel-B-dfm5GZ.js → psbt-parallel-jZ6QcCnM.js} +3128 -2731
  9. package/browser/index.d.ts +1 -1
  10. package/browser/index.d.ts.map +1 -1
  11. package/browser/index.js +603 -585
  12. package/browser/io/base58check.d.ts +1 -25
  13. package/browser/io/base58check.d.ts.map +1 -1
  14. package/browser/io/base64.d.ts.map +1 -1
  15. package/browser/networks.d.ts +1 -0
  16. package/browser/networks.d.ts.map +1 -1
  17. package/browser/payments/bip341.d.ts +17 -0
  18. package/browser/payments/bip341.d.ts.map +1 -1
  19. package/browser/payments/index.d.ts +3 -2
  20. package/browser/payments/index.d.ts.map +1 -1
  21. package/browser/payments/p2mr.d.ts +169 -0
  22. package/browser/payments/p2mr.d.ts.map +1 -0
  23. package/browser/payments/types.d.ts +11 -1
  24. package/browser/payments/types.d.ts.map +1 -1
  25. package/browser/psbt/bip371.d.ts +30 -0
  26. package/browser/psbt/bip371.d.ts.map +1 -1
  27. package/browser/psbt/psbtutils.d.ts +1 -0
  28. package/browser/psbt/psbtutils.d.ts.map +1 -1
  29. package/browser/psbt.d.ts.map +1 -1
  30. package/browser/workers/index.js +9 -9
  31. package/build/address.d.ts +4 -4
  32. package/build/address.d.ts.map +1 -1
  33. package/build/address.js +11 -1
  34. package/build/address.js.map +1 -1
  35. package/build/index.d.ts +1 -1
  36. package/build/index.d.ts.map +1 -1
  37. package/build/index.js.map +1 -1
  38. package/build/io/base58check.d.ts +1 -25
  39. package/build/io/base58check.d.ts.map +1 -1
  40. package/build/io/base58check.js +1 -31
  41. package/build/io/base58check.js.map +1 -1
  42. package/build/io/base64.d.ts.map +1 -1
  43. package/build/io/base64.js +3 -0
  44. package/build/io/base64.js.map +1 -1
  45. package/build/networks.d.ts +1 -0
  46. package/build/networks.d.ts.map +1 -1
  47. package/build/networks.js +12 -0
  48. package/build/networks.js.map +1 -1
  49. package/build/payments/bip341.d.ts +17 -0
  50. package/build/payments/bip341.d.ts.map +1 -1
  51. package/build/payments/bip341.js +32 -1
  52. package/build/payments/bip341.js.map +1 -1
  53. package/build/payments/index.d.ts +3 -2
  54. package/build/payments/index.d.ts.map +1 -1
  55. package/build/payments/index.js +2 -1
  56. package/build/payments/index.js.map +1 -1
  57. package/build/payments/p2mr.d.ts +178 -0
  58. package/build/payments/p2mr.d.ts.map +1 -0
  59. package/build/payments/p2mr.js +555 -0
  60. package/build/payments/p2mr.js.map +1 -0
  61. package/build/payments/types.d.ts +11 -1
  62. package/build/payments/types.d.ts.map +1 -1
  63. package/build/payments/types.js +1 -0
  64. package/build/payments/types.js.map +1 -1
  65. package/build/psbt/bip371.d.ts +30 -0
  66. package/build/psbt/bip371.d.ts.map +1 -1
  67. package/build/psbt/bip371.js +80 -15
  68. package/build/psbt/bip371.js.map +1 -1
  69. package/build/psbt/psbtutils.d.ts +1 -0
  70. package/build/psbt/psbtutils.d.ts.map +1 -1
  71. package/build/psbt/psbtutils.js +2 -0
  72. package/build/psbt/psbtutils.js.map +1 -1
  73. package/build/psbt.d.ts.map +1 -1
  74. package/build/psbt.js +3 -2
  75. package/build/psbt.js.map +1 -1
  76. package/build/pubkey.js +1 -1
  77. package/build/pubkey.js.map +1 -1
  78. package/build/tsconfig.build.tsbuildinfo +1 -1
  79. package/documentation/README.md +122 -0
  80. package/documentation/address.md +820 -0
  81. package/documentation/block.md +679 -0
  82. package/documentation/crypto.md +461 -0
  83. package/documentation/ecc.md +584 -0
  84. package/documentation/errors.md +656 -0
  85. package/documentation/io.md +942 -0
  86. package/documentation/networks.md +625 -0
  87. package/documentation/p2mr.md +380 -0
  88. package/documentation/payments.md +1485 -0
  89. package/documentation/psbt.md +1400 -0
  90. package/documentation/script.md +730 -0
  91. package/documentation/taproot.md +670 -0
  92. package/documentation/transaction.md +943 -0
  93. package/documentation/types.md +587 -0
  94. package/documentation/workers.md +1007 -0
  95. package/eslint.config.js +3 -0
  96. package/package.json +17 -14
  97. package/src/address.ts +22 -10
  98. package/src/index.ts +1 -0
  99. package/src/io/base58check.ts +1 -35
  100. package/src/io/base64.ts +5 -0
  101. package/src/networks.ts +13 -0
  102. package/src/payments/bip341.ts +36 -1
  103. package/src/payments/index.ts +4 -0
  104. package/src/payments/p2mr.ts +660 -0
  105. package/src/payments/types.ts +12 -0
  106. package/src/psbt/bip371.ts +84 -13
  107. package/src/psbt/psbtutils.ts +2 -0
  108. package/src/psbt.ts +4 -2
  109. package/src/pubkey.ts +1 -1
  110. package/test/bitcoin.core.spec.ts +1 -1
  111. package/test/fixtures/p2mr.json +270 -0
  112. package/test/integration/taproot.spec.ts +7 -3
  113. package/test/opnetTestnet.spec.ts +302 -0
  114. package/test/payments.spec.ts +3 -1
  115. package/test/psbt.spec.ts +297 -2
  116. package/test/tsconfig.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,2 @@
1
- /**
2
- * Base58Check encoding/decoding using @scure/base and @noble/hashes.
3
- *
4
- * Base58Check is a binary-to-text encoding with a 4-byte checksum
5
- * derived from double SHA-256, used for Bitcoin addresses and WIF keys.
6
- *
7
- * @packageDocumentation
8
- */
9
- /**
10
- * Base58Check codec instance using SHA-256 for checksum.
11
- */
12
- export declare const base58check: import("@scure/base").BytesCoder;
13
- /**
14
- * Encode a Uint8Array to a Base58Check string.
15
- * @param data - The data to encode
16
- * @returns The Base58Check encoded string
17
- */
18
- export declare function encode(data: Uint8Array): string;
19
- /**
20
- * Decode a Base58Check string to a Uint8Array.
21
- * @param str - The Base58Check encoded string
22
- * @returns The decoded data
23
- * @throws If the checksum is invalid or the string is malformed
24
- */
25
- export declare function decode(str: string): Uint8Array;
1
+ export { encode, decode, decodeUnsafe } from '@btc-vision/bs58check';
26
2
  //# sourceMappingURL=base58check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base58check.d.ts","sourceRoot":"","sources":["../../src/io/base58check.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,eAAO,MAAM,WAAW,kCAA4B,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE/C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAE9C"}
1
+ {"version":3,"file":"base58check.d.ts","sourceRoot":"","sources":["../../src/io/base58check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,32 +1,2 @@
1
- /**
2
- * Base58Check encoding/decoding using @scure/base and @noble/hashes.
3
- *
4
- * Base58Check is a binary-to-text encoding with a 4-byte checksum
5
- * derived from double SHA-256, used for Bitcoin addresses and WIF keys.
6
- *
7
- * @packageDocumentation
8
- */
9
- import { createBase58check } from '@scure/base';
10
- import { sha256 } from '@noble/hashes/sha2.js';
11
- /**
12
- * Base58Check codec instance using SHA-256 for checksum.
13
- */
14
- export const base58check = createBase58check(sha256);
15
- /**
16
- * Encode a Uint8Array to a Base58Check string.
17
- * @param data - The data to encode
18
- * @returns The Base58Check encoded string
19
- */
20
- export function encode(data) {
21
- return base58check.encode(data);
22
- }
23
- /**
24
- * Decode a Base58Check string to a Uint8Array.
25
- * @param str - The Base58Check encoded string
26
- * @returns The decoded data
27
- * @throws If the checksum is invalid or the string is malformed
28
- */
29
- export function decode(str) {
30
- return base58check.decode(str);
31
- }
1
+ export { encode, decode, decodeUnsafe } from '@btc-vision/bs58check';
32
2
  //# sourceMappingURL=base58check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base58check.js","sourceRoot":"","sources":["../../src/io/base58check.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAErD;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAgB;IACnC,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,GAAW;IAC9B,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"base58check.js","sourceRoot":"","sources":["../../src/io/base58check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/io/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAOrD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMlD"}
1
+ {"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../../src/io/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAYrD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMlD"}
@@ -10,6 +10,9 @@
10
10
  * @returns Uint8Array containing the decoded bytes
11
11
  */
12
12
  export function fromBase64(base64) {
13
+ if (base64.startsWith('0x')) {
14
+ throw new Error('Invalid base64 string: should not start with 0x');
15
+ }
13
16
  const binaryString = atob(base64);
14
17
  const bytes = new Uint8Array(binaryString.length);
15
18
  for (let i = 0; i < binaryString.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/io/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACtC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../../src/io/base64.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACrC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACtC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC"}
@@ -28,6 +28,7 @@ export declare const regtest: Network;
28
28
  * Represents the testnet network configuration.
29
29
  */
30
30
  export declare const testnet: Network;
31
+ export declare const opnetTestnet: Network;
31
32
  /**
32
33
  * Represents the Dogecoin mainnet configuration.
33
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,MAAM,WAAW,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAmCrB,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAWrB,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAWrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,EAAE,OAWtB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,OAW7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAWtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAW7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,OAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAWhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAalB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,OAWzB,CAAC"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,MAAM,WAAW,KAAK;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAmCrB,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAWrB,CAAC;AACF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,OAWrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAW1B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,EAAE,OAWtB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,OAW7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,OAWtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAW7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,OAazB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAWhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAalB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,OAWzB,CAAC"}
package/build/networks.js CHANGED
@@ -69,6 +69,18 @@ export const testnet = {
69
69
  scriptHash: 0xc4,
70
70
  wif: 0xef,
71
71
  };
72
+ export const opnetTestnet = {
73
+ messagePrefix: '\x18Bitcoin Signed Message:\n',
74
+ bech32: 'opt',
75
+ bech32Opnet: 'opt',
76
+ bip32: {
77
+ public: 0x043587cf,
78
+ private: 0x04358394,
79
+ },
80
+ pubKeyHash: 0x6f,
81
+ scriptHash: 0xc4,
82
+ wif: 0xef,
83
+ };
72
84
  /**
73
85
  * Represents the Dogecoin mainnet configuration.
74
86
  *
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,15 @@ export type HashTree = HashLeaf | HashBranch;
28
28
  * @throws {TypeError} If the control block length is less than 33.
29
29
  */
30
30
  export declare function rootHashFromPath(controlBlock: Uint8Array, leafHash: Uint8Array): Bytes32;
31
+ /**
32
+ * Calculates the root hash from a P2MR control block and leaf hash.
33
+ * P2MR control blocks have no internal pubkey, so the merkle path starts at offset 1.
34
+ * @param controlBlock - The P2MR control block: [control_byte (1)] [merkle_path (32*m)]
35
+ * @param leafHash - The leaf hash.
36
+ * @returns The root hash.
37
+ * @throws {TypeError} If the control block length is less than 1.
38
+ */
39
+ export declare function rootHashFromPathP2MR(controlBlock: Uint8Array, leafHash: Uint8Array): Bytes32;
31
40
  /**
32
41
  * Build a hash tree of merkle nodes from the scripts binary tree.
33
42
  * @param scriptTree - the tree of scripts to pairwise hash.
@@ -45,5 +54,13 @@ export declare function findScriptPath(node: HashTree, hash: Bytes32): Bytes32[]
45
54
  export declare function tapleafHash(leaf: Tapleaf): Bytes32;
46
55
  export declare function tapTweakHash(pubKey: XOnlyPublicKey, h: Bytes32 | undefined): Bytes32;
47
56
  export declare function tweakKey(pubKey: XOnlyPublicKey, h: Bytes32 | undefined): TweakedPublicKey | null;
57
+ /**
58
+ * Computes the TapBranch tagged hash of two child hashes.
59
+ *
60
+ * @param a - First child hash (left branch).
61
+ * @param b - Second child hash (right branch).
62
+ * @returns The 32-byte TapBranch hash.
63
+ */
64
+ export declare function tapBranchHash(a: Uint8Array, b: Uint8Array): Bytes32;
48
65
  export {};
49
66
  //# sourceMappingURL=bip341.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bip341.d.ts","sourceRoot":"","sources":["../../src/payments/bip341.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAC3C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,UAAU,QAAQ;IACd,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,UAAU;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACnB;AAED,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,cAAc,CAAC;CACrB;AAID;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAkBxF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,CAaxD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAYnF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAMlD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAEpF;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAchG"}
1
+ {"version":3,"file":"bip341.d.ts","sourceRoot":"","sources":["../../src/payments/bip341.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAC3C,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,UAAU,QAAQ;IACd,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,UAAU;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;CACnB;AAED,UAAU,gBAAgB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,cAAc,CAAC;CACrB;AAID;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAkBxF;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAkB5F;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,CAaxD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAYnF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAMlD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAEpF;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAchG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAEnE"}
@@ -28,6 +28,30 @@ export function rootHashFromPath(controlBlock, leafHash) {
28
28
  }
29
29
  return kj;
30
30
  }
31
+ /**
32
+ * Calculates the root hash from a P2MR control block and leaf hash.
33
+ * P2MR control blocks have no internal pubkey, so the merkle path starts at offset 1.
34
+ * @param controlBlock - The P2MR control block: [control_byte (1)] [merkle_path (32*m)]
35
+ * @param leafHash - The leaf hash.
36
+ * @returns The root hash.
37
+ * @throws {TypeError} If the control block length is less than 1.
38
+ */
39
+ export function rootHashFromPathP2MR(controlBlock, leafHash) {
40
+ if (controlBlock.length < 1)
41
+ throw new TypeError(`The control-block length is too small. Got ${controlBlock.length}, expected min 1.`);
42
+ const m = (controlBlock.length - 1) / 32;
43
+ let kj = leafHash;
44
+ for (let j = 0; j < m; j++) {
45
+ const ej = controlBlock.subarray(1 + 32 * j, 33 + 32 * j);
46
+ if (compare(kj, ej) < 0) {
47
+ kj = tapBranchHash(kj, ej);
48
+ }
49
+ else {
50
+ kj = tapBranchHash(ej, kj);
51
+ }
52
+ }
53
+ return kj;
54
+ }
31
55
  /**
32
56
  * Build a hash tree of merkle nodes from the scripts binary tree.
33
57
  * @param scriptTree - the tree of scripts to pairwise hash.
@@ -90,7 +114,14 @@ export function tweakKey(pubKey, h) {
90
114
  x: new Uint8Array(res.xOnlyPubkey),
91
115
  };
92
116
  }
93
- function tapBranchHash(a, b) {
117
+ /**
118
+ * Computes the TapBranch tagged hash of two child hashes.
119
+ *
120
+ * @param a - First child hash (left branch).
121
+ * @param b - Second child hash (right branch).
122
+ * @returns The 32-byte TapBranch hash.
123
+ */
124
+ export function tapBranchHash(a, b) {
94
125
  return bcrypto.taggedHash('TapBranch', concat([a, b]));
95
126
  }
96
127
  function serializeScript(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"bip341.js","sourceRoot":"","sources":["../../src/payments/bip341.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAiBrC,MAAM,YAAY,GAAG,CAAC,EAAY,EAAoB,EAAE,CAAC,MAAM,IAAI,EAAE,IAAI,OAAO,IAAI,EAAE,CAAC;AAUvF;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAwB,EAAE,QAAoB;IAC3E,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE;QACxB,MAAM,IAAI,SAAS,CACf,8CAA8C,YAAY,CAAC,MAAM,oBAAoB,CACxF,CAAC;IACN,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAE1C,IAAI,EAAE,GAAG,QAAQ,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,EAAE,GAAG,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,EAAa,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,UAAmB;IAC1C,IAAI,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;IAEpE,MAAM,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAa,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAa,CAAC;IAEpC,OAAO;QACH,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QAC1C,IAAI;QACJ,KAAK;KACR,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc,EAAE,IAAa;IACxD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,sBAAsB,CAAC;IACvD,OAAO,OAAO,CAAC,UAAU,CACrB,SAAS,EACT,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAsB,EAAE,CAAsB;IACvE,OAAO,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAsB,EAAE,CAAsB;IACnE,IAAI,CAAC,CAAC,MAAM,YAAY,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE1C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9D,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAElD,OAAO;QACH,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,CAAC,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,WAAW,CAAmB;KACvD,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,CAAa,EAAE,CAAa;IAC/C,OAAO,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,eAAe,CAAC,CAAa;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"bip341.js","sourceRoot":"","sources":["../../src/payments/bip341.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @packageDocumentation
7
7
  */
8
- export { PaymentType, type BasePayment, type ScriptRedeem, type P2PKPayment, type P2PKHPayment, type P2SHPayment, type P2MSPayment, type P2WPKHPayment, type P2WSHPayment, type P2TRPayment, type P2OPPayment, type P2OPPaymentParams, type EmbedPayment, type Payment, type PaymentCreator, type PaymentOpts, } from './types.js';
8
+ export { PaymentType, type BasePayment, type ScriptRedeem, type P2PKPayment, type P2PKHPayment, type P2SHPayment, type P2MSPayment, type P2WPKHPayment, type P2WSHPayment, type P2TRPayment, type P2MRPayment, type P2OPPayment, type P2OPPaymentParams, type EmbedPayment, type Payment, type PaymentCreator, type PaymentOpts, } from './types.js';
9
9
  export { P2PK, p2pk } from './p2pk.js';
10
10
  export { P2PKH, p2pkh } from './p2pkh.js';
11
11
  export { P2WPKH, p2wpkh } from './p2wpkh.js';
@@ -14,6 +14,7 @@ export { P2MS, p2ms } from './p2ms.js';
14
14
  export { P2SH, p2sh } from './p2sh.js';
15
15
  export { P2WSH, p2wsh } from './p2wsh.js';
16
16
  export { P2TR, p2tr } from './p2tr.js';
17
+ export { P2MR, p2mr } from './p2mr.js';
17
18
  export { P2OP, p2op } from './p2op.js';
18
- export { findScriptPath, LEAF_VERSION_TAPSCRIPT, MAX_TAPTREE_DEPTH, rootHashFromPath, tapleafHash, toHashTree, tweakKey, type HashTree, } from './bip341.js';
19
+ export { findScriptPath, LEAF_VERSION_TAPSCRIPT, MAX_TAPTREE_DEPTH, rootHashFromPath, rootHashFromPathP2MR, tapBranchHash, tapleafHash, toHashTree, tweakKey, type HashTree, } from './bip341.js';
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACH,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,WAAW,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,KAAK,QAAQ,GAChB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACH,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,WAAW,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,KAAK,QAAQ,GAChB,MAAM,aAAa,CAAC"}
@@ -16,7 +16,8 @@ export { P2MS, p2ms } from './p2ms.js';
16
16
  export { P2SH, p2sh } from './p2sh.js';
17
17
  export { P2WSH, p2wsh } from './p2wsh.js';
18
18
  export { P2TR, p2tr } from './p2tr.js';
19
+ export { P2MR, p2mr } from './p2mr.js';
19
20
  export { P2OP, p2op } from './p2op.js';
20
21
  // BIP341 Taproot utilities
21
- export { findScriptPath, LEAF_VERSION_TAPSCRIPT, MAX_TAPTREE_DEPTH, rootHashFromPath, tapleafHash, toHashTree, tweakKey, } from './bip341.js';
22
+ export { findScriptPath, LEAF_VERSION_TAPSCRIPT, MAX_TAPTREE_DEPTH, rootHashFromPath, rootHashFromPathP2MR, tapBranchHash, tapleafHash, toHashTree, tweakKey, } from './bip341.js';
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;AACf,OAAO,EACH,WAAW,GAgBd,MAAM,YAAY,CAAC;AAEpB,8BAA8B;AAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,2BAA2B;AAC3B,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,QAAQ,GAEX,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;AACf,OAAO,EACH,WAAW,GAiBd,MAAM,YAAY,CAAC;AAEpB,8BAA8B;AAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEvC,2BAA2B;AAC3B,OAAO,EACH,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,GAEX,MAAM,aAAa,CAAC"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Pay-to-Merkle-Root (P2MR) payment class.
3
+ *
4
+ * P2MR is a SegWit version 2 output type (BIP 360). It commits directly to
5
+ * the Merkle root of a script tree, removing the quantum-vulnerable key-path
6
+ * spend found in P2TR. There is no internal pubkey or tweaking.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ import { type Network } from '../networks.js';
11
+ import { type Bytes32, type Script, type Taptree } from '../types.js';
12
+ import { type P2MRPayment, type PaymentOpts, PaymentType, type ScriptRedeem } from './types.js';
13
+ /**
14
+ * Pay-to-Merkle-Root (P2MR) payment class.
15
+ *
16
+ * Creates locking scripts of the form: `OP_2 {32-byte merkle root}`
17
+ *
18
+ * Script-path spending witness: `[script inputs..., script, control block]`
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { P2MR } from '@btc-vision/bitcoin';
23
+ *
24
+ * // From script tree
25
+ * const p2mr = P2MR.fromScriptTree(scriptTree);
26
+ * console.log(p2mr.address); // bc1z... address
27
+ *
28
+ * // From merkle root hash
29
+ * const fromHash = P2MR.fromHash(merkleRoot);
30
+ *
31
+ * // Decode an existing output
32
+ * const decoded = P2MR.fromOutput(scriptPubKey);
33
+ * console.log(decoded.hash); // 32-byte merkle root
34
+ * ```
35
+ */
36
+ export declare class P2MR {
37
+ #private;
38
+ static readonly NAME: "p2mr";
39
+ /**
40
+ * Creates a new P2MR payment instance.
41
+ *
42
+ * @param params - Payment parameters
43
+ * @param params.address - Bech32m encoded address (bc1z...)
44
+ * @param params.hash - Merkle root (32 bytes, = witness program)
45
+ * @param params.scriptTree - Full script tree definition
46
+ * @param params.output - The scriptPubKey
47
+ * @param params.witness - The witness stack
48
+ * @param params.redeem - Redeem script for script-path spending
49
+ * @param params.redeemVersion - Leaf version (defaults to LEAF_VERSION_TAPSCRIPT)
50
+ * @param params.network - Network parameters (defaults to mainnet)
51
+ * @param opts - Payment options
52
+ * @param opts.validate - Whether to validate inputs (default: true)
53
+ *
54
+ * @throws {TypeError} If validation is enabled and data is invalid
55
+ */
56
+ constructor(params: {
57
+ address?: string | undefined;
58
+ hash?: Uint8Array | undefined;
59
+ scriptTree?: Taptree | undefined;
60
+ output?: Uint8Array | undefined;
61
+ witness?: Uint8Array[] | undefined;
62
+ redeem?: ScriptRedeem | undefined;
63
+ redeemVersion?: number | undefined;
64
+ network?: Network | undefined;
65
+ }, opts?: PaymentOpts);
66
+ /**
67
+ * Payment type discriminant.
68
+ *
69
+ * @returns The P2MR payment type constant.
70
+ */
71
+ get name(): typeof PaymentType.P2MR;
72
+ /**
73
+ * Network parameters used for address encoding.
74
+ *
75
+ * @returns The network configuration (mainnet, testnet, or regtest).
76
+ */
77
+ get network(): Network;
78
+ /**
79
+ * Bech32m encoded address (bc1z... for mainnet).
80
+ *
81
+ * @returns The bech32m-encoded address, or `undefined` if insufficient data.
82
+ */
83
+ get address(): string | undefined;
84
+ /**
85
+ * Merkle root hash (32 bytes). This is the witness program and directly
86
+ * appears in the output script.
87
+ *
88
+ * @returns The 32-byte merkle root, or `undefined` if insufficient data.
89
+ */
90
+ get hash(): Bytes32 | undefined;
91
+ /**
92
+ * The scriptPubKey: `OP_2 <32-byte merkle root>` (34 bytes total).
93
+ *
94
+ * @returns The output script, or `undefined` if insufficient data.
95
+ */
96
+ get output(): Script | undefined;
97
+ /**
98
+ * Redeem script information for script-path spending.
99
+ *
100
+ * @returns The redeem script data, or `undefined` if not available.
101
+ */
102
+ get redeem(): ScriptRedeem | undefined;
103
+ /**
104
+ * Leaf version used for script-path hashing.
105
+ *
106
+ * @returns The leaf version byte (defaults to LEAF_VERSION_TAPSCRIPT = 0xc0).
107
+ */
108
+ get redeemVersion(): number;
109
+ /**
110
+ * Witness stack for script-path spending.
111
+ * Format: `[script inputs..., script, control block]`
112
+ *
113
+ * @returns The witness stack array, or `undefined` if insufficient data.
114
+ */
115
+ get witness(): Uint8Array[] | undefined;
116
+ /**
117
+ * Creates a P2MR payment from a script tree.
118
+ *
119
+ * @param scriptTree - The script tree
120
+ * @param network - Network parameters (defaults to mainnet)
121
+ * @returns A new P2MR payment instance
122
+ */
123
+ static fromScriptTree(scriptTree: Taptree, network?: Network): P2MR;
124
+ /**
125
+ * Creates a P2MR payment from a bech32m address.
126
+ *
127
+ * @param address - Bech32m encoded address (bc1z...)
128
+ * @param network - Network parameters (defaults to mainnet)
129
+ * @returns A new P2MR payment instance
130
+ */
131
+ static fromAddress(address: string, network?: Network): P2MR;
132
+ /**
133
+ * Creates a P2MR payment from a scriptPubKey.
134
+ *
135
+ * @param output - The scriptPubKey
136
+ * @param network - Network parameters (defaults to mainnet)
137
+ * @returns A new P2MR payment instance
138
+ */
139
+ static fromOutput(output: Uint8Array, network?: Network): P2MR;
140
+ /**
141
+ * Creates a P2MR payment from a merkle root hash.
142
+ *
143
+ * @param hash - The 32-byte merkle root
144
+ * @param network - Network parameters (defaults to mainnet)
145
+ * @returns A new P2MR payment instance
146
+ */
147
+ static fromHash(hash: Bytes32, network?: Network): P2MR;
148
+ /**
149
+ * Converts to a plain P2MRPayment object for backwards compatibility.
150
+ *
151
+ * @returns A P2MRPayment object
152
+ */
153
+ toPayment(): P2MRPayment;
154
+ }
155
+ /**
156
+ * Creates a Pay-to-Merkle-Root (P2MR) payment object.
157
+ *
158
+ * This is the legacy factory function for backwards compatibility.
159
+ * For new code, prefer using the P2MR class directly.
160
+ *
161
+ * @param a - The payment object containing the necessary data
162
+ * @param opts - Optional payment options
163
+ * @returns The P2MR payment object
164
+ * @throws {TypeError} If the required data is not provided or if the data is invalid
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * import { p2mr } from '@btc-vision/bitcoin';
169
+ *
170
+ * // From script tree
171
+ * const payment = p2mr({ scriptTree });
172
+ *
173
+ * // From merkle root hash
174
+ * const fromHash = p2mr({ hash: merkleRoot });
175
+ * ```
176
+ */
177
+ export declare function p2mr(a: Omit<P2MRPayment, 'name'>, opts?: PaymentOpts): P2MRPayment;
178
+ //# sourceMappingURL=p2mr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p2mr.d.ts","sourceRoot":"","sources":["../../src/payments/p2mr.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAA8B,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EACH,KAAK,OAAO,EACZ,KAAK,MAAM,EAGX,KAAK,OAAO,EACf,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAMhG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,IAAI;;IACb,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAoB;IAoCxC;;;;;;;;;;;;;;;;OAgBG;gBAEC,MAAM,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QAC9B,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QACjC,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;QACnC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACnC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;KACjC,EACD,IAAI,CAAC,EAAE,WAAW;IAuBtB;;;;OAIG;IACH,IAAI,IAAI,IAAI,OAAO,WAAW,CAAC,IAAI,CAElC;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;OAIG;IACH,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAMhC;IAED;;;;;OAKG;IACH,IAAI,IAAI,IAAI,OAAO,GAAG,SAAS,CAM9B;IAED;;;;OAIG;IACH,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAM/B;IAED;;;;OAIG;IACH,IAAI,MAAM,IAAI,YAAY,GAAG,SAAS,CAMrC;IAED;;;;OAIG;IACH,IAAI,aAAa,IAAI,MAAM,CAM1B;IAED;;;;;OAKG;IACH,IAAI,OAAO,IAAI,UAAU,EAAE,GAAG,SAAS,CAMtC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAInE;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5D;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAI9D;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAIvD;;;;OAIG;IACH,SAAS,IAAI,WAAW;CA0T3B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,CA2BlF"}