@btc-vision/bitcoin 7.0.0-alpha.3 → 7.0.0-alpha.5

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 (119) hide show
  1. package/README.md +139 -12
  2. package/browser/chunks/index.browser-CUaPaKyS.js +10742 -0
  3. package/browser/env.d.ts +13 -0
  4. package/browser/env.d.ts.map +1 -0
  5. package/browser/index.d.ts +1 -1
  6. package/browser/index.d.ts.map +1 -1
  7. package/browser/index.js +1894 -12851
  8. package/browser/io/index.d.ts +0 -1
  9. package/browser/io/index.d.ts.map +1 -1
  10. package/browser/types.d.ts.map +1 -1
  11. package/browser/workers/WorkerSigningPool.d.ts +6 -0
  12. package/browser/workers/WorkerSigningPool.d.ts.map +1 -1
  13. package/browser/workers/WorkerSigningPool.node.d.ts +6 -0
  14. package/browser/workers/WorkerSigningPool.node.d.ts.map +1 -1
  15. package/browser/workers/WorkerSigningPool.sequential.d.ts +69 -0
  16. package/browser/workers/WorkerSigningPool.sequential.d.ts.map +1 -0
  17. package/browser/workers/WorkerSigningPool.worklet.d.ts +64 -0
  18. package/browser/workers/WorkerSigningPool.worklet.d.ts.map +1 -0
  19. package/browser/workers/index.browser.d.ts +16 -0
  20. package/browser/workers/index.browser.d.ts.map +1 -0
  21. package/browser/workers/index.d.ts +4 -17
  22. package/browser/workers/index.d.ts.map +1 -1
  23. package/browser/workers/index.js +21 -0
  24. package/browser/workers/index.node.d.ts +12 -19
  25. package/browser/workers/index.node.d.ts.map +1 -1
  26. package/browser/workers/index.react-native.d.ts +28 -0
  27. package/browser/workers/index.react-native.d.ts.map +1 -0
  28. package/browser/workers/index.shared.d.ts +15 -0
  29. package/browser/workers/index.shared.d.ts.map +1 -0
  30. package/browser/workers/psbt-parallel.d.ts +2 -3
  31. package/browser/workers/psbt-parallel.d.ts.map +1 -1
  32. package/browser/workers/types.d.ts +17 -0
  33. package/browser/workers/types.d.ts.map +1 -1
  34. package/build/env.d.ts +13 -0
  35. package/build/env.d.ts.map +1 -0
  36. package/build/env.js +198 -0
  37. package/build/env.js.map +1 -0
  38. package/build/index.d.ts +2 -1
  39. package/build/index.d.ts.map +1 -1
  40. package/build/index.js +2 -1
  41. package/build/index.js.map +1 -1
  42. package/build/io/index.d.ts +0 -1
  43. package/build/io/index.d.ts.map +1 -1
  44. package/build/io/index.js +0 -2
  45. package/build/io/index.js.map +1 -1
  46. package/build/tsconfig.build.tsbuildinfo +1 -1
  47. package/build/types.d.ts.map +1 -1
  48. package/build/types.js +2 -16
  49. package/build/types.js.map +1 -1
  50. package/build/workers/WorkerSigningPool.d.ts +6 -0
  51. package/build/workers/WorkerSigningPool.d.ts.map +1 -1
  52. package/build/workers/WorkerSigningPool.js +8 -0
  53. package/build/workers/WorkerSigningPool.js.map +1 -1
  54. package/build/workers/WorkerSigningPool.node.d.ts +6 -0
  55. package/build/workers/WorkerSigningPool.node.d.ts.map +1 -1
  56. package/build/workers/WorkerSigningPool.node.js +9 -2
  57. package/build/workers/WorkerSigningPool.node.js.map +1 -1
  58. package/build/workers/WorkerSigningPool.sequential.d.ts +78 -0
  59. package/build/workers/WorkerSigningPool.sequential.d.ts.map +1 -0
  60. package/build/workers/WorkerSigningPool.sequential.js +160 -0
  61. package/build/workers/WorkerSigningPool.sequential.js.map +1 -0
  62. package/build/workers/WorkerSigningPool.worklet.d.ts +79 -0
  63. package/build/workers/WorkerSigningPool.worklet.d.ts.map +1 -0
  64. package/build/workers/WorkerSigningPool.worklet.js +388 -0
  65. package/build/workers/WorkerSigningPool.worklet.js.map +1 -0
  66. package/build/workers/index.browser.d.ts +24 -0
  67. package/build/workers/index.browser.d.ts.map +1 -0
  68. package/build/workers/index.browser.js +30 -0
  69. package/build/workers/index.browser.js.map +1 -0
  70. package/build/workers/index.d.ts +6 -18
  71. package/build/workers/index.d.ts.map +1 -1
  72. package/build/workers/index.js +12 -11
  73. package/build/workers/index.js.map +1 -1
  74. package/build/workers/index.node.d.ts +17 -3
  75. package/build/workers/index.node.d.ts.map +1 -1
  76. package/build/workers/index.node.js +23 -4
  77. package/build/workers/index.node.js.map +1 -1
  78. package/build/workers/index.react-native.d.ts +28 -0
  79. package/build/workers/index.react-native.d.ts.map +1 -0
  80. package/build/workers/index.react-native.js +67 -0
  81. package/build/workers/index.react-native.js.map +1 -0
  82. package/build/workers/index.shared.d.ts +15 -0
  83. package/build/workers/index.shared.d.ts.map +1 -0
  84. package/build/workers/index.shared.js +20 -0
  85. package/build/workers/index.shared.js.map +1 -0
  86. package/build/workers/psbt-parallel.d.ts +2 -3
  87. package/build/workers/psbt-parallel.d.ts.map +1 -1
  88. package/build/workers/psbt-parallel.js +4 -4
  89. package/build/workers/psbt-parallel.js.map +1 -1
  90. package/build/workers/types.d.ts +17 -0
  91. package/build/workers/types.d.ts.map +1 -1
  92. package/package.json +19 -1
  93. package/src/env.ts +237 -0
  94. package/src/index.ts +1 -2
  95. package/src/io/index.ts +0 -3
  96. package/src/types.ts +4 -27
  97. package/src/workers/WorkerSigningPool.node.ts +10 -2
  98. package/src/workers/WorkerSigningPool.sequential.ts +190 -0
  99. package/src/workers/WorkerSigningPool.ts +9 -0
  100. package/src/workers/WorkerSigningPool.worklet.ts +519 -0
  101. package/src/workers/index.browser.ts +34 -0
  102. package/src/workers/index.node.ts +28 -5
  103. package/src/workers/index.react-native.ts +110 -0
  104. package/src/workers/index.shared.ts +58 -0
  105. package/src/workers/index.ts +15 -64
  106. package/src/workers/psbt-parallel.ts +8 -8
  107. package/src/workers/types.ts +21 -0
  108. package/test/env.spec.ts +418 -0
  109. package/test/workers-pool.spec.ts +43 -0
  110. package/test/workers-sequential.spec.ts +669 -0
  111. package/test/workers-worklet.spec.ts +500 -0
  112. package/vite.config.browser.ts +31 -6
  113. package/browser/io/MemoryPool.d.ts +0 -220
  114. package/browser/io/MemoryPool.d.ts.map +0 -1
  115. package/build/io/MemoryPool.d.ts +0 -220
  116. package/build/io/MemoryPool.d.ts.map +0 -1
  117. package/build/io/MemoryPool.js +0 -309
  118. package/build/io/MemoryPool.js.map +0 -1
  119. package/src/io/MemoryPool.ts +0 -343
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Node.js worker pool entry point.
3
3
  *
