@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
@@ -606,6 +606,49 @@ describe('WorkerSigningPool', () => {
606
606
  });
607
607
  });
608
608
 
609
+ describe('Symbol.asyncDispose', () => {
610
+ it('should have Symbol.asyncDispose method', () => {
611
+ const pool = WorkerSigningPool.getInstance({ workerCount: 1 });
612
+ expect(typeof pool[Symbol.asyncDispose]).toBe('function');
613
+ });
614
+
615
+ it('should terminate workers when disposed', async () => {
616
+ const pool = WorkerSigningPool.getInstance({ workerCount: 2 });
617
+ await pool.initialize();
618
+ expect(pool.workerCount).toBe(2);
619
+
620
+ await pool[Symbol.asyncDispose]();
621
+ expect(pool.workerCount).toBe(0);
622
+ });
623
+
624
+ it('should be safe to call after shutdown', async () => {
625
+ const pool = WorkerSigningPool.getInstance({ workerCount: 2 });
626
+ await pool.initialize();
627
+
628
+ await pool.shutdown();
629
+ await pool[Symbol.asyncDispose](); // Should not throw
630
+
631
+ expect(pool.workerCount).toBe(0);
632
+ });
633
+
634
+ it('should clean up with await using', async () => {
635
+ WorkerSigningPool.resetInstance();
636
+
637
+ let poolRef: InstanceType<typeof WorkerSigningPool> | undefined;
638
+
639
+ // Scoped block — pool is disposed when the block exits
640
+ {
641
+ await using pool = WorkerSigningPool.getInstance({ workerCount: 2 });
642
+ await pool.initialize();
643
+ expect(pool.workerCount).toBe(2);
644
+ poolRef = pool;
645
+ }
646
+
647
+ // After scope exit, dispose has been called
648
+ expect(poolRef!.workerCount).toBe(0);
649
+ });
650
+ });
651
+
609
652
  describe('Worker Pool Without Preservation', () => {
610
653
  it('should terminate workers after batch when not preserving', async () => {
611
654
  const pool = WorkerSigningPool.getInstance({ workerCount: 2 });