@btc-vision/bitcoin 7.0.0-alpha.2 → 7.0.0-alpha.4
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/chunks/WorkerSigningPool.sequential-DHha7j0b.js +113 -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 +3 -3
- package/browser/index.d.ts.map +1 -1
- package/browser/index.js +5790 -4295
- package/browser/io/index.d.ts +0 -1
- package/browser/io/index.d.ts.map +1 -1
- package/browser/payments/p2tr.d.ts.map +1 -1
- package/browser/psbt/types.d.ts +2 -68
- package/browser/psbt/types.d.ts.map +1 -1
- package/browser/psbt.d.ts +9 -11
- package/browser/psbt.d.ts.map +1 -1
- package/browser/types.d.ts +1 -1
- package/browser/types.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.d.ts +6 -0
- package/browser/workers/WorkerSigningPool.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.node.d.ts +6 -0
- package/browser/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/browser/workers/WorkerSigningPool.sequential.d.ts +69 -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.d.ts +2 -2
- package/browser/workers/index.d.ts.map +1 -1
- package/browser/workers/index.react-native.d.ts +28 -0
- package/browser/workers/index.react-native.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 +12 -0
- package/browser/workers/types.d.ts.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 +19 -114
- 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 +4 -3
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -1
- package/build/index.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/payments/p2tr.d.ts.map +1 -1
- package/build/payments/p2tr.js +2 -3
- package/build/payments/p2tr.js.map +1 -1
- package/build/psbt/types.d.ts +2 -68
- package/build/psbt/types.d.ts.map +1 -1
- package/build/psbt.d.ts +9 -11
- package/build/psbt.d.ts.map +1 -1
- package/build/psbt.js +38 -53
- package/build/psbt.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/types.d.ts +1 -1
- package/build/types.d.ts.map +1 -1
- package/build/types.js +2 -16
- package/build/types.js.map +1 -1
- package/build/workers/WorkerSigningPool.d.ts +6 -0
- package/build/workers/WorkerSigningPool.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.js +8 -0
- package/build/workers/WorkerSigningPool.js.map +1 -1
- package/build/workers/WorkerSigningPool.node.d.ts +6 -0
- package/build/workers/WorkerSigningPool.node.d.ts.map +1 -1
- package/build/workers/WorkerSigningPool.node.js +9 -2
- package/build/workers/WorkerSigningPool.node.js.map +1 -1
- package/build/workers/WorkerSigningPool.sequential.d.ts +78 -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 +388 -0
- package/build/workers/WorkerSigningPool.worklet.js.map +1 -0
- package/build/workers/index.d.ts +2 -2
- package/build/workers/index.d.ts.map +1 -1
- package/build/workers/index.js +9 -0
- package/build/workers/index.js.map +1 -1
- 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/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 +12 -0
- package/build/workers/types.d.ts.map +1 -1
- package/package.json +14 -4
- package/src/ecc/context.ts +26 -147
- package/src/ecc/index.ts +2 -2
- package/src/ecc/types.ts +7 -138
- package/src/env.ts +237 -0
- package/src/index.ts +2 -4
- package/src/io/index.ts +0 -3
- package/src/payments/p2tr.ts +2 -2
- package/src/psbt/types.ts +2 -84
- package/src/psbt.ts +63 -121
- package/src/types.ts +5 -28
- package/src/workers/WorkerSigningPool.node.ts +10 -2
- package/src/workers/WorkerSigningPool.sequential.ts +190 -0
- package/src/workers/WorkerSigningPool.ts +9 -0
- package/src/workers/WorkerSigningPool.worklet.ts +519 -0
- package/src/workers/index.react-native.ts +110 -0
- package/src/workers/index.ts +10 -1
- package/src/workers/psbt-parallel.ts +8 -8
- package/src/workers/types.ts +16 -0
- package/test/env.spec.ts +418 -0
- package/test/workers-pool.spec.ts +43 -0
- package/test/workers-sequential.spec.ts +669 -0
- package/test/workers-worklet.spec.ts +500 -0
- 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/io/MemoryPool.ts +0 -343
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psbt-parallel.js","sourceRoot":"","sources":["../../src/workers/psbt-parallel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"psbt-parallel.js","sourceRoot":"","sources":["../../src/workers/psbt-parallel.ts"],"names":[],"mappings":"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"}
|
package/build/workers/types.d.ts
CHANGED
|
@@ -347,6 +347,18 @@ export declare const WorkerState: {
|
|
|
347
347
|
readonly Terminated: 4;
|
|
348
348
|
};
|
|
349
349
|
export type WorkerState = (typeof WorkerState)[keyof typeof WorkerState];
|
|
350
|
+
/**
|
|
351
|
+
* Minimum contract for any signing pool implementation.
|
|
352
|
+
*
|
|
353
|
+
* Implemented by WorkerSigningPool (browser), NodeWorkerSigningPool (Node.js),
|
|
354
|
+
* and SequentialSigningPool (React Native / fallback).
|
|
355
|
+
*/
|
|
356
|
+
export interface SigningPoolLike {
|
|
357
|
+
signBatch(tasks: readonly SigningTask[], keyPair: ParallelSignerKeyPair): Promise<ParallelSigningResult>;
|
|
358
|
+
initialize(): Promise<void>;
|
|
359
|
+
shutdown(): Promise<void>;
|
|
360
|
+
readonly isPreservingWorkers: boolean;
|
|
361
|
+
}
|
|
350
362
|
/**
|
|
351
363
|
* Internal worker wrapper for pool management.
|
|
352
364
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workers/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workers/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@btc-vision/bitcoin",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.0.0-alpha.
|
|
4
|
+
"version": "7.0.0-alpha.4",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"description": "Client-side Bitcoin JavaScript library",
|
|
7
7
|
"engines": {
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
},
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
|
+
"react-native": {
|
|
13
|
+
"types": "./build/index.d.ts",
|
|
14
|
+
"import": "./build/index.js",
|
|
15
|
+
"default": "./build/index.js"
|
|
16
|
+
},
|
|
12
17
|
"browser": {
|
|
13
18
|
"types": "./browser/index.d.ts",
|
|
14
19
|
"import": "./browser/index.js",
|
|
@@ -29,6 +34,11 @@
|
|
|
29
34
|
"default": "./browser/index.js"
|
|
30
35
|
},
|
|
31
36
|
"./workers": {
|
|
37
|
+
"react-native": {
|
|
38
|
+
"types": "./build/workers/index.react-native.d.ts",
|
|
39
|
+
"import": "./build/workers/index.react-native.js",
|
|
40
|
+
"default": "./build/workers/index.react-native.js"
|
|
41
|
+
},
|
|
32
42
|
"browser": {
|
|
33
43
|
"types": "./browser/workers/index.d.ts",
|
|
34
44
|
"import": "./browser/workers/index.js",
|
|
@@ -192,8 +202,8 @@
|
|
|
192
202
|
"vitest": "^4.0.18"
|
|
193
203
|
},
|
|
194
204
|
"dependencies": {
|
|
195
|
-
"@btc-vision/bip32": "^7.0.
|
|
196
|
-
"@btc-vision/ecpair": "^4.0.
|
|
205
|
+
"@btc-vision/bip32": "^7.0.2",
|
|
206
|
+
"@btc-vision/ecpair": "^4.0.2",
|
|
197
207
|
"@btc-vision/logger": "^1.0.8",
|
|
198
208
|
"@noble/hashes": "^2.0.1",
|
|
199
209
|
"@noble/secp256k1": "^3.0.0",
|
|
@@ -206,4 +216,4 @@
|
|
|
206
216
|
"process": "^0.11.10",
|
|
207
217
|
"varuint-bitcoin": "^2.0.0"
|
|
208
218
|
}
|
|
209
|
-
}
|
|
219
|
+
}
|
package/src/ecc/context.ts
CHANGED
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @packageDocumentation
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
8
|
-
import {
|
|
9
|
-
import type { Bytes32, XOnlyPublicKey } from '../types.js';
|
|
7
|
+
import type { CryptoBackend } from '@btc-vision/ecpair';
|
|
8
|
+
import { verifyCryptoBackend } from '@btc-vision/ecpair';
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* Context class for managing the ECC library instance.
|
|
@@ -15,10 +14,11 @@ import type { Bytes32, XOnlyPublicKey } from '../types.js';
|
|
|
15
14
|
* @example
|
|
16
15
|
* ```typescript
|
|
17
16
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
18
|
-
* import
|
|
17
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
19
18
|
*
|
|
20
19
|
* // Initialize once at app startup
|
|
21
|
-
*
|
|
20
|
+
* const backend = createNobleBackend();
|
|
21
|
+
* EccContext.init(backend);
|
|
22
22
|
*
|
|
23
23
|
* // Get instance anywhere in your code
|
|
24
24
|
* const ecc = EccContext.get();
|
|
@@ -29,16 +29,16 @@ import type { Bytes32, XOnlyPublicKey } from '../types.js';
|
|
|
29
29
|
*/
|
|
30
30
|
export class EccContext {
|
|
31
31
|
static #instance: EccContext | undefined;
|
|
32
|
-
readonly #lib:
|
|
32
|
+
readonly #lib: CryptoBackend;
|
|
33
33
|
|
|
34
|
-
private constructor(lib:
|
|
34
|
+
private constructor(lib: CryptoBackend) {
|
|
35
35
|
this.#lib = lib;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
39
|
* The underlying ECC library instance.
|
|
40
40
|
*/
|
|
41
|
-
get lib():
|
|
41
|
+
get lib(): CryptoBackend {
|
|
42
42
|
return this.#lib;
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -46,24 +46,24 @@ export class EccContext {
|
|
|
46
46
|
* Initializes the ECC context with the provided library.
|
|
47
47
|
* The library is verified before being set as active.
|
|
48
48
|
*
|
|
49
|
-
* @param lib - The
|
|
49
|
+
* @param lib - The CryptoBackend instance to initialize
|
|
50
50
|
* @returns The initialized EccContext instance
|
|
51
|
-
* @throws Error if the
|
|
51
|
+
* @throws Error if the CryptoBackend fails verification
|
|
52
52
|
*
|
|
53
53
|
* @example
|
|
54
54
|
* ```typescript
|
|
55
55
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
56
|
-
* import
|
|
56
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
57
57
|
*
|
|
58
|
-
* const context = EccContext.init(
|
|
58
|
+
* const context = EccContext.init(createNobleBackend());
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
61
|
-
static init(lib:
|
|
61
|
+
static init(lib: CryptoBackend): EccContext {
|
|
62
62
|
// Skip re-verification if same lib is already initialized
|
|
63
63
|
if (EccContext.#instance && EccContext.#instance.#lib === lib) {
|
|
64
64
|
return EccContext.#instance;
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
verifyCryptoBackend(lib);
|
|
67
67
|
EccContext.#instance = new EccContext(lib);
|
|
68
68
|
return EccContext.#instance;
|
|
69
69
|
}
|
|
@@ -79,7 +79,7 @@ export class EccContext {
|
|
|
79
79
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
80
80
|
*
|
|
81
81
|
* const context = EccContext.get();
|
|
82
|
-
* const
|
|
82
|
+
* const tweaked = context.lib.xOnlyPointAddTweak(key, tweak);
|
|
83
83
|
* ```
|
|
84
84
|
*/
|
|
85
85
|
static get(): EccContext {
|
|
@@ -117,7 +117,7 @@ export class EccContext {
|
|
|
117
117
|
* import { EccContext } from '@btc-vision/bitcoin';
|
|
118
118
|
*
|
|
119
119
|
* if (!EccContext.isInitialized()) {
|
|
120
|
-
* EccContext.init(
|
|
120
|
+
* EccContext.init(createNobleBackend());
|
|
121
121
|
* }
|
|
122
122
|
* ```
|
|
123
123
|
*/
|
|
@@ -131,22 +131,22 @@ export class EccContext {
|
|
|
131
131
|
* This is a convenience function that wraps EccContext.init().
|
|
132
132
|
* Pass `undefined` to clear the library.
|
|
133
133
|
*
|
|
134
|
-
* @param eccLib - The
|
|
135
|
-
* @throws Error if the
|
|
134
|
+
* @param eccLib - The CryptoBackend instance to initialize, or undefined to clear
|
|
135
|
+
* @throws Error if the CryptoBackend fails verification
|
|
136
136
|
*
|
|
137
137
|
* @example
|
|
138
138
|
* ```typescript
|
|
139
139
|
* import { initEccLib } from '@btc-vision/bitcoin';
|
|
140
|
-
* import
|
|
140
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
141
141
|
*
|
|
142
142
|
* // Initialize the ECC library
|
|
143
|
-
* initEccLib(
|
|
143
|
+
* initEccLib(createNobleBackend());
|
|
144
144
|
*
|
|
145
145
|
* // Clear the library
|
|
146
146
|
* initEccLib(undefined);
|
|
147
147
|
* ```
|
|
148
148
|
*/
|
|
149
|
-
export function initEccLib(eccLib:
|
|
149
|
+
export function initEccLib(eccLib: CryptoBackend | undefined): void {
|
|
150
150
|
if (eccLib === undefined) {
|
|
151
151
|
EccContext.clear();
|
|
152
152
|
return;
|
|
@@ -158,141 +158,20 @@ export function initEccLib(eccLib: EccLib | undefined): void {
|
|
|
158
158
|
* Retrieves the initialized ECC library instance.
|
|
159
159
|
* This is a convenience function that wraps EccContext.get().lib.
|
|
160
160
|
*
|
|
161
|
-
* @returns The
|
|
161
|
+
* @returns The CryptoBackend instance
|
|
162
162
|
* @throws Error if the ECC library has not been initialized
|
|
163
163
|
*
|
|
164
164
|
* @example
|
|
165
165
|
* ```typescript
|
|
166
166
|
* import { getEccLib, initEccLib } from '@btc-vision/bitcoin';
|
|
167
|
-
* import
|
|
167
|
+
* import { createNobleBackend } from '@btc-vision/ecpair';
|
|
168
168
|
*
|
|
169
|
-
* initEccLib(
|
|
169
|
+
* initEccLib(createNobleBackend());
|
|
170
170
|
*
|
|
171
171
|
* const ecc = getEccLib();
|
|
172
|
-
* const
|
|
172
|
+
* const tweaked = ecc.xOnlyPointAddTweak(pubkey, tweak);
|
|
173
173
|
* ```
|
|
174
174
|
*/
|
|
175
|
-
export function getEccLib():
|
|
175
|
+
export function getEccLib(): CryptoBackend {
|
|
176
176
|
return EccContext.get().lib;
|
|
177
177
|
}
|
|
178
|
-
|
|
179
|
-
// ============================================================================
|
|
180
|
-
// Verification
|
|
181
|
-
// ============================================================================
|
|
182
|
-
|
|
183
|
-
interface TweakAddVector {
|
|
184
|
-
pubkey: Uint8Array;
|
|
185
|
-
tweak: Uint8Array;
|
|
186
|
-
parity: 0 | 1 | -1;
|
|
187
|
-
result: Uint8Array | null;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// Lazily decoded test vectors (decoded once on first verification)
|
|
191
|
-
let _tweakVectors: TweakAddVector[] | undefined;
|
|
192
|
-
let _validPoints: Uint8Array[] | undefined;
|
|
193
|
-
let _invalidPoints: Uint8Array[] | undefined;
|
|
194
|
-
|
|
195
|
-
function getTweakVectors(): TweakAddVector[] {
|
|
196
|
-
if (!_tweakVectors) {
|
|
197
|
-
_tweakVectors = [
|
|
198
|
-
{
|
|
199
|
-
pubkey: fromHex('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),
|
|
200
|
-
tweak: fromHex('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140'),
|
|
201
|
-
parity: -1,
|
|
202
|
-
result: null,
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
pubkey: fromHex('1617d38ed8d8657da4d4761e8057bc396ea9e4b9d29776d4be096016dbd2509b'),
|
|
206
|
-
tweak: fromHex('a8397a935f0dfceba6ba9618f6451ef4d80637abf4e6af2669fbc9de6a8fd2ac'),
|
|
207
|
-
parity: 1,
|
|
208
|
-
result: fromHex('e478f99dab91052ab39a33ea35fd5e6e4933f4d28023cd597c9a1f6760346adf'),
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
pubkey: fromHex('2c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e668680991'),
|
|
212
|
-
tweak: fromHex('823c3cd2142744b075a87eade7e1b8678ba308d566226a0056ca2b7a76f86b47'),
|
|
213
|
-
parity: 0,
|
|
214
|
-
result: fromHex('9534f8dc8c6deda2dc007655981c78b49c5d96c778fbf363462a11ec9dfd948c'),
|
|
215
|
-
},
|
|
216
|
-
];
|
|
217
|
-
}
|
|
218
|
-
return _tweakVectors;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
function getValidPoints(): Uint8Array[] {
|
|
222
|
-
if (!_validPoints) {
|
|
223
|
-
_validPoints = [
|
|
224
|
-
fromHex('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798'),
|
|
225
|
-
fromHex('fffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffc2e'),
|
|
226
|
-
fromHex('f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9'),
|
|
227
|
-
fromHex('0000000000000000000000000000000000000000000000000000000000000001'),
|
|
228
|
-
];
|
|
229
|
-
}
|
|
230
|
-
return _validPoints;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
function getInvalidPoints(): Uint8Array[] {
|
|
234
|
-
if (!_invalidPoints) {
|
|
235
|
-
_invalidPoints = [
|
|
236
|
-
fromHex('0000000000000000000000000000000000000000000000000000000000000000'),
|
|
237
|
-
fromHex('fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f'),
|
|
238
|
-
];
|
|
239
|
-
}
|
|
240
|
-
return _invalidPoints;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Verifies that the ECC library implementation is correct.
|
|
245
|
-
* Tests `isXOnlyPoint` and `xOnlyPointAddTweak` with known test vectors.
|
|
246
|
-
*
|
|
247
|
-
* @param ecc - The ECC library to verify
|
|
248
|
-
* @throws Error if any verification test fails
|
|
249
|
-
*/
|
|
250
|
-
function verifyEcc(ecc: EccLib): void {
|
|
251
|
-
if (typeof ecc.isXOnlyPoint !== 'function') {
|
|
252
|
-
throw new Error('ECC library missing isXOnlyPoint function');
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
// Test isXOnlyPoint with valid points (pre-decoded)
|
|
256
|
-
for (const point of getValidPoints()) {
|
|
257
|
-
if (!ecc.isXOnlyPoint(point)) {
|
|
258
|
-
throw new Error('ECC library isXOnlyPoint failed for a valid point');
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// Test isXOnlyPoint with invalid points (pre-decoded)
|
|
263
|
-
for (const point of getInvalidPoints()) {
|
|
264
|
-
if (ecc.isXOnlyPoint(point)) {
|
|
265
|
-
throw new Error('ECC library isXOnlyPoint should reject invalid point');
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
// Test xOnlyPointAddTweak
|
|
270
|
-
if (typeof ecc.xOnlyPointAddTweak !== 'function') {
|
|
271
|
-
throw new Error('ECC library missing xOnlyPointAddTweak function');
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
for (const vector of getTweakVectors()) {
|
|
275
|
-
const result = ecc.xOnlyPointAddTweak(
|
|
276
|
-
vector.pubkey as XOnlyPublicKey,
|
|
277
|
-
vector.tweak as Bytes32,
|
|
278
|
-
);
|
|
279
|
-
|
|
280
|
-
if (vector.result === null) {
|
|
281
|
-
if (result !== null) {
|
|
282
|
-
throw new Error(
|
|
283
|
-
'ECC library xOnlyPointAddTweak should return null for test vector',
|
|
284
|
-
);
|
|
285
|
-
}
|
|
286
|
-
} else {
|
|
287
|
-
if (result === null) {
|
|
288
|
-
throw new Error('ECC library xOnlyPointAddTweak returned null unexpectedly');
|
|
289
|
-
}
|
|
290
|
-
if (result.parity !== vector.parity) {
|
|
291
|
-
throw new Error('ECC library xOnlyPointAddTweak parity mismatch');
|
|
292
|
-
}
|
|
293
|
-
if (!equals(result.xOnlyPubkey, vector.result)) {
|
|
294
|
-
throw new Error('ECC library xOnlyPointAddTweak result mismatch');
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
}
|
package/src/ecc/index.ts
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
// Core types
|
|
11
|
-
export type { EccLib, XOnlyPointAddTweakResult, Parity } from './types.js';
|
|
10
|
+
// Core types (CryptoBackend is the canonical name; EccLib is a deprecated alias)
|
|
11
|
+
export type { CryptoBackend, EccLib, XOnlyPointAddTweakResult, Parity } from './types.js';
|
|
12
12
|
|
|
13
13
|
// Context management
|
|
14
14
|
export { EccContext, initEccLib, getEccLib } from './context.js';
|
package/src/ecc/types.ts
CHANGED
|
@@ -1,147 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ECC (Elliptic Curve Cryptography) type definitions.
|
|
3
|
-
*
|
|
3
|
+
*
|
|
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.
|
|
4
7
|
*
|
|
5
8
|
* @packageDocumentation
|
|
6
9
|
*/
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Parity of the y-coordinate for an x-only public key.
|
|
12
|
-
* - 0: even y-coordinate
|
|
13
|
-
* - 1: odd y-coordinate
|
|
14
|
-
*/
|
|
15
|
-
export type Parity = 0 | 1;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Result of x-only point addition with tweak.
|
|
19
|
-
*/
|
|
20
|
-
export interface XOnlyPointAddTweakResult {
|
|
21
|
-
/** Parity of the resulting y-coordinate (0 = even, 1 = odd) */
|
|
22
|
-
readonly parity: Parity;
|
|
23
|
-
/** The resulting x-only public key */
|
|
24
|
-
readonly xOnlyPubkey: XOnlyPublicKey;
|
|
25
|
-
}
|
|
11
|
+
export type { CryptoBackend, XOnlyPointAddTweakResult, Parity } from '@btc-vision/ecpair';
|
|
26
12
|
|
|
27
13
|
/**
|
|
28
|
-
*
|
|
29
|
-
* This is compatible with tiny-secp256k1 and @noble/secp256k1.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ```typescript
|
|
33
|
-
* import { EccLib, initEccLib } from '@btc-vision/bitcoin';
|
|
34
|
-
* import * as secp256k1 from 'tiny-secp256k1';
|
|
35
|
-
*
|
|
36
|
-
* // tiny-secp256k1 implements EccLib
|
|
37
|
-
* const ecc: EccLib = secp256k1;
|
|
38
|
-
* initEccLib(ecc);
|
|
39
|
-
* ```
|
|
14
|
+
* @deprecated Use {@link CryptoBackend} from `@btc-vision/ecpair` instead.
|
|
40
15
|
*/
|
|
41
|
-
export
|
|
42
|
-
/**
|
|
43
|
-
* Checks if a 32-byte value is a valid x-only public key.
|
|
44
|
-
*
|
|
45
|
-
* @param p - 32-byte x-coordinate
|
|
46
|
-
* @returns True if the point is valid on the secp256k1 curve
|
|
47
|
-
*/
|
|
48
|
-
isXOnlyPoint(p: Uint8Array): boolean;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Adds a tweak to an x-only public key.
|
|
52
|
-
*
|
|
53
|
-
* @param p - 32-byte x-only public key
|
|
54
|
-
* @param tweak - 32-byte scalar to add
|
|
55
|
-
* @returns The tweaked public key with parity, or null if result is invalid
|
|
56
|
-
*/
|
|
57
|
-
xOnlyPointAddTweak(p: XOnlyPublicKey, tweak: Bytes32): XOnlyPointAddTweakResult | null;
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Signs a 32-byte message hash with a private key (ECDSA).
|
|
61
|
-
* Optional - only needed for signing operations.
|
|
62
|
-
*
|
|
63
|
-
* @param hash - 32-byte message hash
|
|
64
|
-
* @param privateKey - 32-byte private key
|
|
65
|
-
* @returns DER-encoded signature
|
|
66
|
-
*/
|
|
67
|
-
sign?(hash: Bytes32, privateKey: PrivateKey): Signature;
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Signs a 32-byte message hash with a private key (Schnorr/BIP340).
|
|
71
|
-
* Optional - only needed for Taproot key-path signing.
|
|
72
|
-
*
|
|
73
|
-
* @param hash - 32-byte message hash
|
|
74
|
-
* @param privateKey - 32-byte private key
|
|
75
|
-
* @returns 64-byte Schnorr signature
|
|
76
|
-
*/
|
|
77
|
-
signSchnorr?(hash: Bytes32, privateKey: PrivateKey): SchnorrSignature;
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Verifies an ECDSA signature.
|
|
81
|
-
* Optional - only needed for signature verification.
|
|
82
|
-
*
|
|
83
|
-
* @param hash - 32-byte message hash
|
|
84
|
-
* @param publicKey - 33 or 65-byte public key
|
|
85
|
-
* @param signature - DER-encoded signature
|
|
86
|
-
* @returns True if signature is valid
|
|
87
|
-
*/
|
|
88
|
-
verify?(hash: Bytes32, publicKey: PublicKey, signature: Signature): boolean;
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Verifies a Schnorr/BIP340 signature.
|
|
92
|
-
* Optional - only needed for Taproot signature verification.
|
|
93
|
-
*
|
|
94
|
-
* @param hash - 32-byte message hash
|
|
95
|
-
* @param publicKey - 32-byte x-only public key
|
|
96
|
-
* @param signature - 64-byte Schnorr signature
|
|
97
|
-
* @returns True if signature is valid
|
|
98
|
-
*/
|
|
99
|
-
verifySchnorr?(hash: Bytes32, publicKey: XOnlyPublicKey, signature: SchnorrSignature): boolean;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Derives a public key from a private key.
|
|
103
|
-
* Optional - only needed for key derivation.
|
|
104
|
-
*
|
|
105
|
-
* @param privateKey - 32-byte private key
|
|
106
|
-
* @param compressed - Whether to return compressed (33-byte) or uncompressed (65-byte)
|
|
107
|
-
* @returns The public key, or null if private key is invalid
|
|
108
|
-
*/
|
|
109
|
-
pointFromScalar?(privateKey: PrivateKey, compressed?: boolean): PublicKey | null;
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Computes the x-only public key from a private key.
|
|
113
|
-
* Optional - only needed for Taproot key derivation.
|
|
114
|
-
*
|
|
115
|
-
* @param privateKey - 32-byte private key
|
|
116
|
-
* @returns 32-byte x-only public key, or null if private key is invalid
|
|
117
|
-
*/
|
|
118
|
-
xOnlyPointFromScalar?(privateKey: PrivateKey): XOnlyPublicKey | null;
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Converts a full public key to x-only format.
|
|
122
|
-
* Optional - only needed when working with x-only keys.
|
|
123
|
-
*
|
|
124
|
-
* @param pubkey - 33 or 65-byte public key
|
|
125
|
-
* @returns 32-byte x-only public key
|
|
126
|
-
*/
|
|
127
|
-
xOnlyPointFromPoint?(pubkey: PublicKey): XOnlyPublicKey;
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* Adds a scalar to a private key.
|
|
131
|
-
* Optional - only needed for key tweaking.
|
|
132
|
-
*
|
|
133
|
-
* @param privateKey - 32-byte private key
|
|
134
|
-
* @param tweak - 32-byte scalar to add
|
|
135
|
-
* @returns The tweaked private key, or null if result is invalid
|
|
136
|
-
*/
|
|
137
|
-
privateAdd?(privateKey: PrivateKey, tweak: Bytes32): PrivateKey | null;
|
|
138
|
-
|
|
139
|
-
/**
|
|
140
|
-
* Negates a private key.
|
|
141
|
-
* Optional - only needed for Taproot parity handling.
|
|
142
|
-
*
|
|
143
|
-
* @param privateKey - 32-byte private key
|
|
144
|
-
* @returns The negated private key
|
|
145
|
-
*/
|
|
146
|
-
privateNegate?(privateKey: PrivateKey): PrivateKey;
|
|
147
|
-
}
|
|
16
|
+
export type { CryptoBackend as EccLib } from '@btc-vision/ecpair';
|