4
- * This module provides direct access to Node.js-specific worker functionality.
5
- * It re-exports everything from the base index plus Node.js specific exports.
4
+ * Uses worker_threads for parallel signing. Provides direct access to
5
+ * NodeWorkerSigningPool without runtime detection overhead.
6
6
  *
7
7
  * @example
8
8
  * ```typescript
@@ -19,8 +19,27 @@
19
19
  *
20
20
  * @packageDocumentation
21
21
  */
22
- // Re-export everything from browser-safe index
23
- export * from './index.js';
22
+ export * from './index.shared.js';
24
23
  // Node.js specific exports
25
24
  export { NodeWorkerSigningPool } from './WorkerSigningPool.node.js';
25
+ /**
26
+ * Detects the runtime environment.
27
+ *
28
+ * @returns Always 'node' in this entry point.
29
+ */
30
+ export function detectRuntime() {
31
+ return 'node';
32
+ }
33
+ /**
34
+ * Creates a signing pool for the Node.js runtime using worker_threads.
35
+ *
36
+ * @param config - Optional pool configuration
37
+ * @returns A promise resolving to the initialized signing pool
38
+ */
39
+ export async function createSigningPool(config) {
40
+ const { NodeWorkerSigningPool } = await import('./WorkerSigningPool.node.js');
41
+ const pool = NodeWorkerSigningPool.getInstance(config);
42
+ await pool.initialize();
43
+ return pool;
44
+ }
26
45
  //# sourceMappingURL=index.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.js","sourceRoot":"","sources":["../../src/workers/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+CAA+C;AAC/C,cAAc,YAAY,CAAC;AAE3B,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAA6B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.node.js","sourceRoot":"","sources":["../../src/workers/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,cAAc,mBAAmB,CAAC;AAElC,2BAA2B;AAC3B,OAAO,EAAE,qBAAqB,EAA6B,MAAM,6BAA6B,CAAC;AAE/F;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAyB;IAC7D,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * React Native entry point for the workers module.
3
+ *
4
+ * Provides the same public API as the browser/Node.js workers module
5
+ * but uses WorkletSigningPool (parallel via react-native-worklets)
6
+ * when available, falling back to SequentialSigningPool (main-thread).
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ export { SignatureType, type SigningTaskMessage, type BatchSigningMessage, type BatchSigningTask, type BatchSigningResultMessage, type BatchSigningTaskResult, type BatchSigningTaskError, type WorkerInitMessage, type WorkerShutdownMessage, type WorkerMessage, type SigningResultMessage, type SigningErrorMessage, type WorkerReadyMessage, type WorkerShutdownAckMessage, type WorkerResponse, isSigningError, isSigningResult, isBatchResult, isWorkerReady, type WorkerEccLib, type WorkerPoolConfig, type SigningTask, type ParallelSignerKeyPair, type ParallelSigningResult, type SigningPoolLike, WorkerState, type PooledWorker, } from './types.js';
11
+ export { SequentialSigningPool } from './WorkerSigningPool.sequential.js';
12
+ export { WorkletSigningPool } from './WorkerSigningPool.worklet.js';
13
+ export { SequentialSigningPool as WorkerSigningPool } from './WorkerSigningPool.sequential.js';
14
+ export { signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, type ParallelSignOptions, type PsbtParallelKeyPair, } from './psbt-parallel.js';
15
+ /**
16
+ * Detects the runtime environment.
17
+ *
18
+ * @returns Always 'react-native' in this entry point.
19
+ */
20
+ export declare function detectRuntime(): 'node' | 'browser' | 'react-native' | 'unknown';
21
+ /**
22
+ * Creates a signing pool appropriate for the React Native runtime.
23
+ *
24
+ * Tries to use WorkletSigningPool (parallel via react-native-worklets).
25
+ * Falls back to SequentialSigningPool if worklets are not installed.
26
+ */
27
+ export declare function createSigningPool(config?: import('./types.js').WorkerPoolConfig): Promise<import('./types.js').SigningPoolLike>;
28
+ //# sourceMappingURL=index.react-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.react-native.d.ts","sourceRoot":"","sources":["../../src/workers/index.react-native.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACH,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,WAAW,EACX,KAAK,YAAY,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAG/F,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GAC3B,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAE/E;AAQD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACnC,MAAM,CAAC,EAAE,OAAO,YAAY,EAAE,gBAAgB,GAC/C,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,CA2B/C"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * React Native entry point for the workers module.
3
+ *
4
+ * Provides the same public API as the browser/Node.js workers module
5
+ * but uses WorkletSigningPool (parallel via react-native-worklets)
6
+ * when available, falling back to SequentialSigningPool (main-thread).
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ // Type exports (same as main index.ts)
11
+ export { SignatureType, isSigningError, isSigningResult, isBatchResult, isWorkerReady, WorkerState, } from './types.js';
12
+ // Sequential pool (React Native fallback)
13
+ export { SequentialSigningPool } from './WorkerSigningPool.sequential.js';
14
+ // Worklet pool (React Native parallel signing)
15
+ export { WorkletSigningPool } from './WorkerSigningPool.worklet.js';
16
+ // Alias for API compatibility — consumers using `WorkerSigningPool` get the sequential pool
17
+ export { SequentialSigningPool as WorkerSigningPool } from './WorkerSigningPool.sequential.js';
18
+ // PSBT parallel signing integration (works with any SigningPoolLike)
19
+ export { signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, } from './psbt-parallel.js';
20
+ /**
21
+ * Detects the runtime environment.
22
+ *
23
+ * @returns Always 'react-native' in this entry point.
24
+ */
25
+ export function detectRuntime() {
26
+ return 'react-native';
27
+ }
28
+ /**
29
+ * Cached result of the worklets availability check.
30
+ * `null` = not yet checked, `true` = available, `false` = unavailable.
31
+ */
32
+ let workletsAvailable = null;
33
+ /**
34
+ * Creates a signing pool appropriate for the React Native runtime.
35
+ *
36
+ * Tries to use WorkletSigningPool (parallel via react-native-worklets).
37
+ * Falls back to SequentialSigningPool if worklets are not installed.
38
+ */
39
+ export async function createSigningPool(config) {
40
+ // Check worklets availability (cached after first probe)
41
+ if (workletsAvailable === null) {
42
+ try {
43
+ await import('react-native-worklets');
44
+ workletsAvailable = true;
45
+ }
46
+ catch {
47
+ workletsAvailable = false;
48
+ }
49
+ }
50
+ if (workletsAvailable) {
51
+ try {
52
+ const { WorkletSigningPool } = await import('./WorkerSigningPool.worklet.js');
53
+ const pool = WorkletSigningPool.getInstance(config);
54
+ await pool.initialize();
55
+ return pool;
56
+ }
57
+ catch {
58
+ // Initialization failed (e.g. eval blocked) — fall through
59
+ workletsAvailable = false;
60
+ }
61
+ }
62
+ const { SequentialSigningPool } = await import('./WorkerSigningPool.sequential.js');
63
+ const pool = SequentialSigningPool.getInstance(config);
64
+ await pool.initialize();
65
+ return pool;
66
+ }
67
+ //# sourceMappingURL=index.react-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.react-native.js","sourceRoot":"","sources":["../../src/workers/index.react-native.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,uCAAuC;AACvC,OAAO,EACH,aAAa,EAeb,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EAOb,WAAW,GAEd,MAAM,YAAY,CAAC;AAEpB,0CAA0C;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,+CAA+C;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,IAAI,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAE/F,qEAAqE;AACrE,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,GAGxB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,aAAa;IACzB,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,IAAI,iBAAiB,GAAmB,IAAI,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,MAA8C;IAE9C,yDAAyD;IACzD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,uBAAiC,CAAC,CAAC;YAChD,iBAAiB,GAAG,IAAI,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACL,iBAAiB,GAAG,KAAK,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,IAAI,iBAAiB,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAC9E,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,MAAM,CAAC;YACL,2DAA2D;YAC3D,iBAAiB,GAAG,KAAK,CAAC;QAC9B,CAAC;IACL,CAAC;IAED,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shared worker module exports.
3
+ *
4
+ * Contains all platform-agnostic exports used by browser, Node.js, and generic
5
+ * entry points. Platform-specific entry points re-export from this module and
6
+ * add their own `detectRuntime` and `createSigningPool` implementations.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ export { SignatureType, type SigningTaskMessage, type BatchSigningMessage, type BatchSigningTask, type BatchSigningResultMessage, type BatchSigningTaskResult, type BatchSigningTaskError, type WorkerInitMessage, type WorkerShutdownMessage, type WorkerMessage, type SigningResultMessage, type SigningErrorMessage, type WorkerReadyMessage, type WorkerShutdownAckMessage, type WorkerResponse, isSigningError, isSigningResult, isBatchResult, isWorkerReady, type WorkerEccLib, type WorkerPoolConfig, type SigningTask, type ParallelSignerKeyPair, type ParallelSigningResult, type SigningPoolLike, WorkerState, type PooledWorker, } from './types.js';
11
+ export { WorkerSigningPool, getSigningPool } from './WorkerSigningPool.js';
12
+ export { generateWorkerCode, createWorkerBlobUrl, revokeWorkerBlobUrl } from './signing-worker.js';
13
+ export { ECC_BUNDLE, ECC_BUNDLE_SIZE } from './ecc-bundle.js';
14
+ export { signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, type ParallelSignOptions, type PsbtParallelKeyPair, } from './psbt-parallel.js';
15
+ //# sourceMappingURL=index.shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.shared.d.ts","sourceRoot":"","sources":["../../src/workers/index.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACH,aAAa,EACb,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,WAAW,EACX,KAAK,YAAY,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAGnG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG9D,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GAC3B,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Shared worker module exports.
3
+ *
4
+ * Contains all platform-agnostic exports used by browser, Node.js, and generic
5
+ * entry points. Platform-specific entry points re-export from this module and
6
+ * add their own `detectRuntime` and `createSigningPool` implementations.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ // Type exports
11
+ export { SignatureType, isSigningError, isSigningResult, isBatchResult, isWorkerReady, WorkerState, } from './types.js';
12
+ // Browser worker pool
13
+ export { WorkerSigningPool, getSigningPool } from './WorkerSigningPool.js';
14
+ // Worker code generation (for custom implementations)
15
+ export { generateWorkerCode, createWorkerBlobUrl, revokeWorkerBlobUrl } from './signing-worker.js';
16
+ // ECC bundle (for embedding in custom workers)
17
+ export { ECC_BUNDLE, ECC_BUNDLE_SIZE } from './ecc-bundle.js';
18
+ // PSBT parallel signing integration
19
+ export { signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, } from './psbt-parallel.js';
20
+ //# sourceMappingURL=index.shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.shared.js","sourceRoot":"","sources":["../../src/workers/index.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAe;AACf,OAAO,EACH,aAAa,EAeb,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EAOb,WAAW,GAEd,MAAM,YAAY,CAAC;AAEpB,sBAAsB;AACtB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE3E,sDAAsD;AACtD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEnG,+CAA+C;AAC/C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9D,oCAAoC;AACpC,OAAO,EACH,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,GAGxB,MAAM,oBAAoB,CAAC"}
@@ -28,8 +28,7 @@
28
28
  * @packageDocumentation
29
29
  */
30
30
  import type { Psbt } from '../psbt.js';
31
- import type { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
32
- import { WorkerSigningPool } from './WorkerSigningPool.js';
31
+ import type { ParallelSignerKeyPair, ParallelSigningResult, SigningPoolLike, SigningTask, WorkerPoolConfig } from './types.js';
33
32
  /**
34
33
  * Options for parallel PSBT signing.
35
34
  */
@@ -93,7 +92,7 @@ export interface PsbtParallelKeyPair extends ParallelSignerKeyPair {
93
92
  * const result = await signPsbtParallel(psbt, keyPair, { workerCount: 4 });
94
93
  * ```
