@btc-vision/bitcoin 7.0.0-alpha.0 → 7.0.0-alpha.2
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/browser/address.d.ts +6 -2
- package/browser/address.d.ts.map +1 -1
- package/browser/block.d.ts.map +1 -1
- package/browser/branded.d.ts +3 -14
- package/browser/branded.d.ts.map +1 -1
- package/browser/crypto.d.ts +1 -1
- package/browser/ecc/context.d.ts +4 -4
- package/browser/ecc/context.d.ts.map +1 -1
- package/browser/ecc/types.d.ts +1 -1
- package/browser/ecc/types.d.ts.map +1 -1
- package/browser/index.d.ts +3 -2
- package/browser/index.d.ts.map +1 -1
- package/browser/index.js +3579 -3539
- package/browser/io/BinaryReader.d.ts +15 -15
- package/browser/io/BinaryReader.d.ts.map +1 -1
- package/browser/io/BinaryWriter.d.ts +17 -17
- package/browser/io/BinaryWriter.d.ts.map +1 -1
- package/browser/io/MemoryPool.d.ts +20 -20
- package/browser/io/MemoryPool.d.ts.map +1 -1
- package/browser/opcodes.d.ts +11 -0
- package/browser/opcodes.d.ts.map +1 -1
- package/browser/payments/bip341.d.ts +1 -1
- package/browser/payments/bip341.d.ts.map +1 -1
- package/browser/payments/embed.d.ts +1 -1
- package/browser/payments/embed.d.ts.map +1 -1
- package/browser/payments/p2ms.d.ts.map +1 -1
- package/browser/payments/p2op.d.ts +1 -1
- package/browser/payments/p2op.d.ts.map +1 -1
- package/browser/payments/p2pk.d.ts +1 -1
- package/browser/payments/p2pk.d.ts.map +1 -1
- package/browser/payments/p2pkh.d.ts +1 -1
- package/browser/payments/p2pkh.d.ts.map +1 -1
- package/browser/payments/p2sh.d.ts.map +1 -1
- package/browser/payments/p2tr.d.ts +2 -2
- package/browser/payments/p2tr.d.ts.map +1 -1
- package/browser/payments/p2wpkh.d.ts +1 -1
- package/browser/payments/p2wpkh.d.ts.map +1 -1
- package/browser/payments/p2wsh.d.ts.map +1 -1
- package/browser/payments/types.d.ts +1 -1
- package/browser/payments/types.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/bip371.d.ts.map +1 -1
- package/browser/psbt/types.d.ts +14 -14
- 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 +27 -39
- 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 +4 -2
- package/browser/types.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.d.ts +17 -17
- package/browser/workers/WorkerSigningPool.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.node.d.ts +12 -12
- package/browser/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/browser/workers/index.d.ts +3 -50
- package/browser/workers/index.d.ts.map +1 -1
- package/browser/workers/index.node.d.ts +24 -0
- package/browser/workers/index.node.d.ts.map +1 -0
- package/browser/workers/psbt-parallel.d.ts +1 -1
- package/browser/workers/psbt-parallel.d.ts.map +1 -1
- package/browser/workers/types.d.ts.map +1 -1
- package/build/address.d.ts +6 -2
- package/build/address.d.ts.map +1 -1
- package/build/address.js +32 -19
- package/build/address.js.map +1 -1
- package/build/block.d.ts.map +1 -1
- package/build/block.js +2 -4
- 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/crypto.d.ts +1 -1
- package/build/ecc/context.d.ts +4 -4
- package/build/ecc/context.d.ts.map +1 -1
- package/build/ecc/context.js +75 -52
- package/build/ecc/context.js.map +1 -1
- package/build/ecc/types.d.ts +1 -1
- package/build/ecc/types.d.ts.map +1 -1
- package/build/index.d.ts +3 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -3
- package/build/index.js.map +1 -1
- package/build/io/BinaryReader.d.ts +15 -15
- package/build/io/BinaryReader.d.ts.map +1 -1
- package/build/io/BinaryReader.js +17 -17
- package/build/io/BinaryReader.js.map +1 -1
- package/build/io/BinaryWriter.d.ts +17 -17
- package/build/io/BinaryWriter.d.ts.map +1 -1
- package/build/io/BinaryWriter.js +39 -39
- package/build/io/BinaryWriter.js.map +1 -1
- package/build/io/MemoryPool.d.ts +20 -20
- package/build/io/MemoryPool.d.ts.map +1 -1
- package/build/io/MemoryPool.js +28 -28
- package/build/io/MemoryPool.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.d.ts +1 -2
- package/build/payments/bip341.d.ts.map +1 -1
- package/build/payments/bip341.js +1 -2
- package/build/payments/bip341.js.map +1 -1
- package/build/payments/embed.d.ts +1 -1
- package/build/payments/embed.d.ts.map +1 -1
- package/build/payments/embed.js +14 -14
- package/build/payments/embed.js.map +1 -1
- package/build/payments/p2ms.d.ts.map +1 -1
- package/build/payments/p2ms.js +21 -21
- package/build/payments/p2ms.js.map +1 -1
- package/build/payments/p2op.d.ts +1 -1
- package/build/payments/p2op.d.ts.map +1 -1
- package/build/payments/p2op.js +18 -18
- package/build/payments/p2op.js.map +1 -1
- package/build/payments/p2pk.d.ts +1 -1
- package/build/payments/p2pk.d.ts.map +1 -1
- package/build/payments/p2pk.js +17 -17
- package/build/payments/p2pk.js.map +1 -1
- package/build/payments/p2pkh.d.ts +1 -1
- package/build/payments/p2pkh.d.ts.map +1 -1
- package/build/payments/p2pkh.js +20 -20
- package/build/payments/p2pkh.js.map +1 -1
- package/build/payments/p2sh.d.ts.map +1 -1
- package/build/payments/p2sh.js +22 -20
- package/build/payments/p2sh.js.map +1 -1
- package/build/payments/p2tr.d.ts +2 -2
- package/build/payments/p2tr.d.ts.map +1 -1
- package/build/payments/p2tr.js +23 -23
- package/build/payments/p2tr.js.map +1 -1
- package/build/payments/p2wpkh.d.ts +1 -1
- package/build/payments/p2wpkh.d.ts.map +1 -1
- package/build/payments/p2wpkh.js +20 -20
- package/build/payments/p2wpkh.js.map +1 -1
- package/build/payments/p2wsh.d.ts.map +1 -1
- package/build/payments/p2wsh.js +22 -22
- package/build/payments/p2wsh.js.map +1 -1
- package/build/payments/types.d.ts +1 -1
- package/build/payments/types.d.ts.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/bip371.d.ts.map +1 -1
- package/build/psbt/bip371.js +6 -2
- package/build/psbt/bip371.js.map +1 -1
- package/build/psbt/psbtutils.js +1 -1
- package/build/psbt/psbtutils.js.map +1 -1
- package/build/psbt/types.d.ts +14 -14
- 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/validation.js +1 -1
- package/build/psbt/validation.js.map +1 -1
- package/build/psbt.d.ts +27 -39
- package/build/psbt.d.ts.map +1 -1
- package/build/psbt.js +142 -755
- package/build/psbt.js.map +1 -1
- package/build/script.d.ts.map +1 -1
- package/build/script.js +4 -4
- 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 +6 -5
- package/build/transaction.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/types.d.ts +4 -2
- package/build/types.d.ts.map +1 -1
- package/build/types.js +12 -9
- package/build/types.js.map +1 -1
- package/build/workers/WorkerSigningPool.d.ts +17 -17
- package/build/workers/WorkerSigningPool.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.js +25 -25
- package/build/workers/WorkerSigningPool.js.map +1 -1
- package/build/workers/WorkerSigningPool.node.d.ts +12 -12
- package/build/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.node.js +23 -23
- package/build/workers/WorkerSigningPool.node.js.map +1 -1
- package/build/workers/index.d.ts +3 -3
- package/build/workers/index.d.ts.map +1 -1
- package/build/workers/index.js +0 -3
- package/build/workers/index.js.map +1 -1
- package/build/workers/index.node.d.ts +24 -0
- package/build/workers/index.node.d.ts.map +1 -0
- package/build/workers/index.node.js +26 -0
- package/build/workers/index.node.js.map +1 -0
- package/build/workers/psbt-parallel.d.ts +1 -1
- package/build/workers/psbt-parallel.d.ts.map +1 -1
- package/build/workers/psbt-parallel.js.map +1 -1
- package/build/workers/types.d.ts.map +1 -1
- package/build/workers/types.js.map +1 -1
- package/package.json +30 -10
- package/src/address.ts +53 -21
- package/src/block.ts +15 -8
- package/src/branded.ts +15 -13
- package/src/crypto.ts +1 -1
- package/src/ecc/context.ts +85 -64
- package/src/ecc/types.ts +1 -8
- package/src/index.ts +48 -14
- package/src/io/BinaryReader.ts +18 -18
- package/src/io/BinaryWriter.ts +43 -43
- package/src/io/MemoryPool.ts +32 -32
- package/src/opcodes.ts +21 -4
- package/src/payments/bip341.ts +2 -4
- package/src/payments/embed.ts +18 -18
- package/src/payments/p2ms.ts +32 -25
- package/src/payments/p2op.ts +22 -22
- package/src/payments/p2pk.ts +20 -20
- package/src/payments/p2pkh.ts +25 -25
- package/src/payments/p2sh.ts +30 -27
- package/src/payments/p2tr.ts +31 -31
- package/src/payments/p2wpkh.ts +25 -25
- package/src/payments/p2wsh.ts +27 -27
- package/src/payments/types.ts +1 -1
- 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/bip371.ts +7 -3
- package/src/psbt/psbtutils.ts +1 -1
- package/src/psbt/types.ts +14 -21
- package/src/psbt/validation.ts +5 -12
- package/src/psbt.ts +363 -1130
- package/src/script.ts +6 -9
- package/src/transaction.ts +18 -14
- package/src/types.ts +28 -17
- package/src/workers/WorkerSigningPool.node.ts +31 -31
- package/src/workers/WorkerSigningPool.ts +35 -39
- package/src/workers/index.node.ts +27 -0
- package/src/workers/index.ts +7 -9
- package/src/workers/psbt-parallel.ts +2 -7
- package/src/workers/types.ts +5 -1
- 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/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 +22 -23
- package/test/workers-signing.spec.ts +7 -3
- package/test/workers.spec.ts +6 -7
- package/typedoc.json +39 -0
- package/vitest.config.browser.ts +68 -0
- package/browser/ecpair.d.ts +0 -99
- package/src/ecpair.d.ts +0 -99
- package/test/taproot-cache.spec.ts +0 -694
package/browser/psbt/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Psbt as PsbtBase, PsbtGlobal, PsbtInput, PsbtOutput } from 'bip174';
|
|
2
2
|
import { Network } from '../networks.js';
|
|
3
|
-
import {
|
|
4
|
-
import { Bytes32, PublicKey, Satoshi, Script, Signature
|
|
3
|
+
import { TaprootHashCache, Transaction } from '../transaction.js';
|
|
4
|
+
import { Bytes32, MessageHash, PublicKey, Satoshi, SchnorrSignature, Script, Signature } from '../types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Transaction input interface for PSBT.
|
|
7
7
|
*/
|
|
@@ -33,7 +33,7 @@ export interface PsbtTxOutput extends TransactionOutput {
|
|
|
33
33
|
* Signature validation function type.
|
|
34
34
|
* msghash is 32 byte hash of preimage, signature is 64 byte compact signature (r,s 32 bytes each)
|
|
35
35
|
*/
|
|
36
|
-
export type ValidateSigFunction = (pubkey: PublicKey, msghash:
|
|
36
|
+
export type ValidateSigFunction = (pubkey: PublicKey, msghash: MessageHash, signature: Uint8Array) => boolean;
|
|
37
37
|
/**
|
|
38
38
|
* Extended PsbtBase interface with typed inputs and globalMap.
|
|
39
39
|
*/
|
|
@@ -106,14 +106,14 @@ export interface HDSigner extends HDSignerBase {
|
|
|
106
106
|
* Input hash (the "message digest") for the signature algorithm
|
|
107
107
|
* Return a 64 byte signature (32 byte r and 32 byte s in that order)
|
|
108
108
|
*/
|
|
109
|
-
sign(hash:
|
|
109
|
+
sign(hash: MessageHash): Uint8Array;
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* HD signer interface for asynchronous signing.
|
|
113
113
|
*/
|
|
114
114
|
export interface HDSignerAsync extends HDSignerBase {
|
|
115
115
|
derivePath(path: string): HDSignerAsync;
|
|
116
|
-
sign(hash:
|
|
116
|
+
sign(hash: MessageHash): Promise<Uint8Array>;
|
|
117
117
|
}
|
|
118
118
|
/**
|
|
119
119
|
* Alternative signer interface with lowR support.
|
|
@@ -121,10 +121,10 @@ export interface HDSignerAsync extends HDSignerBase {
|
|
|
121
121
|
export interface SignerAlternative {
|
|
122
122
|
readonly publicKey: PublicKey;
|
|
123
123
|
readonly lowR: boolean;
|
|
124
|
-
sign(hash:
|
|
125
|
-
verify(hash:
|
|
126
|
-
signSchnorr(hash:
|
|
127
|
-
verifySchnorr(hash:
|
|
124
|
+
sign(hash: MessageHash, lowR?: boolean): Signature;
|
|
125
|
+
verify(hash: MessageHash, signature: Signature): boolean;
|
|
126
|
+
signSchnorr(hash: MessageHash): SchnorrSignature;
|
|
127
|
+
verifySchnorr(hash: MessageHash, signature: SchnorrSignature): boolean;
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
130
|
* Basic signer interface for synchronous signing.
|
|
@@ -132,8 +132,8 @@ export interface SignerAlternative {
|
|
|
132
132
|
export interface Signer {
|
|
133
133
|
readonly publicKey: PublicKey;
|
|
134
134
|
readonly network?: Network | undefined;
|
|
135
|
-
sign(hash:
|
|
136
|
-
signSchnorr?(hash:
|
|
135
|
+
sign(hash: MessageHash, lowR?: boolean): Signature;
|
|
136
|
+
signSchnorr?(hash: MessageHash): SchnorrSignature;
|
|
137
137
|
getPublicKey?(): PublicKey;
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
@@ -142,8 +142,8 @@ export interface Signer {
|
|
|
142
142
|
export interface SignerAsync {
|
|
143
143
|
readonly publicKey: PublicKey;
|
|
144
144
|
readonly network?: Network | undefined;
|
|
145
|
-
sign(hash:
|
|
146
|
-
signSchnorr?(hash:
|
|
145
|
+
sign(hash: MessageHash, lowR?: boolean): Promise<Signature>;
|
|
146
|
+
signSchnorr?(hash: MessageHash): Promise<SchnorrSignature>;
|
|
147
147
|
getPublicKey?(): PublicKey;
|
|
148
148
|
}
|
|
149
149
|
/**
|
|
@@ -158,7 +158,7 @@ export interface TaprootHashCheckSigner {
|
|
|
158
158
|
/**
|
|
159
159
|
* Internal PSBT cache for computed values.
|
|
160
160
|
*/
|
|
161
|
-
export interface
|
|
161
|
+
export interface PsbtCacheInterface {
|
|
162
162
|
nonWitnessUtxoTxCache: Transaction[];
|
|
163
163
|
nonWitnessUtxoBufCache: Uint8Array[];
|
|
164
164
|
txInCache: TxInCacheMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/psbt/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/psbt/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PsbtInput } from 'bip174';
|
|
2
2
|
import { Payment, PaymentOpts } from '../payments/index.js';
|
|
3
3
|
import { Transaction } from '../transaction.js';
|
|
4
|
-
import { PsbtCache } from './types.js';
|
|
4
|
+
import { PsbtCacheInterface as PsbtCache } from './types.js';
|
|
5
5
|
import { PublicKey, Script } from '../types.js';
|
|
6
6
|
/**
|
|
7
7
|
* Validates that a number is a valid 32-bit unsigned integer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/psbt/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/psbt/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAe,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAK9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,IAAI,SAAS,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAIjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAWlD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C,IAAI,CAKN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAIzE;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACpC,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,OAAO,GAC7B,IAAI,CAaN;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAS/D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAI5F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,EAClE,iBAAiB,EAAE,MAAM,GAC1B,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,QAAQ,KAAK,IAAI,CAiB/F;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAtBrB,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,UAAU,OAAO,GAAG,QAAQ,KAAK,IAsBP,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QA3BtB,MAAM,gBAAgB,MAAM,gBAAgB,MAAM,UAAU,OAAO,GAAG,QAAQ,KAAK,IA2BJ,CAAC"}
|
package/browser/psbt.d.ts
CHANGED
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
import { KeyValue,
|
|
1
|
+
import { KeyValue, PsbtGlobalUpdate, PsbtInput, PsbtInputUpdate, PsbtOutputUpdate } from 'bip174';
|
|
2
2
|
import { BIP32Interface } from '@btc-vision/bip32';
|
|
3
|
-
import { ECPairInterface } from 'ecpair';
|
|
4
3
|
import { Transaction } from './transaction.js';
|
|
5
|
-
import { Bytes32, PublicKey, Script } from './types.js';
|
|
6
|
-
import {
|
|
7
|
-
|
|
4
|
+
import { Bytes32, MessageHash, PublicKey, Script } from './types.js';
|
|
5
|
+
import { AllScriptType, FinalScriptsFunc, FinalTaprootScriptsFunc, HDSigner, HDSignerAsync, PsbtBaseExtended, PsbtInputExtended, PsbtOptsOptional, PsbtOutputExtended, PsbtTxInput, PsbtTxOutput, Signer, SignerAlternative, SignerAsync, TaprootHashCheckSigner, ValidateSigFunction } from './psbt/types.js';
|
|
6
|
+
import { UniversalSigner } from '@btc-vision/ecpair';
|
|
7
|
+
export type { TransactionInput, PsbtTxInput, TransactionOutput, PsbtTxOutput, ValidateSigFunction, PsbtBaseExtended, PsbtOptsOptional, PsbtOpts, PsbtInputExtended, PsbtOutputExtended, PsbtOutputExtendedScript, HDSigner, HDSignerAsync, SignerAlternative, Signer, SignerAsync, TaprootHashCheckSigner, PsbtCacheInterface, TxCacheNumberKey, ScriptType, AllScriptType, GetScriptReturn, FinalScriptsFunc, FinalTaprootScriptsFunc, } from './psbt/types.js';
|
|
8
|
+
export { getFinalScripts, prepareFinalScripts };
|
|
9
|
+
export { PsbtCache } from './psbt/PsbtCache.js';
|
|
10
|
+
export { PsbtSigner } from './psbt/PsbtSigner.js';
|
|
11
|
+
export { PsbtFinalizer } from './psbt/PsbtFinalizer.js';
|
|
12
|
+
export { PsbtTransaction, transactionFromBuffer } from './psbt/PsbtTransaction.js';
|
|
13
|
+
declare function getFinalScripts(inputIndex: number, input: PsbtInput, script: Script, isSegwit: boolean, isP2SH: boolean, isP2WSH: boolean, canRunChecks?: boolean, solution?: Uint8Array[]): {
|
|
14
|
+
finalScriptSig: Script | undefined;
|
|
15
|
+
finalScriptWitness: Uint8Array | undefined;
|
|
16
|
+
};
|
|
17
|
+
declare function prepareFinalScripts(script: Uint8Array, scriptType: string, partialSig: import('bip174').PartialSig[], isSegwit: boolean, isP2SH: boolean, isP2WSH: boolean, solution?: Uint8Array[]): {
|
|
18
|
+
finalScriptSig: Script | undefined;
|
|
19
|
+
finalScriptWitness: Uint8Array | undefined;
|
|
20
|
+
};
|
|
8
21
|
/**
|
|
9
22
|
* Psbt class can parse and generate a PSBT binary based off of the BIP174.
|
|
10
23
|
* There are 6 roles that this class fulfills. (Explained in BIP174)
|
|
@@ -42,17 +55,10 @@ export type { TransactionInput, PsbtTxInput, TransactionOutput, PsbtTxOutput, Va
|
|
|
42
55
|
* Transaction Extractor: This role will perform some checks before returning a
|
|
43
56
|
* Transaction object. Such as fee rate not being larger than maximumFeeRate etc.
|
|
44
57
|
*/
|
|
45
|
-
/**
|
|
46
|
-
* Psbt class can parse and generate a PSBT binary based off of the BIP174.
|
|
47
|
-
*/
|
|
48
58
|
export declare class Psbt {
|
|
49
59
|
#private;
|
|
50
60
|
data: PsbtBaseExtended;
|
|
51
61
|
constructor(opts?: PsbtOptsOptional, data?: PsbtBaseExtended);
|
|
52
|
-
/** @internal - Exposed for testing. Do not use in production code. */
|
|
53
|
-
get __CACHE(): PsbtCache;
|
|
54
|
-
/** @internal - Exposed for testing. Do not use in production code. */
|
|
55
|
-
get opts(): PsbtOpts;
|
|
56
62
|
get inputCount(): number;
|
|
57
63
|
get version(): number;
|
|
58
64
|
set version(version: number);
|
|
@@ -65,6 +71,7 @@ export declare class Psbt {
|
|
|
65
71
|
static fromBuffer(buffer: Uint8Array, opts?: PsbtOptsOptional): Psbt;
|
|
66
72
|
combine(...those: Psbt[]): this;
|
|
67
73
|
clone(): Psbt;
|
|
74
|
+
get maximumFeeRate(): number;
|
|
68
75
|
setMaximumFeeRate(satoshiPerByte: number): void;
|
|
69
76
|
setVersion(version: number): this;
|
|
70
77
|
setVersionTRUC(): this;
|
|
@@ -73,17 +80,6 @@ export declare class Psbt {
|
|
|
73
80
|
addInputs(inputDatas: PsbtInputExtended[], checkPartialSigs?: boolean): this;
|
|
74
81
|
addInput(inputData: PsbtInputExtended, checkPartialSigs?: boolean): this;
|
|
75
82
|
addOutputs(outputDatas: PsbtOutputExtended[], checkPartialSigs?: boolean): this;
|
|
76
|
-
/**
|
|
77
|
-
* Add an output to the PSBT.
|
|
78
|
-
*
|
|
79
|
-
* **PERFORMANCE WARNING:** Passing an `address` string is ~10x slower than passing
|
|
80
|
-
* a `script` directly due to address parsing overhead (bech32 decode, etc.).
|
|
81
|
-
* For high-performance use cases with many outputs, pre-compute the script using
|
|
82
|
-
* `toOutputScript(address, network)` and pass `{ script, value }` instead.
|
|
83
|
-
*
|
|
84
|
-
* @param outputData - Output data with either `address` or `script`, and `value`
|
|
85
|
-
* @param checkPartialSigs - Whether to check for existing signatures (default: true)
|
|
86
|
-
*/
|
|
87
83
|
addOutput(outputData: PsbtOutputExtended, checkPartialSigs?: boolean): this;
|
|
88
84
|
extractTransaction(disableFeeCheck?: boolean, disableOutputChecks?: boolean): Transaction;
|
|
89
85
|
getFeeRate(disableOutputChecks?: boolean): number;
|
|
@@ -102,12 +98,12 @@ export declare class Psbt {
|
|
|
102
98
|
signAllInputsHDAsync(hdKeyPair: HDSigner | HDSignerAsync, sighashTypes?: number[]): Promise<void>;
|
|
103
99
|
signInputHD(inputIndex: number, hdKeyPair: HDSigner, sighashTypes?: number[]): this;
|
|
104
100
|
signInputHDAsync(inputIndex: number, hdKeyPair: HDSigner | HDSignerAsync, sighashTypes?: number[]): Promise<void>;
|
|
105
|
-
signAllInputs(keyPair: Signer | SignerAlternative | BIP32Interface |
|
|
106
|
-
signAllInputsAsync(keyPair: Signer | SignerAlternative | SignerAsync | BIP32Interface |
|
|
107
|
-
signInput(inputIndex: number, keyPair: Signer | SignerAlternative | HDSigner | BIP32Interface |
|
|
108
|
-
signTaprootInput(inputIndex: number, keyPair: Signer | SignerAlternative | HDSigner | BIP32Interface |
|
|
109
|
-
signInputAsync(inputIndex: number, keyPair: Signer | SignerAlternative | SignerAsync | HDSigner | HDSignerAsync | BIP32Interface |
|
|
110
|
-
signTaprootInputAsync(inputIndex: number, keyPair: Signer | SignerAlternative | SignerAsync | HDSigner | HDSignerAsync | BIP32Interface |
|
|
101
|
+
signAllInputs(keyPair: Signer | SignerAlternative | BIP32Interface | UniversalSigner, sighashTypes?: number[]): this;
|
|
102
|
+
signAllInputsAsync(keyPair: Signer | SignerAlternative | SignerAsync | BIP32Interface | UniversalSigner, sighashTypes?: number[]): Promise<void>;
|
|
103
|
+
signInput(inputIndex: number, keyPair: Signer | SignerAlternative | HDSigner | BIP32Interface | UniversalSigner, sighashTypes?: number[]): this;
|
|
104
|
+
signTaprootInput(inputIndex: number, keyPair: Signer | SignerAlternative | HDSigner | BIP32Interface | UniversalSigner, tapLeafHashToSign?: Uint8Array, sighashTypes?: number[]): this;
|
|
105
|
+
signInputAsync(inputIndex: number, keyPair: Signer | SignerAlternative | SignerAsync | HDSigner | HDSignerAsync | BIP32Interface | UniversalSigner, sighashTypes?: number[]): Promise<void>;
|
|
106
|
+
signTaprootInputAsync(inputIndex: number, keyPair: Signer | SignerAlternative | SignerAsync | HDSigner | HDSignerAsync | BIP32Interface | UniversalSigner, tapLeafHash?: Uint8Array, sighashTypes?: number[]): Promise<void>;
|
|
111
107
|
toBuffer(): Uint8Array;
|
|
112
108
|
toHex(): string;
|
|
113
109
|
toBase64(): string;
|
|
@@ -118,17 +114,9 @@ export declare class Psbt {
|
|
|
118
114
|
addUnknownKeyValToInput(inputIndex: number, keyVal: KeyValue): this;
|
|
119
115
|
addUnknownKeyValToOutput(outputIndex: number, keyVal: KeyValue): this;
|
|
120
116
|
clearFinalizedInput(inputIndex: number): this;
|
|
121
|
-
checkTaprootHashesForSig(inputIndex: number, input: PsbtInput, keyPair: Signer | SignerAlternative | SignerAsync | HDSigner | HDSignerAsync | TaprootHashCheckSigner | BIP32Interface |
|
|
122
|
-
hash:
|
|
117
|
+
checkTaprootHashesForSig(inputIndex: number, input: PsbtInput, keyPair: Signer | SignerAlternative | SignerAsync | HDSigner | HDSignerAsync | TaprootHashCheckSigner | BIP32Interface | UniversalSigner, tapLeafHashToSign?: Uint8Array, allowedSighashTypes?: number[]): {
|
|
118
|
+
hash: MessageHash;
|
|
123
119
|
leafHash?: Bytes32;
|
|
124
120
|
}[];
|
|
125
121
|
}
|
|
126
|
-
export declare function getFinalScripts(inputIndex: number, input: PsbtInput, script: Script, isSegwit: boolean, isP2SH: boolean, isP2WSH: boolean, canRunChecks?: boolean, solution?: Uint8Array[]): {
|
|
127
|
-
finalScriptSig: Script | undefined;
|
|
128
|
-
finalScriptWitness: Uint8Array | undefined;
|
|
129
|
-
};
|
|
130
|
-
export declare function prepareFinalScripts(script: Uint8Array, scriptType: string, partialSig: PartialSig[], isSegwit: boolean, isP2SH: boolean, isP2WSH: boolean, solution?: Uint8Array[]): {
|
|
131
|
-
finalScriptSig: Script | undefined;
|
|
132
|
-
finalScriptWitness: Uint8Array | undefined;
|
|
133
|
-
};
|
|
134
122
|
//# sourceMappingURL=psbt.d.ts.map
|
package/browser/psbt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"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"}
|
package/browser/script.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAOA,OAAO,
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,OAAO,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIhD,OAAO,EAAE,OAAO,EAAE,CAAC;AAgBnB,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAEhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAExD;AAsBD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAkD1D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,IAAI,CA6CvF;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,MAAM,CAwBxD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB3C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,EAAE,CAYhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAE7D;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAKtE;AAED,eAAO,MAAM,MAAM,qBAAe,CAAC;AACnC,eAAO,MAAM,SAAS,wBAAkB,CAAC"}
|
package/browser/transaction.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bytes32, Satoshi, Script } from './types.js';
|
|
1
|
+
import { Bytes32, MessageHash, Satoshi, Script } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Cache for Taproot sighash intermediate values.
|
|
4
4
|
* These are identical for all inputs with SIGHASH_ALL, so compute once and reuse.
|
|
@@ -116,7 +116,7 @@ export declare class Transaction {
|
|
|
116
116
|
* @param hashType - Signature hash type
|
|
117
117
|
* @returns 32-byte hash for signing
|
|
118
118
|
*/
|
|
119
|
-
hashForSignature(inIndex: number, prevOutScript: Script, hashType: number):
|
|
119
|
+
hashForSignature(inIndex: number, prevOutScript: Script, hashType: number): MessageHash;
|
|
120
120
|
/**
|
|
121
121
|
* Hash transaction for signing a Taproot (witness v1) input.
|
|
122
122
|
*
|
|
@@ -128,7 +128,7 @@ export declare class Transaction {
|
|
|
128
128
|
* @param annex - Optional annex data
|
|
129
129
|
* @returns 32-byte hash for signing
|
|
130
130
|
*/
|
|
131
|
-
hashForWitnessV1(inIndex: number, prevOutScripts: readonly Script[], values: readonly Satoshi[], hashType: number, leafHash?: Bytes32, annex?: Uint8Array, taprootCache?: TaprootHashCache):
|
|
131
|
+
hashForWitnessV1(inIndex: number, prevOutScripts: readonly Script[], values: readonly Satoshi[], hashType: number, leafHash?: Bytes32, annex?: Uint8Array, taprootCache?: TaprootHashCache): MessageHash;
|
|
132
132
|
/**
|
|
133
133
|
* Pre-compute intermediate hashes for Taproot signing.
|
|
134
134
|
* Call this once before signing multiple inputs to avoid O(n^2) performance.
|
|
@@ -147,7 +147,7 @@ export declare class Transaction {
|
|
|
147
147
|
* @param hashType - Signature hash type
|
|
148
148
|
* @returns 32-byte hash for signing
|
|
149
149
|
*/
|
|
150
|
-
hashForWitnessV0(inIndex: number, prevOutScript: Script, value: Satoshi, hashType: number):
|
|
150
|
+
hashForWitnessV0(inIndex: number, prevOutScript: Script, value: Satoshi, hashType: number): MessageHash;
|
|
151
151
|
/**
|
|
152
152
|
* Get the transaction hash.
|
|
153
153
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
|
package/browser/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export type { Bytes32, Bytes20, PublicKey, XOnlyPublicKey, Satoshi, PrivateKey, Signature, SchnorrSignature, Script, } from './branded.js';
|
|
1
|
+
import { Bytes20, Bytes32, MessageHash, PrivateKey, PublicKey, Satoshi, SchnorrSignature, Script, Signature, XOnlyPublicKey } from './branded.js';
|
|
2
|
+
export type { Bytes32, Bytes20, PublicKey, XOnlyPublicKey, Satoshi, PrivateKey, Signature, SchnorrSignature, MessageHash, Script, } from './branded.js';
|
|
3
3
|
export declare const SATOSHI_MAX: bigint;
|
|
4
4
|
export declare const TAPLEAF_VERSION_MASK = 254;
|
|
5
5
|
export declare function isUInt8(value: unknown): value is number;
|
|
@@ -33,6 +33,8 @@ export type Stack = readonly StackElement[];
|
|
|
33
33
|
export type StackFunction = () => Stack;
|
|
34
34
|
export declare function stacksEqual(a: Uint8Array[], b: Uint8Array[]): boolean;
|
|
35
35
|
export declare function toBytes32(value: Uint8Array): Bytes32;
|
|
36
|
+
export declare function isMessageHash(value: unknown): value is MessageHash;
|
|
37
|
+
export declare function toMessageHash(value: Uint8Array): MessageHash;
|
|
36
38
|
export declare function toBytes20(value: Uint8Array): Bytes20;
|
|
37
39
|
export declare function toSatoshi(value: bigint): Satoshi;
|
|
38
40
|
export declare function assertXOnlyPublicKey(value: unknown, name: string): asserts value is XOnlyPublicKey;
|
package/browser/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Worker-based parallel signing pool.
|
|
4
4
|
*
|
|
@@ -27,22 +27,6 @@ export declare class WorkerSigningPool {
|
|
|
27
27
|
* @param config - Pool configuration
|
|
28
28
|
*/
|
|
29
29
|
private constructor();
|
|
30
|
-
/**
|
|
31
|
-
* Gets the singleton pool instance.
|
|
32
|
-
*
|
|
33
|
-
* @param config - Optional configuration (only used on first call)
|
|
34
|
-
* @returns The singleton pool instance
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* const pool = WorkerSigningPool.getInstance({ workerCount: 8 });
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
static getInstance(config?: WorkerPoolConfig): WorkerSigningPool;
|
|
42
|
-
/**
|
|
43
|
-
* Resets the singleton instance (for testing).
|
|
44
|
-
*/
|
|
45
|
-
static resetInstance(): void;
|
|
46
30
|
/**
|
|
47
31
|
* Number of workers in the pool.
|
|
48
32
|
*/
|
|
@@ -59,6 +43,22 @@ export declare class WorkerSigningPool {
|
|
|
59
43
|
* Whether workers are being preserved between batches.
|
|
60
44
|
*/
|
|
61
45
|
get isPreservingWorkers(): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Gets the singleton pool instance.
|
|
48
|
+
*
|
|
49
|
+
* @param config - Optional configuration (only used on first call)
|
|
50
|
+
* @returns The singleton pool instance
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const pool = WorkerSigningPool.getInstance({ workerCount: 8 });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
static getInstance(config?: WorkerPoolConfig): WorkerSigningPool;
|
|
58
|
+
/**
|
|
59
|
+
* Resets the singleton instance (for testing).
|
|
60
|
+
*/
|
|
61
|
+
static resetInstance(): void;
|
|
62
62
|
/**
|
|
63
63
|
* Enables worker preservation between signing batches.
|
|
64
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerSigningPool.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,
|
|
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;CAiQzC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,iBAAiB,CAE3E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* ECC library types for Node.js worker.
|
|
4
4
|
*/
|
|
@@ -51,17 +51,6 @@ export declare class NodeWorkerSigningPool {
|
|
|
51
51
|
* @param config - Pool configuration
|
|
52
52
|
*/
|
|
53
53
|
private constructor();
|
|
54
|
-
/**
|
|
55
|
-
* Gets the singleton pool instance.
|
|
56
|
-
*
|
|
57
|
-
* @param config - Optional configuration (only used on first call)
|
|
58
|
-
* @returns The singleton pool instance
|
|
59
|
-
*/
|
|
60
|
-
static getInstance(config?: NodeWorkerPoolConfig): NodeWorkerSigningPool;
|
|
61
|
-
/**
|
|
62
|
-
* Resets the singleton instance (for testing).
|
|
63
|
-
*/
|
|
64
|
-
static resetInstance(): void;
|
|
65
54
|
/**
|
|
66
55
|
* Number of workers in the pool.
|
|
67
56
|
*/
|
|
@@ -78,6 +67,17 @@ export declare class NodeWorkerSigningPool {
|
|
|
78
67
|
* Whether workers are being preserved between batches.
|
|
79
68
|
*/
|
|
80
69
|
get isPreservingWorkers(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the singleton pool instance.
|
|
72
|
+
*
|
|
73
|
+
* @param config - Optional configuration (only used on first call)
|
|
74
|
+
* @returns The singleton pool instance
|
|
75
|
+
*/
|
|
76
|
+
static getInstance(config?: NodeWorkerPoolConfig): NodeWorkerSigningPool;
|
|
77
|
+
/**
|
|
78
|
+
* Resets the singleton instance (for testing).
|
|
79
|
+
*/
|
|
80
|
+
static resetInstance(): void;
|
|
81
81
|
/**
|
|
82
82
|
* Enables worker preservation between signing batches.
|
|
83
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerSigningPool.node.d.ts","sourceRoot":"","sources":["../../src/workers/WorkerSigningPool.node.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,
|
|
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;CAugBzC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,qBAAqB,CAEvF"}
|
|
@@ -1,55 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
* Worker-based parallel signing module.
|
|
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
|
-
*/
|
|
1
|
+
import { WorkerPoolConfig, SigningTask, ParallelSignerKeyPair, ParallelSigningResult } from './types.js';
|
|
48
2
|
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
3
|
export { WorkerSigningPool, getSigningPool } from './WorkerSigningPool.js';
|
|
50
4
|
export { generateWorkerCode, createWorkerBlobUrl, revokeWorkerBlobUrl } from './signing-worker.js';
|
|
51
5
|
export { ECC_BUNDLE, ECC_BUNDLE_SIZE } from './ecc-bundle.js';
|
|
52
|
-
export { type NodeWorkerPoolConfig } from './WorkerSigningPool.node.js';
|
|
53
6
|
export { signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, type ParallelSignOptions, type PsbtParallelKeyPair, } from './psbt-parallel.js';
|
|
54
7
|
/**
|
|
55
8
|
* Detects the runtime environment and returns the appropriate signing pool.
|
|
@@ -78,8 +31,8 @@ export declare function detectRuntime(): 'node' | 'browser' | 'unknown';
|
|
|
78
31
|
* await pool.shutdown();
|
|
79
32
|
* ```
|
|
80
33
|
*/
|
|
81
|
-
export declare function createSigningPool(config?:
|
|
82
|
-
signBatch: (tasks: readonly
|
|
34
|
+
export declare function createSigningPool(config?: WorkerPoolConfig): Promise<{
|
|
35
|
+
signBatch: (tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair) => Promise<ParallelSigningResult>;
|
|
83
36
|
preserveWorkers: () => void;
|
|
84
37
|
releaseWorkers: () => void;
|
|
85
38
|
shutdown: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAG9G,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,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;AAE5B;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,GAAG,SAAS,GAAG,SAAS,CAQ9D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACxE,SAAS,EAAE,CACP,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,OAAO,EAAE,qBAAqB,KAC7B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC,CAgBD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js worker pool entry point.
|
|
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.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { NodeWorkerSigningPool } from '@btc-vision/bitcoin/workers';
|
|
10
|
+
*
|
|
11
|
+
* const pool = NodeWorkerSigningPool.getInstance({ workerCount: 4 });
|
|
12
|
+
* await pool.initialize();
|
|
13
|
+
* pool.preserveWorkers();
|
|
14
|
+
*
|
|
15
|
+
* const result = await pool.signBatch(tasks, keyPair);
|
|
16
|
+
*
|
|
17
|
+
* await pool.shutdown();
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
export * from './index.js';
|
|
23
|
+
export { NodeWorkerSigningPool, type NodeWorkerPoolConfig } from './WorkerSigningPool.node.js';
|
|
24
|
+
//# 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;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Psbt } from '../psbt.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ParallelSignerKeyPair, ParallelSigningResult, SigningTask, WorkerPoolConfig } from './types.js';
|
|
3
3
|
import { WorkerSigningPool } from './WorkerSigningPool.js';
|
|
4
4
|
/**
|
|
5
5
|
* Options for parallel PSBT signing.
|
|
@@ -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,
|
|
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"}
|