@btc-vision/bitcoin 7.0.0-alpha.0 → 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 +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/chunks/psbt-parallel-BBFlkmiv.js +10717 -0
- package/browser/crypto.d.ts +1 -1
- package/browser/ecc/context.d.ts +25 -24
- 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 +7 -7
- package/browser/index.d.ts.map +1 -1
- package/browser/index.js +2497 -11686
- 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/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/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 +5 -71
- 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 +24 -17
- package/browser/workers/WorkerSigningPool.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.node.d.ts +19 -12
- 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 +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/bech32utils.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 +25 -24
- package/build/ecc/context.d.ts.map +1 -1
- package/build/ecc/context.js +29 -101
- 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 +8 -7
- package/build/index.d.ts.map +1 -1
- package/build/index.js +9 -7
- 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/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.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 +25 -26
- 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 +5 -71
- 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 +26 -40
- package/build/psbt.d.ts.map +1 -1
- package/build/psbt.js +180 -808
- 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 +5 -3
- package/build/types.d.ts.map +1 -1
- package/build/types.js +14 -25
- package/build/types.js.map +1 -1
- package/build/workers/WorkerSigningPool.d.ts +24 -17
- package/build/workers/WorkerSigningPool.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.js +36 -25
- package/build/workers/WorkerSigningPool.js.map +1 -1
- package/build/workers/WorkerSigningPool.node.d.ts +19 -12
- package/build/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.node.js +60 -28
- 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/build/workers/types.js.map +1 -1
- package/package.json +48 -9
- package/src/address.ts +53 -21
- package/src/bech32utils.ts +3 -3
- package/src/block.ts +17 -10
- package/src/branded.ts +15 -13
- package/src/crypto.ts +1 -1
- package/src/ecc/context.ts +36 -136
- package/src/ecc/index.ts +2 -2
- package/src/ecc/types.ts +7 -145
- package/src/env.ts +239 -0
- package/src/index.ts +57 -22
- package/src/io/BinaryReader.ts +18 -18
- package/src/io/BinaryWriter.ts +43 -43
- 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 +5 -7
- package/src/payments/embed.ts +19 -19
- package/src/payments/p2ms.ts +34 -27
- package/src/payments/p2op.ts +22 -22
- package/src/payments/p2pk.ts +22 -22
- package/src/payments/p2pkh.ts +28 -28
- package/src/payments/p2sh.ts +33 -30
- package/src/payments/p2tr.ts +40 -40
- package/src/payments/p2wpkh.ts +30 -30
- package/src/payments/p2wsh.ts +29 -29
- 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 +5 -94
- package/src/psbt/validation.ts +5 -12
- package/src/psbt.ts +376 -1201
- package/src/script.ts +6 -9
- package/src/transaction.ts +19 -15
- package/src/types.ts +33 -45
- package/src/workers/WorkerSigningPool.node.ts +72 -36
- package/src/workers/WorkerSigningPool.sequential.ts +191 -0
- package/src/workers/WorkerSigningPool.ts +48 -39
- 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 +8 -13
- package/src/workers/types.ts +26 -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/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 +39 -0
- 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/crypto.d.ts
CHANGED
package/browser/ecc/context.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CryptoBackend } from '@btc-vision/ecpair';
|
|
2
2
|
/**
|
|
3
3
|
* Context class for managing the ECC library instance.
|
|
4
4
|
* Uses dependency injection pattern instead of global singleton.
|
|
@@ -6,10 +6,11 @@ import { EccLib } from './types.js';
|
|
|
6
6
|
* @example
|
|
7
7
|
* ```typescript
|
|
8
8
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
9
|
-
* import
|
|
9
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
10
10
|
*
|
|
11
11
|
* // Initialize once at app startup
|
|
12
|
-
*
|
|
12
|
+
* const backend = createNobleBackend();
|
|
13
|
+
* EccContext.init(backend);
|
|
13
14
|
*
|
|
14
15
|
* // Get instance anywhere in your code
|
|
15
16
|
* const ecc = EccContext.get();
|
|
@@ -21,23 +22,27 @@ import { EccLib } from './types.js';
|
|
|
21
22
|
export declare class EccContext {
|
|
22
23
|
#private;
|
|
23
24
|
private constructor();
|
|
25
|
+
/**
|
|
26
|
+
* The underlying ECC library instance.
|
|
27
|
+
*/
|
|
28
|
+
get lib(): CryptoBackend;
|
|
24
29
|
/**
|
|
25
30
|
* Initializes the ECC context with the provided library.
|
|
26
31
|
* The library is verified before being set as active.
|
|
27
32
|
*
|
|
28
|
-
* @param lib - The
|
|
33
|
+
* @param lib - The CryptoBackend instance to initialize
|
|
29
34
|
* @returns The initialized EccContext instance
|
|
30
|
-
* @throws Error if the
|
|
35
|
+
* @throws Error if the CryptoBackend fails verification
|
|
31
36
|
*
|
|
32
37
|
* @example
|
|
33
38
|
* ```typescript
|
|
34
39
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
35
|
-
* import
|
|
40
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
36
41
|
*
|
|
37
|
-
* const context = EccContext.init(
|
|
42
|
+
* const context = EccContext.init(createNobleBackend());
|
|
38
43
|
* ```
|
|
39
44
|
*/
|
|
40
|
-
static init(lib:
|
|
45
|
+
static init(lib: CryptoBackend): EccContext;
|
|
41
46
|
/**
|
|
42
47
|
* Gets the initialized ECC context.
|
|
43
48
|
*
|
|
@@ -49,7 +54,7 @@ export declare class EccContext {
|
|
|
49
54
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
50
55
|
*
|
|
51
56
|
* const context = EccContext.get();
|
|
52
|
-
* const
|
|
57
|
+
* const tweaked = context.lib.xOnlyPointAddTweak(key, tweak);
|
|
53
58
|
* ```
|
|
54
59
|
*/
|
|
55
60
|
static get(): EccContext;
|
|
@@ -76,54 +81,50 @@ export declare class EccContext {
|
|
|
76
81
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
77
82
|
*
|
|
78
83
|
* if (!EccContext.isInitialized()) {
|
|
79
|
-
* EccContext.init(
|
|
84
|
+
* EccContext.init(createNobleBackend());
|
|
80
85
|
* }
|
|
81
86
|
* ```
|
|
82
87
|
*/
|
|
83
88
|
static isInitialized(): boolean;
|
|
84
|
-
/**
|
|
85
|
-
* The underlying ECC library instance.
|
|
86
|
-
*/
|
|
87
|
-
get lib(): EccLib;
|
|
88
89
|
}
|
|
89
90
|
/**
|
|
90
91
|
* Initializes the ECC library with the provided instance.
|
|
91
92
|
* This is a convenience function that wraps EccContext.init().
|
|
92
93
|
* Pass `undefined` to clear the library.
|
|
93
94
|
*
|
|
94
|
-
* @param eccLib - The
|
|
95
|
-
* @throws Error if the
|
|
95
|
+
* @param eccLib - The CryptoBackend instance to initialize, or undefined to clear
|
|
96
|
+
* @throws Error if the CryptoBackend fails verification
|
|
96
97
|
*
|
|
97
98
|
* @example
|
|
98
99
|
* ```typescript
|
|
99
100
|
* import { initEccLib } from '@btc-vision/bitcoin';
|
|
100
|
-
* import
|
|
101
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
101
102
|
*
|
|
102
103
|
* // Initialize the ECC library
|
|
103
|
-
* initEccLib(
|
|
104
|
+
* initEccLib(createNobleBackend());
|
|
104
105
|
*
|
|
105
106
|
* // Clear the library
|
|
106
107
|
* initEccLib(undefined);
|
|
107
108
|
* ```
|
|
108
109
|
*/
|
|
109
|
-
export declare function initEccLib(eccLib:
|
|
110
|
+
export declare function initEccLib(eccLib: CryptoBackend | undefined): void;
|
|
110
111
|
/**
|
|
111
112
|
* Retrieves the initialized ECC library instance.
|
|
112
113
|
* This is a convenience function that wraps EccContext.get().lib.
|
|
113
114
|
*
|
|
114
|
-
* @returns The
|
|
115
|
+
* @returns The CryptoBackend instance
|
|
115
116
|
* @throws Error if the ECC library has not been initialized
|
|
116
117
|
*
|
|
117
118
|
* @example
|
|
118
119
|
* ```typescript
|
|
119
120
|
* import { getEccLib, initEccLib } from '@btc-vision/bitcoin';
|
|
120
|
-
* import
|
|
121
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
121
122
|
*
|
|
122
|
-
* initEccLib(
|
|
123
|
+
* initEccLib(createNobleBackend());
|
|
123
124
|
*
|
|
124
125
|
* const ecc = getEccLib();
|
|
125
|
-
* const
|
|
126
|
+
* const tweaked = ecc.xOnlyPointAddTweak(pubkey, tweak);
|
|
126
127
|
* ```
|
|
127
128
|
*/
|
|
128
|
-
export declare function getEccLib():
|
|
129
|
+
export declare function getEccLib(): CryptoBackend;
|
|
129
130
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/ecc/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/ecc/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,UAAU;;IAInB,OAAO;IAIP;;OAEG;IACH,IAAI,GAAG,IAAI,aAAa,CAEvB;IAED;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU;IAU3C;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,GAAG,IAAI,UAAU;IASxB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,aAAa,IAAI,OAAO;CAGlC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAMlE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAEzC"}
|
package/browser/ecc/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
|
-
export type { EccLib, XOnlyPointAddTweakResult, Parity } from './types.js';
|
|
9
|
+
export type { CryptoBackend, EccLib, XOnlyPointAddTweakResult, Parity } from './types.js';
|
|
10
10
|
export { EccContext, initEccLib, getEccLib } from './context.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ecc/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ecc/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG1F,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
package/browser/ecc/types.d.ts
CHANGED
|
@@ -1,128 +1,15 @@
|
|
|
1
|
-
import { Bytes32, PrivateKey, PublicKey, Signature, SchnorrSignature, XOnlyPublicKey } from '../branded.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
4
|
-
* - 0: even y-coordinate
|
|
5
|
-
* - 1: odd y-coordinate
|
|
6
|
-
*/
|
|
7
|
-
export type Parity = 0 | 1;
|
|
8
|
-
/**
|
|
9
|
-
* Result of x-only point addition with tweak.
|
|
10
|
-
*/
|
|
11
|
-
export interface XOnlyPointAddTweakResult {
|
|
12
|
-
/** Parity of the resulting y-coordinate (0 = even, 1 = odd) */
|
|
13
|
-
readonly parity: Parity;
|
|
14
|
-
/** The resulting x-only public key */
|
|
15
|
-
readonly xOnlyPubkey: XOnlyPublicKey;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Interface for the ECC library used by this library.
|
|
19
|
-
* This is compatible with tiny-secp256k1 and @noble/secp256k1.
|
|
2
|
+
* ECC (Elliptic Curve Cryptography) type definitions.
|
|
20
3
|
*
|
|
21
|
-
* @
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* import * as secp256k1 from 'tiny-secp256k1';
|
|
4
|
+
* Re-exports {@link CryptoBackend} from `@btc-vision/ecpair` as the canonical
|
|
5
|
+
* interface for secp256k1 operations. The legacy `EccLib` name is kept as a
|
|
6
|
+
* type alias for backward compatibility.
|
|
25
7
|
*
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
export type { CryptoBackend, XOnlyPointAddTweakResult, Parity } from '@btc-vision/ecpair';
|
|
11
|
+
/**
|
|
12
|
+
* @deprecated Use {@link CryptoBackend} from `@btc-vision/ecpair` instead.
|
|
30
13
|
*/
|
|
31
|
-
export
|
|
32
|
-
/**
|
|
33
|
-
* Checks if a 32-byte value is a valid x-only public key.
|
|
34
|
-
*
|
|
35
|
-
* @param p - 32-byte x-coordinate
|
|
36
|
-
* @returns True if the point is valid on the secp256k1 curve
|
|
37
|
-
*/
|
|
38
|
-
isXOnlyPoint(p: Uint8Array): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Adds a tweak to an x-only public key.
|
|
41
|
-
*
|
|
42
|
-
* @param p - 32-byte x-only public key
|
|
43
|
-
* @param tweak - 32-byte scalar to add
|
|
44
|
-
* @returns The tweaked public key with parity, or null if result is invalid
|
|
45
|
-
*/
|
|
46
|
-
xOnlyPointAddTweak(p: XOnlyPublicKey, tweak: Bytes32): XOnlyPointAddTweakResult | null;
|
|
47
|
-
/**
|
|
48
|
-
* Signs a 32-byte message hash with a private key (ECDSA).
|
|
49
|
-
* Optional - only needed for signing operations.
|
|
50
|
-
*
|
|
51
|
-
* @param hash - 32-byte message hash
|
|
52
|
-
* @param privateKey - 32-byte private key
|
|
53
|
-
* @returns DER-encoded signature
|
|
54
|
-
*/
|
|
55
|
-
sign?(hash: Bytes32, privateKey: PrivateKey): Signature;
|
|
56
|
-
/**
|
|
57
|
-
* Signs a 32-byte message hash with a private key (Schnorr/BIP340).
|
|
58
|
-
* Optional - only needed for Taproot key-path signing.
|
|
59
|
-
*
|
|
60
|
-
* @param hash - 32-byte message hash
|
|
61
|
-
* @param privateKey - 32-byte private key
|
|
62
|
-
* @returns 64-byte Schnorr signature
|
|
63
|
-
*/
|
|
64
|
-
signSchnorr?(hash: Bytes32, privateKey: PrivateKey): SchnorrSignature;
|
|
65
|
-
/**
|
|
66
|
-
* Verifies an ECDSA signature.
|
|
67
|
-
* Optional - only needed for signature verification.
|
|
68
|
-
*
|
|
69
|
-
* @param hash - 32-byte message hash
|
|
70
|
-
* @param publicKey - 33 or 65-byte public key
|
|
71
|
-
* @param signature - DER-encoded signature
|
|
72
|
-
* @returns True if signature is valid
|
|
73
|
-
*/
|
|
74
|
-
verify?(hash: Bytes32, publicKey: PublicKey, signature: Signature): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Verifies a Schnorr/BIP340 signature.
|
|
77
|
-
* Optional - only needed for Taproot signature verification.
|
|
78
|
-
*
|
|
79
|
-
* @param hash - 32-byte message hash
|
|
80
|
-
* @param publicKey - 32-byte x-only public key
|
|
81
|
-
* @param signature - 64-byte Schnorr signature
|
|
82
|
-
* @returns True if signature is valid
|
|
83
|
-
*/
|
|
84
|
-
verifySchnorr?(hash: Bytes32, publicKey: XOnlyPublicKey, signature: SchnorrSignature): boolean;
|
|
85
|
-
/**
|
|
86
|
-
* Derives a public key from a private key.
|
|
87
|
-
* Optional - only needed for key derivation.
|
|
88
|
-
*
|
|
89
|
-
* @param privateKey - 32-byte private key
|
|
90
|
-
* @param compressed - Whether to return compressed (33-byte) or uncompressed (65-byte)
|
|
91
|
-
* @returns The public key, or null if private key is invalid
|
|
92
|
-
*/
|
|
93
|
-
pointFromScalar?(privateKey: PrivateKey, compressed?: boolean): PublicKey | null;
|
|
94
|
-
/**
|
|
95
|
-
* Computes the x-only public key from a private key.
|
|
96
|
-
* Optional - only needed for Taproot key derivation.
|
|
97
|
-
*
|
|
98
|
-
* @param privateKey - 32-byte private key
|
|
99
|
-
* @returns 32-byte x-only public key, or null if private key is invalid
|
|
100
|
-
*/
|
|
101
|
-
xOnlyPointFromScalar?(privateKey: PrivateKey): XOnlyPublicKey | null;
|
|
102
|
-
/**
|
|
103
|
-
* Converts a full public key to x-only format.
|
|
104
|
-
* Optional - only needed when working with x-only keys.
|
|
105
|
-
*
|
|
106
|
-
* @param pubkey - 33 or 65-byte public key
|
|
107
|
-
* @returns 32-byte x-only public key
|
|
108
|
-
*/
|
|
109
|
-
xOnlyPointFromPoint?(pubkey: PublicKey): XOnlyPublicKey;
|
|
110
|
-
/**
|
|
111
|
-
* Adds a scalar to a private key.
|
|
112
|
-
* Optional - only needed for key tweaking.
|
|
113
|
-
*
|
|
114
|
-
* @param privateKey - 32-byte private key
|
|
115
|
-
* @param tweak - 32-byte scalar to add
|
|
116
|
-
* @returns The tweaked private key, or null if result is invalid
|
|
117
|
-
*/
|
|
118
|
-
privateAdd?(privateKey: PrivateKey, tweak: Bytes32): PrivateKey | null;
|
|
119
|
-
/**
|
|
120
|
-
* Negates a private key.
|
|
121
|
-
* Optional - only needed for Taproot parity handling.
|
|
122
|
-
*
|
|
123
|
-
* @param privateKey - 32-byte private key
|
|
124
|
-
* @returns The negated private key
|
|
125
|
-
*/
|
|
126
|
-
privateNegate?(privateKey: PrivateKey): PrivateKey;
|
|
127
|
-
}
|
|
14
|
+
export type { CryptoBackend as EccLib } from '@btc-vision/ecpair';
|
|
128
15
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ecc/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ecc/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE1F;;GAEG;AACH,YAAY,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC"}
|
package/browser/env.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime capability verification and polyfills.
|
|
3
|
+
*
|
|
4
|
+
* Polyfills features that can be shimmed (TextEncoder, Map, Promise.allSettled, Symbol.dispose).
|
|
5
|
+
* Throws early with a clear error for features that cannot be polyfilled (BigInt, Uint8Array,
|
|
6
|
+
* structuredClone, DataView BigInt methods).
|
|
7
|
+
*
|
|
8
|
+
* Imported as a side effect by the main entry point.
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|
package/browser/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PsbtInput as _PsbtInput, PsbtInputUpdate as _PsbtInputUpdate, PsbtOutput as _PsbtOutput, TapBip32Derivation as _TapBip32Derivation, TapInternalKey as _TapInternalKey, TapKeySig as _TapKeySig, TapLeaf as _TapLeaf, TapLeafScript as _TapLeafScript, TapMerkleRoot as _TapMerkleRoot, TapScriptSig as _TapScriptSig, TapTree as _TapTree } from 'bip174';
|
|
2
|
-
import { BitcoinError,
|
|
2
|
+
import { AddressError, BitcoinError, EccError, InvalidInputError, InvalidOutputError, PsbtError, ScriptError, SignatureError, ValidationError } from './errors.js';
|
|
3
3
|
import * as networks from './networks.js';
|
|
4
4
|
import * as address from './address.js';
|
|
5
5
|
import * as payments from './payments/index.js';
|
|
@@ -14,7 +14,8 @@ export * as script from './script.js';
|
|
|
14
14
|
export { Block } from './block.js';
|
|
15
15
|
/** @hidden */
|
|
16
16
|
export * from './crypto.js';
|
|
17
|
-
export
|
|
17
|
+
export { Psbt, PsbtCache, PsbtSigner, PsbtFinalizer, PsbtTransaction, transactionFromBuffer, getFinalScripts, prepareFinalScripts, } from './psbt.js';
|
|
18
|
+
export type { TransactionInput, PsbtTxInput, TransactionOutput, PsbtTxOutput, ValidateSigFunction, PsbtBaseExtended, PsbtOptsOptional, PsbtOpts, PsbtInputExtended, PsbtOutputExtended, PsbtOutputExtendedScript, HDSigner, HDSignerAsync, Signer, SignerAsync, TaprootHashCheckSigner, PsbtCacheInterface, TxCacheNumberKey, ScriptType, AllScriptType, GetScriptReturn, FinalScriptsFunc, FinalTaprootScriptsFunc, } from './psbt.js';
|
|
18
19
|
/** @hidden */
|
|
19
20
|
export { opcodes } from './opcodes.js';
|
|
20
21
|
export { Transaction } from './transaction.js';
|
|
@@ -23,7 +24,7 @@ export type { TaprootHashCache } from './transaction.js';
|
|
|
23
24
|
export type { Network } from './networks.js';
|
|
24
25
|
/** @hidden */
|
|
25
26
|
export { initEccLib, getEccLib, EccContext } from './ecc/context.js';
|
|
26
|
-
export type { EccLib } from './ecc/types.js';
|
|
27
|
+
export type { CryptoBackend, EccLib } from './ecc/types.js';
|
|
27
28
|
export { PaymentType } from './payments/index.js';
|
|
28
29
|
export type { Payment, PaymentCreator, PaymentOpts, P2WSHPayment, P2PKPayment, BasePayment, P2SHPayment, P2TRPayment, P2WPKHPayment, P2PKHPayment, P2MSPayment, EmbedPayment, P2OPPayment, P2OPPaymentParams, } from './payments/index.js';
|
|
29
30
|
export type { Stack, StackElement, StackFunction } from './types.js';
|
|
@@ -52,7 +53,7 @@ export interface PsbtInputUpdate extends _PsbtInputUpdate {
|
|
|
52
53
|
}
|
|
53
54
|
export * from './psbt/bip371.js';
|
|
54
55
|
export * from './address.js';
|
|
55
|
-
export { toHex, fromHex, isHex, concat, equals, compare, isZero, clone, reverse, reverseCopy, alloc, xor, fromUtf8, toUtf8,
|
|
56
|
+
export { toHex, fromHex, isHex, concat, equals, compare, isZero, clone, reverse, reverseCopy, alloc, xor, fromUtf8, toUtf8, varuint, } from './io/index.js';
|
|
56
57
|
export * from './payments/bip341.js';
|
|
57
58
|
export * from './psbt/psbtutils.js';
|
|
58
59
|
export { toXOnly, decompressPublicKey, pubkeysMatch, type UncompressedPublicKey, } from './pubkey.js';
|
|
@@ -74,9 +75,8 @@ export declare const errors: {
|
|
|
74
75
|
readonly AddressError: typeof AddressError;
|
|
75
76
|
readonly SignatureError: typeof SignatureError;
|
|
76
77
|
};
|
|
77
|
-
export
|
|
78
|
-
export {
|
|
79
|
-
export type { WorkerPoolConfig, SigningTask, ParallelSignerKeyPair, ParallelSigningResult, ParallelSignOptions, PsbtParallelKeyPair, } from './workers/index.js';
|
|
78
|
+
export { WorkerSigningPool, getSigningPool, SignatureType, signPsbtParallel, prepareSigningTasks, applySignaturesToPsbt, } from './workers/index.shared.js';
|
|
79
|
+
export type { WorkerPoolConfig, SigningTask, SigningPoolLike, ParallelSignerKeyPair, ParallelSigningResult, ParallelSignOptions, PsbtParallelKeyPair, } from './workers/index.shared.js';
|
|
80
80
|
declare const bitcoin: {
|
|
81
81
|
networks: typeof networks;
|
|
82
82
|
address: typeof address;
|
package/browser/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,SAAS,IAAI,UAAU,EACvB,eAAe,IAAI,gBAAgB,EACnC,UAAU,IAAI,WAAW,EACzB,kBAAkB,IAAI,mBAAmB,EACzC,cAAc,IAAI,eAAe,EACjC,SAAS,IAAI,UAAU,EACvB,OAAO,IAAI,QAAQ,EACnB,aAAa,IAAI,cAAc,EAC/B,aAAa,IAAI,cAAc,EAC/B,YAAY,IAAI,aAAa,EAC7B,OAAO,IAAI,QAAQ,EACtB,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,cAAc;AACd,cAAc,aAAa,CAAC;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|