95
94
  */
96
- export declare function signPsbtParallel(psbt: Psbt, keyPair: PsbtParallelKeyPair, poolOrConfig?: WorkerSigningPool | WorkerPoolConfig, options?: ParallelSignOptions): Promise<ParallelSigningResult>;
95
+ export declare function signPsbtParallel(psbt: Psbt, keyPair: PsbtParallelKeyPair, poolOrConfig?: SigningPoolLike | WorkerPoolConfig, options?: ParallelSignOptions): Promise<ParallelSigningResult>;
97
96
  /**
98
97
  * Prepares signing tasks from a PSBT.
99
98
  *
@@ -1 +1 @@
1
- {"version":3,"file":"psbt-parallel.d.ts","sourceRoot":"","sources":["../../src/workers/psbt-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,WAAW,EAAE,gBAAgB,EAAG,MAAM,YAAY,CAAC;AAE/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAK3D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAC9D,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,gBAAgB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,mBAAmB,EAC5B,YAAY,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,EACnD,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,qBAAqB,CAAC,CA4ChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,mBAAwB,GAClC,WAAW,EAAE,CA4Bf;AAuED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,mBAAmB,GAC7B,IAAI,CAyCN"}
1
+ {"version":3,"file":"psbt-parallel.d.ts","sourceRoot":"","sources":["../../src/workers/psbt-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAG,MAAM,YAAY,CAAC;AAMhI;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE1C;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAC9D,yCAAyC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAsB,gBAAgB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,mBAAmB,EAC5B,YAAY,CAAC,EAAE,eAAe,GAAG,gBAAgB,EACjD,OAAO,GAAE,mBAAwB,GAClC,OAAO,CAAC,qBAAqB,CAAC,CA6ChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAC/B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE,mBAAwB,GAClC,WAAW,EAAE,CA4Bf;AAuED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,mBAAmB,GAC7B,IAAI,CAyCN"}
@@ -29,7 +29,6 @@
29
29
  */
