@btc-vision/bitcoin 7.0.0-alpha.1 → 7.0.0-alpha.10
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.
- package/README.md +455 -155
- package/browser/address.d.ts +5 -1
- package/browser/address.d.ts.map +1 -1
- package/browser/branded.d.ts +3 -14
- package/browser/branded.d.ts.map +1 -1
- package/browser/chunks/psbt-parallel-BBFlkmiv.js +10717 -0
- package/browser/ecc/context.d.ts +22 -21
- package/browser/ecc/context.d.ts.map +1 -1
- package/browser/ecc/index.d.ts +1 -1
- package/browser/ecc/index.d.ts.map +1 -1
- package/browser/ecc/types.d.ts +10 -123
- package/browser/ecc/types.d.ts.map +1 -1
- package/browser/env.d.ts +13 -0
- package/browser/env.d.ts.map +1 -0
- package/browser/index.d.ts +6 -6
- package/browser/index.d.ts.map +1 -1
- package/browser/index.js +2602 -11786
- package/browser/io/hex.d.ts.map +1 -1
- package/browser/io/index.d.ts +0 -1
- package/browser/io/index.d.ts.map +1 -1
- package/browser/opcodes.d.ts +11 -0
- package/browser/opcodes.d.ts.map +1 -1
- package/browser/payments/p2tr.d.ts.map +1 -1
- package/browser/psbt/PsbtCache.d.ts +54 -0
- package/browser/psbt/PsbtCache.d.ts.map +1 -0
- package/browser/psbt/PsbtFinalizer.d.ts +21 -0
- package/browser/psbt/PsbtFinalizer.d.ts.map +1 -0
- package/browser/psbt/PsbtSigner.d.ts +32 -0
- package/browser/psbt/PsbtSigner.d.ts.map +1 -0
- package/browser/psbt/PsbtTransaction.d.ts +25 -0
- package/browser/psbt/PsbtTransaction.d.ts.map +1 -0
- package/browser/psbt/types.d.ts +4 -70
- package/browser/psbt/types.d.ts.map +1 -1
- package/browser/psbt/validation.d.ts +1 -1
- package/browser/psbt/validation.d.ts.map +1 -1
- package/browser/psbt.d.ts +26 -40
- package/browser/psbt.d.ts.map +1 -1
- package/browser/script.d.ts.map +1 -1
- package/browser/transaction.d.ts +4 -4
- package/browser/transaction.d.ts.map +1 -1
- package/browser/types.d.ts +5 -3
- package/browser/types.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.d.ts +7 -0
- package/browser/workers/WorkerSigningPool.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.node.d.ts +7 -0
- package/browser/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.sequential.d.ts +67 -0
- package/browser/workers/WorkerSigningPool.sequential.d.ts.map +1 -0
- package/browser/workers/WorkerSigningPool.worklet.d.ts +64 -0
- package/browser/workers/WorkerSigningPool.worklet.d.ts.map +1 -0
- package/browser/workers/index.browser.d.ts +16 -0
- package/browser/workers/index.browser.d.ts.map +1 -0
- package/browser/workers/index.d.ts +4 -64
- package/browser/workers/index.d.ts.map +1 -1
- package/browser/workers/index.js +28 -0
- package/browser/workers/index.node.d.ts +17 -0
- package/browser/workers/index.node.d.ts.map +1 -0
- package/browser/workers/index.react-native.d.ts +28 -0
- package/browser/workers/index.react-native.d.ts.map +1 -0
- package/browser/workers/index.shared.d.ts +15 -0
- package/browser/workers/index.shared.d.ts.map +1 -0
- package/browser/workers/psbt-parallel.d.ts +2 -3
- package/browser/workers/psbt-parallel.d.ts.map +1 -1
- package/browser/workers/types.d.ts +17 -0
- package/browser/workers/types.d.ts.map +1 -1
- package/build/address.d.ts +5 -1
- package/build/address.d.ts.map +1 -1
- package/build/address.js +29 -17
- package/build/address.js.map +1 -1
- package/build/bech32utils.js.map +1 -1
- package/build/block.js.map +1 -1
- package/build/branded.d.ts +3 -14
- package/build/branded.d.ts.map +1 -1
- package/build/branded.js +0 -5
- package/build/branded.js.map +1 -1
- package/build/ecc/context.d.ts +22 -21
- package/build/ecc/context.d.ts.map +1 -1
- package/build/ecc/context.js +23 -95
- package/build/ecc/context.js.map +1 -1
- package/build/ecc/index.d.ts +1 -1
- package/build/ecc/index.d.ts.map +1 -1
- package/build/ecc/types.d.ts +7 -126
- package/build/ecc/types.d.ts.map +1 -1
- package/build/ecc/types.js +4 -1
- package/build/ecc/types.js.map +1 -1
- package/build/env.d.ts +13 -0
- package/build/env.d.ts.map +1 -0
- package/build/env.js +198 -0
- package/build/env.js.map +1 -0
- package/build/index.d.ts +7 -6
- package/build/index.d.ts.map +1 -1
- package/build/index.js +7 -5
- package/build/index.js.map +1 -1
- package/build/io/hex.d.ts.map +1 -1
- package/build/io/hex.js +2 -1
- package/build/io/hex.js.map +1 -1
- package/build/io/index.d.ts +0 -1
- package/build/io/index.d.ts.map +1 -1
- package/build/io/index.js +0 -2
- package/build/io/index.js.map +1 -1
- package/build/opcodes.d.ts +11 -0
- package/build/opcodes.d.ts.map +1 -1
- package/build/opcodes.js +19 -4
- package/build/opcodes.js.map +1 -1
- package/build/payments/bip341.js.map +1 -1
- package/build/payments/embed.js.map +1 -1
- package/build/payments/p2ms.js.map +1 -1
- package/build/payments/p2pk.js.map +1 -1
- package/build/payments/p2pkh.js.map +1 -1
- package/build/payments/p2sh.js.map +1 -1
- package/build/payments/p2tr.d.ts.map +1 -1
- package/build/payments/p2tr.js +2 -3
- package/build/payments/p2tr.js.map +1 -1
- package/build/payments/p2wpkh.js.map +1 -1
- package/build/payments/p2wsh.js.map +1 -1
- package/build/psbt/PsbtCache.d.ts +54 -0
- package/build/psbt/PsbtCache.d.ts.map +1 -0
- package/build/psbt/PsbtCache.js +249 -0
- package/build/psbt/PsbtCache.js.map +1 -0
- package/build/psbt/PsbtFinalizer.d.ts +21 -0
- package/build/psbt/PsbtFinalizer.d.ts.map +1 -0
- package/build/psbt/PsbtFinalizer.js +157 -0
- package/build/psbt/PsbtFinalizer.js.map +1 -0
- package/build/psbt/PsbtSigner.d.ts +32 -0
- package/build/psbt/PsbtSigner.d.ts.map +1 -0
- package/build/psbt/PsbtSigner.js +192 -0
- package/build/psbt/PsbtSigner.js.map +1 -0
- package/build/psbt/PsbtTransaction.d.ts +25 -0
- package/build/psbt/PsbtTransaction.d.ts.map +1 -0
- package/build/psbt/PsbtTransaction.js +61 -0
- package/build/psbt/PsbtTransaction.js.map +1 -0
- package/build/psbt/types.d.ts +4 -70
- package/build/psbt/types.d.ts.map +1 -1
- package/build/psbt/validation.d.ts +1 -1
- package/build/psbt/validation.d.ts.map +1 -1
- package/build/psbt.d.ts +26 -40
- package/build/psbt.d.ts.map +1 -1
- package/build/psbt.js +177 -799
- package/build/psbt.js.map +1 -1
- package/build/script.d.ts.map +1 -1
- package/build/script.js +2 -2
- package/build/script.js.map +1 -1
- package/build/transaction.d.ts +4 -4
- package/build/transaction.d.ts.map +1 -1
- package/build/transaction.js +5 -4
- package/build/transaction.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/types.d.ts +5 -3
- package/build/types.d.ts.map +1 -1
- package/build/types.js +11 -16
- package/build/types.js.map +1 -1
- package/build/workers/WorkerSigningPool.d.ts +7 -0
- package/build/workers/WorkerSigningPool.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.js +12 -1
- package/build/workers/WorkerSigningPool.js.map +1 -1
- package/build/workers/WorkerSigningPool.node.d.ts +7 -0
- package/build/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.node.js +37 -5
- package/build/workers/WorkerSigningPool.node.js.map +1 -1
- package/build/workers/WorkerSigningPool.sequential.d.ts +76 -0
- package/build/workers/WorkerSigningPool.sequential.d.ts.map +1 -0
- package/build/workers/WorkerSigningPool.sequential.js +160 -0
- package/build/workers/WorkerSigningPool.sequential.js.map +1 -0
- package/build/workers/WorkerSigningPool.worklet.d.ts +79 -0
- package/build/workers/WorkerSigningPool.worklet.d.ts.map +1 -0
- package/build/workers/WorkerSigningPool.worklet.js +390 -0
- package/build/workers/WorkerSigningPool.worklet.js.map +1 -0
- package/build/workers/index.browser.d.ts +24 -0
- package/build/workers/index.browser.d.ts.map +1 -0
- package/build/workers/index.browser.js +30 -0
- package/build/workers/index.browser.js.map +1 -0
- package/build/workers/index.d.ts +6 -18
- package/build/workers/index.d.ts.map +1 -1
- package/build/workers/index.js +12 -14
- package/build/workers/index.js.map +1 -1
- package/build/workers/index.node.d.ts +38 -0
- package/build/workers/index.node.d.ts.map +1 -0
- package/build/workers/index.node.js +45 -0
- package/build/workers/index.node.js.map +1 -0
- package/build/workers/index.react-native.d.ts +28 -0
- package/build/workers/index.react-native.d.ts.map +1 -0
- package/build/workers/index.react-native.js +67 -0
- package/build/workers/index.react-native.js.map +1 -0
- package/build/workers/index.shared.d.ts +15 -0
- package/build/workers/index.shared.d.ts.map +1 -0
- package/build/workers/index.shared.js +20 -0
- package/build/workers/index.shared.js.map +1 -0
- package/build/workers/psbt-parallel.d.ts +2 -3
- package/build/workers/psbt-parallel.d.ts.map +1 -1
- package/build/workers/psbt-parallel.js +4 -4
- package/build/workers/psbt-parallel.js.map +1 -1
- package/build/workers/types.d.ts +17 -0
- package/build/workers/types.d.ts.map +1 -1
- package/package.json +46 -8
- package/src/address.ts +41 -18
- package/src/bech32utils.ts +3 -3
- package/src/block.ts +2 -2
- package/src/branded.ts +15 -13
- package/src/ecc/context.ts +30 -133
- package/src/ecc/index.ts +2 -2
- package/src/ecc/types.ts +7 -138
- package/src/env.ts +239 -0
- package/src/index.ts +45 -9
- package/src/io/hex.ts +2 -1
- package/src/io/index.ts +0 -3
- package/src/opcodes.ts +21 -4
- package/src/payments/bip341.ts +3 -3
- package/src/payments/embed.ts +1 -1
- package/src/payments/p2ms.ts +2 -2
- package/src/payments/p2pk.ts +2 -2
- package/src/payments/p2pkh.ts +3 -3
- package/src/payments/p2sh.ts +4 -4
- package/src/payments/p2tr.ts +9 -9
- package/src/payments/p2wpkh.ts +5 -5
- package/src/payments/p2wsh.ts +2 -2
- package/src/psbt/PsbtCache.ts +325 -0
- package/src/psbt/PsbtFinalizer.ts +213 -0
- package/src/psbt/PsbtSigner.ts +302 -0
- package/src/psbt/PsbtTransaction.ts +82 -0
- package/src/psbt/types.ts +4 -86
- package/src/psbt/validation.ts +1 -1
- package/src/psbt.ts +349 -1198
- package/src/script.ts +2 -2
- package/src/transaction.ts +10 -9
- package/src/types.ts +18 -28
- package/src/workers/WorkerSigningPool.node.ts +41 -5
- package/src/workers/WorkerSigningPool.sequential.ts +191 -0
- package/src/workers/WorkerSigningPool.ts +14 -1
- package/src/workers/WorkerSigningPool.worklet.ts +522 -0
- package/src/workers/index.browser.ts +34 -0
- package/src/workers/index.node.ts +50 -0
- package/src/workers/index.react-native.ts +110 -0
- package/src/workers/index.shared.ts +58 -0
- package/src/workers/index.ts +14 -65
- package/src/workers/psbt-parallel.ts +7 -7
- package/src/workers/types.ts +21 -0
- package/test/address.spec.ts +2 -2
- package/test/bitcoin.core.spec.ts +5 -2
- package/test/browser/payments.spec.ts +151 -0
- package/test/browser/psbt.spec.ts +1510 -0
- package/test/browser/script.spec.ts +223 -0
- package/test/browser/setup.ts +13 -0
- package/test/browser/workers-signing.spec.ts +537 -0
- package/test/crypto.spec.ts +2 -2
- package/test/env.spec.ts +418 -0
- package/test/fixtures/core/base58_encode_decode.json +12 -48
- package/test/fixtures/core/base58_keys_invalid.json +50 -150
- package/test/fixtures/core/sighash.json +1 -3
- package/test/fixtures/core/tx_valid.json +133 -501
- package/test/fixtures/embed.json +3 -11
- package/test/fixtures/p2ms.json +21 -91
- package/test/fixtures/p2pk.json +5 -24
- package/test/fixtures/p2pkh.json +7 -36
- package/test/fixtures/p2sh.json +8 -54
- package/test/fixtures/p2tr.json +2 -6
- package/test/fixtures/p2wpkh.json +7 -36
- package/test/fixtures/p2wsh.json +14 -59
- package/test/fixtures/psbt.json +2 -6
- package/test/fixtures/script.json +12 -48
- package/test/integration/addresses.spec.ts +11 -5
- package/test/integration/bip32.spec.ts +1 -1
- package/test/integration/cltv.spec.ts +10 -6
- package/test/integration/csv.spec.ts +10 -9
- package/test/integration/payments.spec.ts +8 -4
- package/test/integration/taproot.spec.ts +26 -6
- package/test/integration/transactions.spec.ts +22 -8
- package/test/payments.spec.ts +1 -1
- package/test/payments.utils.ts +1 -1
- package/test/psbt.spec.ts +250 -64
- package/test/script_signature.spec.ts +1 -1
- package/test/transaction.spec.ts +18 -5
- package/test/tsconfig.json +6 -20
- package/test/workers-pool.spec.ts +65 -23
- package/test/workers-sequential.spec.ts +669 -0
- package/test/workers-signing.spec.ts +7 -3
- package/test/workers-worklet.spec.ts +500 -0
- package/test/workers.spec.ts +6 -7
- package/typedoc.json +11 -1
- package/vite.config.browser.ts +31 -6
- package/vitest.config.browser.ts +68 -0
- package/browser/ecpair.d.ts +0 -99
- package/browser/io/MemoryPool.d.ts +0 -220
- package/browser/io/MemoryPool.d.ts.map +0 -1
- package/build/io/MemoryPool.d.ts +0 -220
- package/build/io/MemoryPool.d.ts.map +0 -1
- package/build/io/MemoryPool.js +0 -309
- package/build/io/MemoryPool.js.map +0 -1
- package/src/ecpair.d.ts +0 -99
- package/src/io/MemoryPool.ts +0 -343
- package/test/taproot-cache.spec.ts +0 -694
package/browser/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACR,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,MAAM,EACN,SAAS,EACT,cAAc,EACjB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,6 +124,12 @@ export declare class WorkerSigningPool {
|
|
|
124
124
|
* ```
|
|
125
125
|
*/
|
|
126
126
|
signBatch(tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair): Promise<ParallelSigningResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Disposes of the pool by shutting down all workers.
|
|
129
|
+
*
|
|
130
|
+
* Enables `await using pool = ...` syntax for automatic cleanup.
|
|
131
|
+
*/
|
|
132
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
127
133
|
/**
|
|
128
134
|
* Shuts down the pool and terminates all workers.
|
|
129
135
|
*
|
|
@@ -132,6 +138,7 @@ export declare class WorkerSigningPool {
|
|
|
132
138
|
* @returns Promise that resolves when all workers are terminated
|
|
133
139
|
*/
|
|
134
140
|
shutdown(): Promise<void>;
|
|
141
|
+
[Symbol.dispose](): void;
|
|
135
142
|
}
|
|
136
143
|
/**
|
|
137
144
|
* Convenience function to get the singleton pool instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerSigningPool.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAIR,qBAAqB,EACrB,qBAAqB,EAGrB,WAAW,EACX,gBAAgB,EAEnB,MAAM,YAAY,CAAC;AAyBpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,iBAAiB;;IAmD1B;;;;OAIG;IACH,OAAO;IAKP;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;;;;;;;;;OAUG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,iBAAiB;IAOvE;;OAEG;WACW,aAAa,IAAI,IAAI;IAOnC;;;;;;;;;;;;;;;;;;OAkBG;IACI,eAAe,IAAI,IAAI;IAI9B;;;;;OAKG;IACI,cAAc,IAAI,IAAI;IAI7B;;;;;;;OAOG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,SAAS,CAClB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IA4FjC;;;;;;OAMG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkerSigningPool.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAIR,qBAAqB,EACrB,qBAAqB,EAGrB,WAAW,EACX,gBAAgB,EAEnB,MAAM,YAAY,CAAC;AAyBpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,iBAAiB;;IAmD1B;;;;OAIG;IACH,OAAO;IAKP;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;;;;;;;;;OAUG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,iBAAiB;IAOvE;;OAEG;WACW,aAAa,IAAI,IAAI;IAOnC;;;;;;;;;;;;;;;;;;OAkBG;IACI,eAAe,IAAI,IAAI;IAI9B;;;;;OAKG;IACI,cAAc,IAAI,IAAI;IAI7B;;;;;;;OAOG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACU,SAAS,CAClB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IA4FjC;;;;OAIG;IACU,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAInD;;;;;;OAMG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B/B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CA2OlC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE3E"}
|
|
@@ -102,12 +102,19 @@ export declare class NodeWorkerSigningPool {
|
|
|
102
102
|
* @returns Promise resolving to signing results
|
|
103
103
|
*/
|
|
104
104
|
signBatch(tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair): Promise<ParallelSigningResult>;
|
|
105
|
+
/**
|
|
106
|
+
* Disposes of the pool by shutting down all workers.
|
|
107
|
+
*
|
|
108
|
+
* Enables `await using pool = ...` syntax for automatic cleanup.
|
|
109
|
+
*/
|
|
110
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
105
111
|
/**
|
|
106
112
|
* Shuts down the pool and terminates all workers.
|
|
107
113
|
*
|
|
108
114
|
* @returns Promise that resolves when all workers are terminated
|
|
109
115
|
*/
|
|
110
116
|
shutdown(): Promise<void>;
|
|
117
|
+
[Symbol.dispose](): void;
|
|
111
118
|
}
|
|
112
119
|
/**
|
|
113
120
|
* Convenience function to get the singleton pool instance.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerSigningPool.node.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAIR,qBAAqB,EACrB,qBAAqB,EAGrB,WAAW,EACX,gBAAgB,EAEnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,eAAO,MAAM,cAAc;IACvB,gDAAgD;;IAEhD,iDAAiD;;CAE3C,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;CACxC;AA+BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,qBAAqB;;IAmD9B;;;;OAIG;IACH,OAAO;IAQP;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;;;;OAKG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,qBAAqB;IAO/E;;OAEG;WACW,aAAa,IAAI,IAAI;IAOnC;;OAEG;IACI,eAAe,IAAI,IAAI;IAI9B;;OAEG;IACI,cAAc,IAAI,IAAI;IAI7B;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBxC;;;;;;;;OAQG;IACU,SAAS,CAClB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAsFjC;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkerSigningPool.node.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAIR,qBAAqB,EACrB,qBAAqB,EAGrB,WAAW,EACX,gBAAgB,EAEnB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,eAAO,MAAM,cAAc;IACvB,gDAAgD;;IAEhD,iDAAiD;;CAE3C,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC1D;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;CACxC;AA+BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,qBAAqB;;IAmD9B;;;;OAIG;IACH,OAAO;IAQP;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;;;;OAKG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,qBAAqB;IAO/E;;OAEG;WACW,aAAa,IAAI,IAAI;IAOnC;;OAEG;IACI,eAAe,IAAI,IAAI;IAI9B;;OAEG;IACI,cAAc,IAAI,IAAI;IAI7B;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBxC;;;;;;;;OAQG;IACU,SAAS,CAClB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAsFjC;;;;OAIG;IACU,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAInD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB/B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CA8gBlC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,qBAAqB,CAEvF"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Sequential signing pool — signs inputs one-by-one on the main thread.
|
|
4
|
+
*
|
|
5
|
+
* Provides the same public API as WorkerSigningPool but without any
|
|
6
|
+
* threading. Intended for React Native or other environments where
|
|
7
|
+
* Web Workers and worker_threads are unavailable.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { SequentialSigningPool } from '@btc-vision/bitcoin/workers';
|
|
12
|
+
*
|
|
13
|
+
* const pool = SequentialSigningPool.getInstance();
|
|
14
|
+
* const result = await pool.signBatch(tasks, keyPair);
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare class SequentialSigningPool {
|
|
18
|
+
#private;
|
|
19
|
+
private constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Number of workers — always 0 for sequential pool.
|
|
22
|
+
*/
|
|
23
|
+
get workerCount(): number;
|
|
24
|
+
/**
|
|
25
|
+
* Idle workers — always 0.
|
|
26
|
+
*/
|
|
27
|
+
get idleWorkerCount(): number;
|
|
28
|
+
/**
|
|
29
|
+
* Busy workers — always 0.
|
|
30
|
+
*/
|
|
31
|
+
get busyWorkerCount(): number;
|
|
32
|
+
/**
|
|
33
|
+
* Whether workers are preserved — always false (no workers to preserve).
|
|
34
|
+
*/
|
|
35
|
+
get isPreservingWorkers(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Gets the singleton instance.
|
|
38
|
+
*/
|
|
39
|
+
static getInstance(config?: WorkerPoolConfig): SequentialSigningPool;
|
|
40
|
+
/**
|
|
41
|
+
* Resets the singleton instance (for testing).
|
|
42
|
+
*/
|
|
43
|
+
static resetInstance(): void;
|
|
44
|
+
/**
|
|
45
|
+
* No-op — no workers to preserve.
|
|
46
|
+
*/
|
|
47
|
+
preserveWorkers(): void;
|
|
48
|
+
/**
|
|
49
|
+
* No-op — no workers to release.
|
|
50
|
+
*/
|
|
51
|
+
releaseWorkers(): void;
|
|
52
|
+
/**
|
|
53
|
+
* No-op — no initialization required.
|
|
54
|
+
*/
|
|
55
|
+
initialize(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Signs tasks sequentially on the main thread.
|
|
58
|
+
*/
|
|
59
|
+
signBatch(tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair): Promise<ParallelSigningResult>;
|
|
60
|
+
/**
|
|
61
|
+
* No-op — no workers to shut down.
|
|
62
|
+
*/
|
|
63
|
+
shutdown(): Promise<void>;
|
|
64
|
+
[Symbol.dispose](): void;
|
|
65
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=WorkerSigningPool.sequential.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerSigningPool.sequential.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.sequential.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACR,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EACX,gBAAgB,EACnB,MAAM,YAAY,CAAC;AAKpB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;;IAG9B,OAAO;IAKP;;OAEG;IACH,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;OAEG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,qBAAqB;IAO3E;;OAEG;WACW,aAAa,IAAI,IAAI;IAInC;;OAEG;IACI,eAAe,IAAI,IAAI;IAI9B;;OAEG;IACI,cAAc,IAAI,IAAI;IAI7B;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IAEU,SAAS,CAClB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IA2DjC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIlB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtD"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Worklet-based parallel signing pool for React Native.
|
|
4
|
+
*
|
|
5
|
+
* Mirrors the API of WorkerSigningPool (browser) but uses
|
|
6
|
+
* `react-native-worklets` runtimes instead of Web Workers.
|
|
7
|
+
* `runOnRuntime()` returns a Promise directly — no postMessage protocol.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { WorkletSigningPool } from '@btc-vision/bitcoin/workers';
|
|
12
|
+
*
|
|
13
|
+
* const pool = WorkletSigningPool.getInstance();
|
|
14
|
+
* pool.preserveWorkers();
|
|
15
|
+
*
|
|
16
|
+
* const result = await pool.signBatch(tasks, keyPair);
|
|
17
|
+
* await pool.shutdown();
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare class WorkletSigningPool {
|
|
21
|
+
#private;
|
|
22
|
+
private constructor();
|
|
23
|
+
/** Number of active runtimes. */
|
|
24
|
+
get workerCount(): number;
|
|
25
|
+
/** Idle runtimes (all non-tainted). */
|
|
26
|
+
get idleWorkerCount(): number;
|
|
27
|
+
/** Busy runtimes — always 0 outside of signBatch. */
|
|
28
|
+
get busyWorkerCount(): number;
|
|
29
|
+
/** Whether runtimes are preserved between batches. */
|
|
30
|
+
get isPreservingWorkers(): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the singleton pool instance.
|
|
33
|
+
*
|
|
34
|
+
* @param config - Optional configuration (only used on first call)
|
|
35
|
+
*/
|
|
36
|
+
static getInstance(config?: WorkerPoolConfig): WorkletSigningPool;
|
|
37
|
+
/** Resets the singleton instance (for testing). */
|
|
38
|
+
static resetInstance(): void;
|
|
39
|
+
/** Enable runtime preservation between signing batches. */
|
|
40
|
+
preserveWorkers(): void;
|
|
41
|
+
/** Disable runtime preservation. */
|
|
42
|
+
releaseWorkers(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Initializes the worklet pool.
|
|
45
|
+
*
|
|
46
|
+
* Dynamically imports `react-native-worklets`, creates N runtimes,
|
|
47
|
+
* and injects the ECC bundle into each via eval.
|
|
48
|
+
*
|
|
49
|
+
* @throws If `react-native-worklets` is not installed or eval fails
|
|
50
|
+
*/
|
|
51
|
+
initialize(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Signs a batch of tasks in parallel across worklet runtimes.
|
|
54
|
+
*
|
|
55
|
+
* SECURITY: Private keys are cloned per-runtime and zeroed both
|
|
56
|
+
* inside the worklet and in the main thread finally block.
|
|
57
|
+
*/
|
|
58
|
+
signBatch(tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair): Promise<ParallelSigningResult>;
|
|
59
|
+
/** Shuts down all runtimes. */
|
|
60
|
+
shutdown(): Promise<void>;
|
|
61
|
+
[Symbol.dispose](): void;
|
|
62
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=WorkerSigningPool.worklet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerSigningPool.worklet.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.worklet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACR,qBAAqB,EACrB,qBAAqB,EAErB,WAAW,EACX,gBAAgB,EACnB,MAAM,YAAY,CAAC;AAuCpB;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,kBAAkB;;IAmB3B,OAAO;IAKP,iCAAiC;IACjC,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,uCAAuC;IACvC,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,qDAAqD;IACrD,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED,sDAAsD;IACtD,IAAW,mBAAmB,IAAI,OAAO,CAExC;IAED;;;;OAIG;WACW,WAAW,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,kBAAkB;IAOxE,mDAAmD;WACrC,aAAa,IAAI,IAAI;IAOnC,2DAA2D;IACpD,eAAe,IAAI,IAAI;IAI9B,oCAAoC;IAC7B,cAAc,IAAI,IAAI;IAI7B;;;;;;;OAOG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CxC;;;;;OAKG;IACU,SAAS,CAClB,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;IAqFjC,+BAA+B;IAElB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIlB,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;CA0MtD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { WorkerPoolConfig, SigningPoolLike } from './types.js';
|
|
2
|
+
export * from './index.shared.js';
|
|
3
|
+
/**
|
|
4
|
+
* Detects the runtime environment.
|
|
5
|
+
*
|
|
6
|
+
* @returns Always 'browser' in this entry point.
|
|
7
|
+
*/
|
|
8
|
+
export declare function detectRuntime(): 'node' | 'browser' | 'react-native' | 'unknown';
|
|
9
|
+
/**
|
|
10
|
+
* Creates a signing pool for the browser runtime using Web Workers.
|
|
11
|
+
*
|
|
12
|
+
* @param config - Optional pool configuration
|
|
13
|
+
* @returns A promise resolving to the initialized signing pool
|
|
14
|
+
*/
|
|
15
|
+
export declare function createSigningPool(config?: WorkerPoolConfig): Promise<SigningPoolLike>;
|
|
16
|
+
//# sourceMappingURL=index.browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../src/workers/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,cAAc,mBAAmB,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAE/E;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAK3F"}
|
|
@@ -1,62 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* Provides secure parallel signature computation using worker threads.
|
|
5
|
-
* Works in both Node.js (worker_threads) and browsers (Web Workers).
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { WorkerSigningPool, SignatureType } from '@btc-vision/bitcoin/workers';
|
|
10
|
-
*
|
|
11
|
-
* // Get singleton pool
|
|
12
|
-
* const pool = WorkerSigningPool.getInstance({ workerCount: 4 });
|
|
13
|
-
*
|
|
14
|
-
* // Keep workers alive for multiple signing operations
|
|
15
|
-
* pool.preserveWorkers();
|
|
16
|
-
*
|
|
17
|
-
* // Prepare signing tasks (one per input)
|
|
18
|
-
* const tasks = [
|
|
19
|
-
* {
|
|
20
|
-
* taskId: 'input-0',
|
|
21
|
-
* inputIndex: 0,
|
|
22
|
-
* hash: hash0,
|
|
23
|
-
* signatureType: SignatureType.ECDSA,
|
|
24
|
-
* sighashType: 0x01,
|
|
25
|
-
* },
|
|
26
|
-
* {
|
|
27
|
-
* taskId: 'input-1',
|
|
28
|
-
* inputIndex: 1,
|
|
29
|
-
* hash: hash1,
|
|
30
|
-
* signatureType: SignatureType.Schnorr,
|
|
31
|
-
* sighashType: 0x00,
|
|
32
|
-
* },
|
|
33
|
-
* ];
|
|
34
|
-
*
|
|
35
|
-
* // Sign ALL inputs in parallel
|
|
36
|
-
* const result = await pool.signBatch(tasks, keyPair);
|
|
37
|
-
*
|
|
38
|
-
* if (result.success) {
|
|
39
|
-
* console.log(`Signed ${result.signatures.size} inputs in ${result.durationMs}ms`);
|
|
40
|
-
* }
|
|
41
|
-
*
|
|
42
|
-
* // Cleanup when done (optional)
|
|
43
|
-
* await pool.shutdown();
|
|
44
|
-
* ```
|
|
45
|
-
*
|
|
46
|
-
* @packageDocumentation
|
|
47
|
-
*/
|
|
48
|
-
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, WorkerState, type PooledWorker, } from './types.js';
|
|
49
|
-
export { WorkerSigningPool, getSigningPool } from './WorkerSigningPool.js';
|
|
50
|
-
export { generateWorkerCode, createWorkerBlobUrl, revokeWorkerBlobUrl } from './signing-worker.js';
|
|
51
|
-
export { ECC_BUNDLE, ECC_BUNDLE_SIZE } from './ecc-bundle.js';
|
|
52
|
-
export { type NodeWorkerPoolConfig } from './WorkerSigningPool.node.js';
|
|
53
|
-
export { signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, type ParallelSignOptions, type PsbtParallelKeyPair, } from './psbt-parallel.js';
|
|
1
|
+
import { WorkerPoolConfig, SigningPoolLike } from './types.js';
|
|
2
|
+
export * from './index.shared.js';
|
|
54
3
|
/**
|
|
55
4
|
* Detects the runtime environment and returns the appropriate signing pool.
|
|
56
5
|
*
|
|
57
6
|
* @returns 'node' for Node.js, 'browser' for browsers, 'unknown' otherwise
|
|
58
7
|
*/
|
|
59
|
-
export declare function detectRuntime(): 'node' | 'browser' | 'unknown';
|
|
8
|
+
export declare function detectRuntime(): 'node' | 'browser' | 'react-native' | 'unknown';
|
|
60
9
|
/**
|
|
61
10
|
* Creates a signing pool appropriate for the current runtime.
|
|
62
11
|
*
|
|
@@ -78,14 +27,5 @@ export declare function detectRuntime(): 'node' | 'browser' | 'unknown';
|
|
|
78
27
|
* await pool.shutdown();
|
|
79
28
|
* ```
|
|
80
29
|
*/
|
|
81
|
-
export declare function createSigningPool(config?:
|
|
82
|
-
signBatch: (tasks: readonly import('./types.js').SigningTask[], keyPair: import('./types.js').ParallelSignerKeyPair) => Promise<import('./types.js').ParallelSigningResult>;
|
|
83
|
-
preserveWorkers: () => void;
|
|
84
|
-
releaseWorkers: () => void;
|
|
85
|
-
shutdown: () => Promise<void>;
|
|
86
|
-
workerCount: number;
|
|
87
|
-
idleWorkerCount: number;
|
|
88
|
-
busyWorkerCount: number;
|
|
89
|
-
isPreservingWorkers: boolean;
|
|
90
|
-
}>;
|
|
30
|
+
export declare function createSigningPool(config?: WorkerPoolConfig): Promise<SigningPoolLike>;
|
|
91
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,cAAc,mBAAmB,CAAC;AAElC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAW/E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAqB3F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { b6 as g, b7 as b, am as l, aq as c, b8 as S, ar as k, b9 as p, ba as u, az as P, bb as W, bc as E, bd as B, be as C, aQ as d, bf as f, aX as m } from "../chunks/psbt-parallel-BBFlkmiv.js";
|
|
2
|
+
function n() {
|
|
3
|
+
return "browser";
|
|
4
|
+
}
|
|
5
|
+
async function o(e) {
|
|
6
|
+
const { WorkerSigningPool: r } = await import("../chunks/psbt-parallel-BBFlkmiv.js").then((s) => s.bg), a = r.getInstance(e);
|
|
7
|
+
return await a.initialize(), a;
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
g as ECC_BUNDLE,
|
|
11
|
+
b as ECC_BUNDLE_SIZE,
|
|
12
|
+
l as SignatureType,
|
|
13
|
+
c as WorkerSigningPool,
|
|
14
|
+
S as WorkerState,
|
|
15
|
+
k as applySignaturesToPsbt,
|
|
16
|
+
o as createSigningPool,
|
|
17
|
+
p as createWorkerBlobUrl,
|
|
18
|
+
n as detectRuntime,
|
|
19
|
+
u as generateWorkerCode,
|
|
20
|
+
P as getSigningPool,
|
|
21
|
+
W as isBatchResult,
|
|
22
|
+
E as isSigningError,
|
|
23
|
+
B as isSigningResult,
|
|
24
|
+
C as isWorkerReady,
|
|
25
|
+
d as prepareSigningTasks,
|
|
26
|
+
f as revokeWorkerBlobUrl,
|
|
27
|
+
m as signPsbtParallel
|
|
28
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { WorkerPoolConfig, SigningPoolLike } from './types.js';
|
|
2
|
+
export * from './index.shared.js';
|
|
3
|
+
export { NodeWorkerSigningPool, type NodeWorkerPoolConfig } from './WorkerSigningPool.node.js';
|
|
4
|
+
/**
|
|
5
|
+
* Detects the runtime environment.
|
|
6
|
+
*
|
|
7
|
+
* @returns Always 'node' in this entry point.
|
|
8
|
+
*/
|
|
9
|
+
export declare function detectRuntime(): 'node' | 'browser' | 'react-native' | 'unknown';
|
|
10
|
+
/**
|
|
11
|
+
* Creates a signing pool for the Node.js runtime using worker_threads.
|
|
12
|
+
*
|
|
13
|
+
* @param config - Optional pool configuration
|
|
14
|
+
* @returns A promise resolving to the initialized signing pool
|
|
15
|
+
*/
|
|
16
|
+
export declare function createSigningPool(config?: WorkerPoolConfig): Promise<SigningPoolLike>;
|
|
17
|
+
//# sourceMappingURL=index.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../../src/workers/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAE/E;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAK3F"}
|
|
@@ -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,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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Psbt } from '../psbt.js';
|
|
2
|
-
import { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
|
|
3
|
-
import { WorkerSigningPool } from './WorkerSigningPool.js';
|
|
2
|
+
import { ParallelSignerKeyPair, ParallelSigningResult, SigningPoolLike, SigningTask, WorkerPoolConfig } from './types.js';
|
|
4
3
|
/**
|
|
5
4
|
* Options for parallel PSBT signing.
|
|
6
5
|
*/
|
|
@@ -64,7 +63,7 @@ export interface PsbtParallelKeyPair extends ParallelSignerKeyPair {
|
|
|
64
63
|
* const result = await signPsbtParallel(psbt, keyPair, { workerCount: 4 });
|
|
65
64
|
* ```
|
|
66
65
|
*/
|
|
67
|
-
export declare function signPsbtParallel(psbt: Psbt, keyPair: PsbtParallelKeyPair, poolOrConfig?:
|
|
66
|
+
export declare function signPsbtParallel(psbt: Psbt, keyPair: PsbtParallelKeyPair, poolOrConfig?: SigningPoolLike | WorkerPoolConfig, options?: ParallelSignOptions): Promise<ParallelSigningResult>;
|
|
68
67
|
/**
|
|
69
68
|
* Prepares signing tasks from a PSBT.
|
|
70
69
|
*
|
|
@@ -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;
|
|
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"}
|
|
@@ -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 extends Disposable, AsyncDisposable {
|
|
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/build/address.d.ts
CHANGED
|
@@ -40,7 +40,11 @@ export declare function toBase58Check(hash: Bytes20, version: number): string;
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function toBech32(data: Uint8Array, version: number, prefix: string, prefixOpnet?: string): string;
|
|
42
42
|
/**
|
|
43
|
-
* decode address from output script with network, return address if matched
|
|
43
|
+
* decode address from output script with network, return address if matched.
|
|
44
|
+
*
|
|
45
|
+
* Uses fast byte-pattern matching for common script types (P2PKH, P2SH,
|
|
46
|
+
* P2WPKH, P2WSH, P2TR) to avoid constructing payment objects and catching
|
|
47
|
+
* exceptions. Falls back to payment constructors for exotic types.
|
|
44
48
|
*/
|
|
45
49
|
export declare function fromOutputScript(output: Uint8Array, network?: Network): string;
|
|
46
50
|
/**
|
package/build/address.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,OAAO,EACH,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../src/address.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAU7C,OAAO,EACH,KAAK,OAAO,EAMf,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,CAAC;AAEzC,gCAAgC;AAChC,MAAM,WAAW,iBAAiB;IAC9B,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAW,CAAC;AACjD,eAAO,MAAM,sBAAsB,EAAE,MAAU,CAAC;AAChD,eAAO,MAAM,yBAAyB,EAAE,MAAW,CAAC;AACpD,eAAO,MAAM,kBAAkB,EAAE,MAAW,CAAC;AAC7C,eAAO,MAAM,oBAAoB,EAAE,MAAW,CAAC;AAC/C,eAAO,MAAM,yBAAyB,EAAE,MAAU,CAAC;AACnD,eAAO,MAAM,0BAA0B,EAAE,MAAa,CAAC;AAOvD,eAAO,MAAM,sBAAsB,GAAI,QAAQ,UAAU,KAAG,OAkB3D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAoCjF;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAgBnF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAWlE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASpE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACpB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,MAAM,CASR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CA+C9E;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,OAAO,GAAG,qBAAqB,GACnD,UAAU,CAwEZ"}
|
package/build/address.js
CHANGED
|
@@ -143,31 +143,43 @@ export function toBech32(data, version, prefix, prefixOpnet) {
|
|
|
143
143
|
return version === 0 ? bech32.encode(prefix, words) : bech32m.encode(prefix, words);
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
* decode address from output script with network, return address if matched
|
|
146
|
+
* decode address from output script with network, return address if matched.
|
|
147
|
+
*
|
|
148
|
+
* Uses fast byte-pattern matching for common script types (P2PKH, P2SH,
|
|
149
|
+
* P2WPKH, P2WSH, P2TR) to avoid constructing payment objects and catching
|
|
150
|
+
* exceptions. Falls back to payment constructors for exotic types.
|
|
147
151
|
*/
|
|
148
152
|
export function fromOutputScript(output, network) {
|
|
149
|
-
// TODO: Network
|
|
150
153
|
network = network || networks.bitcoin;
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
const len = output.length;
|
|
155
|
+
// P2PKH: OP_DUP(0x76) OP_HASH160(0xa9) 0x14 <20-byte hash> OP_EQUALVERIFY(0x88) OP_CHECKSIG(0xac)
|
|
156
|
+
if (len === 25 &&
|
|
157
|
+
output[0] === 0x76 &&
|
|
158
|
+
output[1] === 0xa9 &&
|
|
159
|
+
output[2] === 0x14 &&
|
|
160
|
+
output[23] === 0x88 &&
|
|
161
|
+
output[24] === 0xac) {
|
|
162
|
+
return toBase58Check(output.subarray(3, 23), network.pubKeyHash);
|
|
153
163
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return
|
|
164
|
+
// P2SH: OP_HASH160(0xa9) 0x14 <20-byte hash> OP_EQUAL(0x87)
|
|
165
|
+
if (len === 23 && output[0] === 0xa9 && output[1] === 0x14 && output[22] === 0x87) {
|
|
166
|
+
return toBase58Check(output.subarray(2, 22), network.scriptHash);
|
|
157
167
|
}
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return
|
|
168
|
+
// P2WPKH: OP_0(0x00) 0x14 <20-byte hash>
|
|
169
|
+
if (len === 22 && output[0] === 0x00 && output[1] === 0x14) {
|
|
170
|
+
return toBech32(output.subarray(2, 22), 0, network.bech32);
|
|
161
171
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
return
|
|
172
|
+
// P2WSH: OP_0(0x00) 0x20 <32-byte hash>
|
|
173
|
+
if (len === 34 && output[0] === 0x00 && output[1] === 0x20) {
|
|
174
|
+
return toBech32(output.subarray(2, 34), 0, network.bech32);
|
|
165
175
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
176
|
+
// P2TR: OP_1(0x51) 0x20 <32-byte x-only pubkey>
|
|
177
|
+
if (len === 34 && output[0] === 0x51 && output[1] === 0x20) {
|
|
178
|
+
const words = bech32m.toWords(output.subarray(2, 34));
|
|
179
|
+
words.unshift(1);
|
|
180
|
+
return bech32m.encode(network.bech32, words);
|
|
169
181
|
}
|
|
170
|
-
|
|
182
|
+
// Fallback for exotic types
|
|
171
183
|
try {
|
|
172
184
|
return toFutureOPNetAddress(output, network);
|
|
173
185
|
}
|