30
30
  import { Transaction } from '../transaction.js';
31
31
  import { SignatureType } from './types.js';
32
- import { WorkerSigningPool } from './WorkerSigningPool.js';
33
32
  import { toXOnly } from '../pubkey.js';
34
33
  import { isTaprootInput, serializeTaprootSignature } from '../psbt/bip371.js';
35
34
  import * as bscript from '../script.js';
@@ -68,10 +67,11 @@ export async function signPsbtParallel(psbt, keyPair, poolOrConfig, options = {}
68
67
  // Get or create pool
69
68
  let pool;
70
69
  let shouldShutdown = false;
71
- if (poolOrConfig instanceof WorkerSigningPool) {
70
+ if (poolOrConfig && 'signBatch' in poolOrConfig) {
72
71
  pool = poolOrConfig;
73
72
  }
74
73
  else {
74
+ const { WorkerSigningPool } = await import('./WorkerSigningPool.js');
75
75
  pool = WorkerSigningPool.getInstance(poolOrConfig);
76
76
  if (!pool.isPreservingWorkers) {
77
77
  shouldShutdown = true;
@@ -218,10 +218,10 @@ export function applySignaturesToPsbt(psbt, result, keyPair) {
218
218
  }
219
219
  else {
220
220
  // ECDSA signature
221
- const encodedSig = bscript.signature.encode(Buffer.from(sigResult.signature), input.sighashType ?? Transaction.SIGHASH_ALL);
221
+ const encodedSig = bscript.signature.encode(sigResult.signature, input.sighashType ?? Transaction.SIGHASH_ALL);
222
222
  const partialSig = [
223
223
  {
224
- pubkey: Buffer.from(pubkey),
224
+ pubkey: Uint8Array.from(pubkey),
225
225
  signature: encodedSig,
226
226
  },
227
227
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"psbt-parallel.js","sourceRoot":"","sources":["../../src/workers/psbt-parallel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psbt-parallel.js","sourceRoot":"","sources":["../../src/workers/psbt-parallel.ts"],"names":[],"mappings":"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"}
@@ -347,6 +347,23 @@ export declare const WorkerState: {
347
347
  readonly Terminated: 4;
348
348
  };
349
349
  export type WorkerState = (typeof WorkerState)[keyof typeof WorkerState];
350
+ /**
351
+ * Minimum contract for any signing pool implementation.
352
+ *
353
+ * Implemented by WorkerSigningPool (browser), NodeWorkerSigningPool (Node.js),
354
+ * and SequentialSigningPool (React Native / fallback).
355
+ */
356
+ export interface SigningPoolLike {
357
+ signBatch(tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair): Promise<ParallelSigningResult>;
358
+ preserveWorkers(): void;
359
+ releaseWorkers(): void;
360
+ initialize(): Promise<void>;
361
+ shutdown(): Promise<void>;
362
+ readonly workerCount: number;
363
+ readonly idleWorkerCount: number;
364
+ readonly busyWorkerCount: number;
365
+ readonly isPreservingWorkers: boolean;
366
+ }
350
367
  /**
351
368
  * Internal worker wrapper for pool management.
352
369
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workers/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workers/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@btc-vision/bitcoin",
3
3
  "type": "module",
4
- "version": "7.0.0-alpha.3",
4
+ "version": "7.0.0-alpha.5",
5
5
  "sideEffects": false,
6
6
  "description": "Client-side Bitcoin JavaScript library",
7
7
  "engines": {
@@ -9,6 +9,11 @@
9
9
  },
10
10
  "exports": {
11
11
  ".": {
12
+ "react-native": {
13
+ "types": "./build/index.d.ts",
14
+ "import": "./build/index.js",
15
+ "default": "./build/index.js"
16
+ },
12
17
  "browser": {
13
18
  "types": "./browser/index.d.ts",
14
19
  "import": "./browser/index.js",
@@ -29,6 +34,11 @@
29
34
  "default": "./browser/index.js"
30
35
  },
31
36
  "./workers": {
37
+ "react-native": {
38
+ "types": "./build/workers/index.react-native.d.ts",
39
+ "import": "./build/workers/index.react-native.js",
40
+ "default": "./build/workers/index.react-native.js"
41
+ },
32
42
  "browser": {
33
43
  "types": "./browser/workers/index.d.ts",
34
44
  "import": "./browser/workers/index.js",
@@ -191,6 +201,14 @@
191
201
  "vite-plugin-wasm": "^3.5.0",
192
202
  "vitest": "^4.0.18"
193
203
  },
204
+ "peerDependencies": {
205
+ "react-native-worklets": ">=0.7.0"
206
+ },
207
+ "peerDependenciesMeta": {
208
+ "react-native-worklets": {
209
+ "optional": true
210
+ }
211
+ },
194
212
  "dependencies": {
195
213
  "@btc-vision/bip32": "^7.0.2",
196
214
  "@btc-vision/ecpair": "^4.0.2",
package/src/env.ts ADDED
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Runtime capability verification and polyfills.
3
+ *
4
+ * Polyfills features that can be shimmed (TextEncoder, Map, Promise.allSettled, Symbol.dispose).
5
+ * Throws early with a clear error for features that cannot be polyfilled (BigInt, Uint8Array,
6
+ * structuredClone, DataView BigInt methods).
7
+ *
8
+ * Imported as a side effect by the main entry point.
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+
13
+ // ---------------------------------------------------------------------------
14
+ // Hard requirements — cannot be polyfilled
15
+ // ---------------------------------------------------------------------------
16
+
17
+ const missing: string[] = [];
18
+
19
+ if (typeof BigInt === 'undefined') {
20
+ missing.push('BigInt (ES2020 — required for satoshi values)');
21
+ }
22
+
23
+ if (typeof Uint8Array === 'undefined') {
24
+ missing.push('Uint8Array (TypedArrays — required for all binary operations)');
25
+ }
26
+
27
+ if (typeof DataView !== 'undefined' && typeof DataView.prototype.getBigInt64 !== 'function') {
28
+ missing.push('DataView.prototype.getBigInt64 (ES2020 — required for transaction parsing)');
29
+ }
30
+
31
+ if (missing.length > 0) {
32
+ throw new Error(
33
+ `@btc-vision/bitcoin: unsupported runtime. Missing capabilities:\n` +
34
+ missing.map((cap) => ` - ${cap}`).join('\n') +
35
+ `\n\nThese features cannot be polyfilled. This library requires a modern JavaScript engine (ES2022+).`,
36
+ );
37
+ }
38
+
39
+ // ---------------------------------------------------------------------------
40
+ // Polyfills — shim features that can be reasonably implemented
41
+ // ---------------------------------------------------------------------------
42
+
43
+ // TextEncoder / TextDecoder (for older WebView / jsdom environments)
44
+ if (typeof globalThis.TextEncoder === 'undefined') {
45
+ globalThis.TextEncoder = class TextEncoder {
46
+ readonly encoding = 'utf-8';
47
+
48
+ encode(input: string = ''): Uint8Array {
49
+ // Fast path for ASCII
50
+ const utf8: number[] = [];
51
+ for (let i = 0; i < input.length; i++) {
52
+ let code = input.charCodeAt(i);
53
+ if (code < 0x80) {
54
+ utf8.push(code);
55
+ } else if (code < 0x800) {
56
+ utf8.push(0xc0 | (code >> 6), 0x80 | (code & 0x3f));
57
+ } else if (code >= 0xd800 && code <= 0xdbff) {
58
+ // Surrogate pair
59
+ const next = input.charCodeAt(++i);
60
+ code = 0x10000 + ((code - 0xd800) << 10) + (next - 0xdc00);
61
+ utf8.push(
62
+ 0xf0 | (code >> 18),
63
+ 0x80 | ((code >> 12) & 0x3f),
64
+ 0x80 | ((code >> 6) & 0x3f),
65
+ 0x80 | (code & 0x3f),
66
+ );
67
+ } else {
68
+ utf8.push(0xe0 | (code >> 12), 0x80 | ((code >> 6) & 0x3f), 0x80 | (code & 0x3f));
69
+ }
70
+ }
71
+ return new Uint8Array(utf8);
72
+ }
73
+
74
+ encodeInto(src: string, dest: Uint8Array): { read: number; written: number } {
75
+ const encoded = this.encode(src);
76
+ const written = Math.min(encoded.length, dest.length);
77
+ dest.set(encoded.subarray(0, written));
78
+ return { read: src.length, written };
79
+ }
80
+ } as unknown as typeof TextEncoder;
81
+ }
82
+
83
+ if (typeof globalThis.TextDecoder === 'undefined') {
84
+ globalThis.TextDecoder = class TextDecoder {
85
+ readonly encoding = 'utf-8';
86
+ readonly fatal = false;
87
+ readonly ignoreBOM = false;
88
+
89
+ decode(input?: ArrayBufferView | ArrayBuffer): string {
90
+ if (!input) return '';
91
+ const bytes =
92
+ input instanceof ArrayBuffer
93
+ ? new Uint8Array(input)
94
+ : new Uint8Array(input.buffer, input.byteOffset, input.byteLength);
95
+
96
+ let result = '';
97
+ for (let i = 0; i < bytes.length; ) {
98
+ const byte = bytes[i]!;
99
+ let code: number;
100
+ if (byte < 0x80) {
101
+ code = byte;
102
+ i++;
103
+ } else if ((byte & 0xe0) === 0xc0) {
104
+ code = ((byte & 0x1f) << 6) | (bytes[i + 1]! & 0x3f);
105
+ i += 2;
106
+ } else if ((byte & 0xf0) === 0xe0) {
107
+ code = ((byte & 0x0f) << 12) | ((bytes[i + 1]! & 0x3f) << 6) | (bytes[i + 2]! & 0x3f);
108
+ i += 3;
109
+ } else {
110
+ code =
111
+ ((byte & 0x07) << 18) |
112
+ ((bytes[i + 1]! & 0x3f) << 12) |
113
+ ((bytes[i + 2]! & 0x3f) << 6) |
114
+ (bytes[i + 3]! & 0x3f);
115
+ i += 4;
116
+ }
117
+
118
+ if (code <= 0xffff) {
119
+ result += String.fromCharCode(code);
120
+ } else {
121
+ // Surrogate pair
122
+ code -= 0x10000;
123
+ result += String.fromCharCode(0xd800 + (code >> 10), 0xdc00 + (code & 0x3ff));
124
+ }
125
+ }
126
+ return result;
127
+ }
128
+ } as unknown as typeof TextDecoder;
129
+ }
130
+
131
+ // Map (for extremely old environments)
132
+ if (typeof globalThis.Map === 'undefined') {
133
+ globalThis.Map = class Map<K, V> {
134
+ readonly #entries: Array<[K, V]> = [];
135
+
136
+ constructor(entries?: Iterable<[K, V]> | null) {
137
+ if (entries) {
138
+ for (const [k, v] of entries) {
139
+ this.set(k, v);
140
+ }
141
+ }
142
+ }
143
+
144
+ get size(): number {
145
+ return this.#entries.length;
146
+ }
147
+
148
+ has(key: K): boolean {
149
+ return this.#entries.some(([k]) => k === key);
150
+ }
151
+
152
+ get(key: K): V | undefined {
153
+ const entry = this.#entries.find(([k]) => k === key);
154
+ return entry?.[1];
155
+ }
156
+
157
+ set(key: K, value: V): this {
158
+ const idx = this.#entries.findIndex(([k]) => k === key);
159
+ if (idx >= 0) {
160
+ this.#entries[idx] = [key, value];
161
+ } else {
162
+ this.#entries.push([key, value]);
163
+ }
164
+ return this;
165
+ }
166
+
167
+ delete(key: K): boolean {
168
+ const idx = this.#entries.findIndex(([k]) => k === key);
169
+ if (idx >= 0) {
170
+ this.#entries.splice(idx, 1);
171
+ return true;
172
+ }
173
+ return false;
174
+ }
175
+
176
+ clear(): void {
177
+ this.#entries.length = 0;
178
+ }
179
+
180
+ forEach(cb: (value: V, key: K, map: Map<K, V>) => void): void {
181
+ for (const [k, v] of this.#entries) {
182
+ cb(v, k, this);
183
+ }
184
+ }
185
+
186
+ keys(): IterableIterator<K> {
187
+ return this.#entries.map(([k]) => k)[Symbol.iterator]() as IterableIterator<K>;
188
+ }
189
+
190
+ values(): IterableIterator<V> {
191
+ return this.#entries.map(([, v]) => v)[Symbol.iterator]() as IterableIterator<V>;
192
+ }
193
+
194
+ entries(): IterableIterator<[K, V]> {
195
+ return this.#entries[Symbol.iterator]() as IterableIterator<[K, V]>;
196
+ }
197
+
198
+ [Symbol.iterator](): IterableIterator<[K, V]> {
199
+ return this.entries();
200
+ }
201
+
202
+ get [Symbol.toStringTag](): string {
203
+ return 'Map';
204
+ }
205
+ } as unknown as MapConstructor;
206
+ }
207
+
208
+ // Promise.allSettled (ES2020)
209
+ if (typeof Promise.allSettled !== 'function') {
210
+ Promise.allSettled = function allSettled<T extends readonly unknown[]>(
211
+ promises: T,
212
+ ): Promise<{
213
+ -readonly [K in keyof T]: PromiseSettledResult<Awaited<T[K]>>;
214
+ }> {
215
+ return Promise.all(
216
+ Array.from(promises as Iterable<unknown>, (p) =>
217
+ Promise.resolve(p).then(
218
+ (value) => ({ status: 'fulfilled' as const, value }),
219
+ (reason: unknown) => ({ status: 'rejected' as const, reason }),
220
+ ),
221
+ ),
222
+ ) as Promise<any>;
223
+ };
224
+ }
225
+
226
+ // structuredClone (ES2022 — used for PSBT cloning)
227
+ if (typeof globalThis.structuredClone === 'undefined') {
228
+ globalThis.structuredClone = <T>(value: T): T => JSON.parse(JSON.stringify(value));
229
+ }
230
+
231
+ // Symbol.dispose / Symbol.asyncDispose (ES2024 — Explicit Resource Management)
232
+ if (typeof Symbol['dispose'] === 'undefined') {
233
+ (Symbol as unknown as Record<string, symbol>)['dispose'] = Symbol.for('Symbol.dispose');
234
+ }
235
+ if (typeof Symbol['asyncDispose'] === 'undefined') {
236
+ (Symbol as unknown as Record<string, symbol>)['asyncDispose'] = Symbol.for('Symbol.asyncDispose');
237
+ }
package/src/index.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import './env.js';
1
2
  import type {
2
3
  PsbtInput as _PsbtInput,
3
4
  PsbtInputUpdate as _PsbtInputUpdate,
@@ -142,8 +143,6 @@ export {
142
143
  xor,
143
144
  fromUtf8,
144
145
  toUtf8,
145
- MemoryPool,
146
- SimpleMemoryPool,
147
146
  varuint,
148
147
  } from './io/index.js';
149
148
  export * from './payments/bip341.js';