ox 1.1.2 → 1.2.0
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/CHANGELOG.md +27 -0
- package/dist/core/Hash.d.ts +36 -0
- package/dist/core/Hash.d.ts.map +1 -1
- package/dist/core/Hash.js +35 -0
- package/dist/core/Hash.js.map +1 -1
- package/dist/node/Hash.d.ts +3 -3
- package/dist/node/Hash.js +3 -3
- package/dist/trusted-setups/Paths.d.ts +1 -0
- package/dist/trusted-setups/Paths.d.ts.map +1 -1
- package/dist/trusted-setups/Paths.js +1 -0
- package/dist/trusted-setups/Paths.js.map +1 -1
- package/dist/trusted-setups/Setups.d.ts +35 -0
- package/dist/trusted-setups/Setups.d.ts.map +1 -0
- package/dist/trusted-setups/Setups.js +29 -0
- package/dist/trusted-setups/Setups.js.map +1 -0
- package/dist/trusted-setups/index.d.ts +20 -0
- package/dist/trusted-setups/index.d.ts.map +1 -1
- package/dist/trusted-setups/index.js +20 -0
- package/dist/trusted-setups/index.js.map +1 -1
- package/dist/trusted-setups/internal/paths.d.ts.map +1 -1
- package/dist/trusted-setups/internal/paths.js +1 -1
- package/dist/trusted-setups/internal/paths.js.map +1 -1
- package/dist/trusted-setups/internal/setups/mainnet.d.ts +7 -0
- package/dist/trusted-setups/internal/setups/mainnet.d.ts.map +1 -0
- package/dist/trusted-setups/internal/setups/mainnet.js +11 -0
- package/dist/trusted-setups/internal/setups/mainnet.js.map +1 -0
- package/dist/wasm/Engine.d.ts +3 -2
- package/dist/wasm/Engine.d.ts.map +1 -1
- package/dist/wasm/Engine.js +5 -5
- package/dist/wasm/Engine.js.map +1 -1
- package/dist/wasm/Keystore.d.ts +23 -9
- package/dist/wasm/Keystore.d.ts.map +1 -1
- package/dist/wasm/Keystore.js +30 -13
- package/dist/wasm/Keystore.js.map +1 -1
- package/dist/wasm/Kzg.d.ts +112 -0
- package/dist/wasm/Kzg.d.ts.map +1 -0
- package/dist/wasm/Kzg.js +333 -0
- package/dist/wasm/Kzg.js.map +1 -0
- package/dist/wasm/Secp256k1.d.ts +55 -0
- package/dist/wasm/Secp256k1.d.ts.map +1 -0
- package/dist/wasm/Secp256k1.js +181 -0
- package/dist/wasm/Secp256k1.js.map +1 -0
- package/dist/wasm/index.d.ts +44 -1
- package/dist/wasm/index.d.ts.map +1 -1
- package/dist/wasm/index.js +44 -1
- package/dist/wasm/index.js.map +1 -1
- package/dist/wasm/internal/instantiate.d.ts +12 -0
- package/dist/wasm/internal/instantiate.d.ts.map +1 -1
- package/dist/wasm/internal/instantiate.js +23 -7
- package/dist/wasm/internal/instantiate.js.map +1 -1
- package/dist/wasm/internal/keystore.d.ts +10 -0
- package/dist/wasm/internal/keystore.d.ts.map +1 -0
- package/dist/wasm/internal/keystore.js +10 -0
- package/dist/wasm/internal/keystore.js.map +1 -0
- package/dist/wasm/internal/kzg.d.ts +17 -0
- package/dist/wasm/internal/kzg.d.ts.map +1 -0
- package/dist/wasm/internal/kzg.js +8 -0
- package/dist/wasm/internal/kzg.js.map +1 -0
- package/dist/wasm/internal/kzg.wasm.d.ts +3 -0
- package/dist/wasm/internal/kzg.wasm.d.ts.map +1 -0
- package/dist/wasm/internal/kzg.wasm.js +10 -0
- package/dist/wasm/internal/kzg.wasm.js.map +1 -0
- package/dist/wasm/internal/scrypt.d.ts +16 -0
- package/dist/wasm/internal/scrypt.d.ts.map +1 -0
- package/dist/wasm/internal/scrypt.js +78 -0
- package/dist/wasm/internal/scrypt.js.map +1 -0
- package/dist/wasm/internal/scrypt.wasm.d.ts +7 -0
- package/dist/wasm/internal/scrypt.wasm.d.ts.map +1 -0
- package/dist/wasm/internal/scrypt.wasm.js +14 -0
- package/dist/wasm/internal/scrypt.wasm.js.map +1 -0
- package/dist/wasm/internal/secp256k1.d.ts +16 -0
- package/dist/wasm/internal/secp256k1.d.ts.map +1 -0
- package/dist/wasm/internal/secp256k1.js +20 -0
- package/dist/wasm/internal/secp256k1.js.map +1 -0
- package/dist/wasm/internal/secp256k1.wasm.d.ts +3 -0
- package/dist/wasm/internal/secp256k1.wasm.d.ts.map +1 -0
- package/dist/wasm/internal/secp256k1.wasm.js +10 -0
- package/dist/wasm/internal/secp256k1.wasm.js.map +1 -0
- package/package.json +19 -2
- package/src/core/Hash.ts +59 -0
- package/src/core/_test/Block.test.ts +9 -2
- package/src/core/_test/Hash.test-d.ts +18 -0
- package/src/core/_test/Hash.test.ts +100 -1
- package/src/core/_test/Hash.vectors.test.ts +1 -2
- package/src/core/_test/Transaction.test.ts +11 -2
- package/src/node/Hash.ts +3 -3
- package/src/node/_test/Hash.test-d.ts +1 -0
- package/src/trusted-setups/Paths.ts +1 -0
- package/src/trusted-setups/README.md +39 -0
- package/src/trusted-setups/Setups.ts +46 -0
- package/src/trusted-setups/_test/Paths.test.ts +16 -0
- package/src/trusted-setups/_test/Setups.test-d.ts +7 -0
- package/src/trusted-setups/_test/Setups.test.ts +43 -0
- package/src/trusted-setups/_test/index.test.ts +1 -0
- package/src/trusted-setups/index.ts +21 -0
- package/src/trusted-setups/internal/paths.ts +4 -1
- package/src/trusted-setups/internal/setups/mainnet.source.json +7 -0
- package/src/trusted-setups/internal/setups/mainnet.ts +16 -0
- package/src/version.ts +1 -1
- package/src/wasm/Engine.ts +8 -6
- package/src/wasm/Keystore.bench.ts +26 -0
- package/src/wasm/Keystore.ts +32 -14
- package/src/wasm/Kzg.bench.ts +63 -0
- package/src/wasm/Kzg.ts +518 -0
- package/src/wasm/Secp256k1.bench.ts +79 -0
- package/src/wasm/Secp256k1.ts +248 -0
- package/src/wasm/_test/Engine.test-d.ts +1 -0
- package/src/wasm/_test/Hash.browser.test.ts +3 -0
- package/src/wasm/_test/Hash.test-d.ts +1 -0
- package/src/wasm/_test/Hash.test.ts +2 -2
- package/src/wasm/_test/Keystore.browser.test.ts +31 -0
- package/src/wasm/_test/Keystore.fuzz.ts +50 -0
- package/src/wasm/_test/Keystore.test-d.ts +10 -1
- package/src/wasm/_test/Keystore.test.ts +289 -4
- package/src/wasm/_test/Kzg.test-d.ts +19 -0
- package/src/wasm/_test/Kzg.test.ts +220 -0
- package/src/wasm/_test/Runtime.test.ts +9 -0
- package/src/wasm/_test/Secp256k1.test-d.ts +35 -0
- package/src/wasm/_test/Secp256k1.test.ts +354 -0
- package/src/wasm/index.ts +46 -1
- package/src/wasm/internal/instantiate.ts +29 -9
- package/src/wasm/internal/keystore.ts +19 -0
- package/src/wasm/internal/kzg.ts +50 -0
- package/src/wasm/internal/kzg.wasm.ts +11 -0
- package/src/wasm/internal/scrypt.ts +131 -0
- package/src/wasm/internal/scrypt.wasm.ts +17 -0
- package/src/wasm/internal/secp256k1.ts +62 -0
- package/src/wasm/internal/secp256k1.wasm.ts +11 -0
- package/wasm/vendor/c-kzg-4844/LICENSE +201 -0
- package/wasm/vendor/c-kzg-4844/blst/LICENSE +201 -0
- package/src/trusted-setups/internal/setups/mainnet.txt +0 -4163
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kzg.js","sourceRoot":"","sources":["../../src/wasm/Kzg.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type * as Engine from '../core/Engine.js';
|
|
2
|
+
import * as Errors from '../core/Errors.js';
|
|
3
|
+
import * as internal from './internal/instantiate.js';
|
|
4
|
+
export * from '../core/Secp256k1.js';
|
|
5
|
+
export { MemoryError } from './internal/instantiate.js';
|
|
6
|
+
/**
|
|
7
|
+
* Compiles WASM implementations of deterministic
|
|
8
|
+
* [`Secp256k1`](/api/Secp256k1) primitives, without installing them.
|
|
9
|
+
*
|
|
10
|
+
* Random key generation remains on Ox's host-backed default implementation.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts twoslash
|
|
14
|
+
* // @noErrors
|
|
15
|
+
* import { Engine } from 'ox'
|
|
16
|
+
* import { Secp256k1 } from 'ox/wasm'
|
|
17
|
+
*
|
|
18
|
+
* await Engine.install({ Secp256k1: Secp256k1.engine() })
|
|
19
|
+
*
|
|
20
|
+
* Secp256k1.getPublicKey({ privateKey: '0x...' })
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @returns The WASM implementation of the deterministic `Secp256k1` primitives.
|
|
24
|
+
*/
|
|
25
|
+
export declare function engine(): Promise<engine.ReturnType>;
|
|
26
|
+
export declare namespace engine {
|
|
27
|
+
/** Every `Secp256k1` primitive this module implements. */
|
|
28
|
+
type ReturnType = {
|
|
29
|
+
[key in 'getPublicKey' | 'getSharedSecret' | 'recoverPublicKey' | 'sign' | 'verify']-?: NonNullable<Engine.Ecdsa[key]>;
|
|
30
|
+
};
|
|
31
|
+
type ErrorType = InvalidInputError | internal.MemoryError | Errors.GlobalErrorType;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Thrown when libsecp256k1 rejects a key or recovered signature.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts twoslash
|
|
38
|
+
* import { Secp256k1 } from 'ox/wasm'
|
|
39
|
+
*
|
|
40
|
+
* try {
|
|
41
|
+
* const engine = await Secp256k1.engine()
|
|
42
|
+
* engine.getPublicKey(new Uint8Array(32))
|
|
43
|
+
* } catch (error) {
|
|
44
|
+
* if (error instanceof Secp256k1.InvalidInputError)
|
|
45
|
+
* console.error(error.message)
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare class InvalidInputError extends Errors.BaseError {
|
|
50
|
+
readonly name = "Secp256k1.InvalidInputError";
|
|
51
|
+
constructor({ operation }: {
|
|
52
|
+
operation: string;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=Secp256k1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Secp256k1.d.ts","sourceRoot":"","sources":["../../src/wasm/Secp256k1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAGrD,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AASvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAoJzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,0DAA0D;IAC1D,KAAK,UAAU,GAAG;SACf,GAAG,IACA,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,MAAM,GACN,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KAChD,CAAA;IAED,KAAK,SAAS,GACV,iBAAiB,GACjB,QAAQ,CAAC,WAAW,GACpB,MAAM,CAAC,eAAe,CAAA;CAC3B;AA0BD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,SAAS;IACrD,SAAkB,IAAI,iCAAgC;gBAE1C,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;CAGjD"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import * as Errors from '../core/Errors.js';
|
|
2
|
+
import * as secp256k1 from './internal/secp256k1.js';
|
|
3
|
+
export * from '../core/Secp256k1.js';
|
|
4
|
+
export { MemoryError } from './internal/instantiate.js';
|
|
5
|
+
const privateKeySize = 32;
|
|
6
|
+
const publicKeySize = 65;
|
|
7
|
+
const sharedSecretSize = 33;
|
|
8
|
+
const compactSignatureSize = 64;
|
|
9
|
+
const recoveredSignatureSize = 65;
|
|
10
|
+
const maxRawMessageSize = 8192;
|
|
11
|
+
/**
|
|
12
|
+
* Compiles WASM implementations of deterministic
|
|
13
|
+
* [`Secp256k1`](/api/Secp256k1) primitives, without installing them.
|
|
14
|
+
*
|
|
15
|
+
* Random key generation remains on Ox's host-backed default implementation.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts twoslash
|
|
19
|
+
* // @noErrors
|
|
20
|
+
* import { Engine } from 'ox'
|
|
21
|
+
* import { Secp256k1 } from 'ox/wasm'
|
|
22
|
+
*
|
|
23
|
+
* await Engine.install({ Secp256k1: Secp256k1.engine() })
|
|
24
|
+
*
|
|
25
|
+
* Secp256k1.getPublicKey({ privateKey: '0x...' })
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @returns The WASM implementation of the deterministic `Secp256k1` primitives.
|
|
29
|
+
*/
|
|
30
|
+
export async function engine() {
|
|
31
|
+
const module = await secp256k1.load();
|
|
32
|
+
return {
|
|
33
|
+
getPublicKey(privateKey) {
|
|
34
|
+
assertLength(privateKey, privateKeySize, 'private key');
|
|
35
|
+
const size = privateKeySize + publicKeySize;
|
|
36
|
+
module.reserve(size);
|
|
37
|
+
const privateKeyPtr = module.heapBase;
|
|
38
|
+
const publicKeyPtr = privateKeyPtr + privateKeySize;
|
|
39
|
+
try {
|
|
40
|
+
module.view().set(privateKey, privateKeyPtr);
|
|
41
|
+
if (module.exports.secp256k1_get_public_key(privateKeyPtr, publicKeyPtr) !== 1)
|
|
42
|
+
throw new InvalidInputError({ operation: 'getPublicKey' });
|
|
43
|
+
return module.view().slice(publicKeyPtr, publicKeyPtr + publicKeySize);
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
module.exports.zero(privateKeyPtr, size);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
getSharedSecret(privateKey, publicKey) {
|
|
50
|
+
assertLength(privateKey, privateKeySize, 'private key');
|
|
51
|
+
assertPublicKeyLength(publicKey);
|
|
52
|
+
const size = privateKeySize + publicKey.length + sharedSecretSize;
|
|
53
|
+
module.reserve(size);
|
|
54
|
+
const privateKeyPtr = module.heapBase;
|
|
55
|
+
const publicKeyPtr = privateKeyPtr + privateKeySize;
|
|
56
|
+
const sharedSecretPtr = publicKeyPtr + publicKey.length;
|
|
57
|
+
try {
|
|
58
|
+
const memory = module.view();
|
|
59
|
+
memory.set(privateKey, privateKeyPtr);
|
|
60
|
+
memory.set(publicKey, publicKeyPtr);
|
|
61
|
+
if (module.exports.secp256k1_get_shared_secret(privateKeyPtr, publicKeyPtr, publicKey.length, sharedSecretPtr) !== 1)
|
|
62
|
+
throw new InvalidInputError({ operation: 'getSharedSecret' });
|
|
63
|
+
return module
|
|
64
|
+
.view()
|
|
65
|
+
.slice(sharedSecretPtr, sharedSecretPtr + sharedSecretSize);
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
module.exports.zero(privateKeyPtr, size);
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
recoverPublicKey(signature, payload) {
|
|
72
|
+
assertLength(signature, recoveredSignatureSize, 'signature');
|
|
73
|
+
assertRawMessageLength(payload);
|
|
74
|
+
const size = recoveredSignatureSize + payload.length + publicKeySize;
|
|
75
|
+
module.reserve(size);
|
|
76
|
+
const signaturePtr = module.heapBase;
|
|
77
|
+
const payloadPtr = signaturePtr + recoveredSignatureSize;
|
|
78
|
+
const publicKeyPtr = payloadPtr + payload.length;
|
|
79
|
+
try {
|
|
80
|
+
const memory = module.view();
|
|
81
|
+
memory.set(signature, signaturePtr);
|
|
82
|
+
memory.set(payload, payloadPtr);
|
|
83
|
+
if (module.exports.secp256k1_recover_public_key(signaturePtr, payloadPtr, payload.length, publicKeyPtr) !== 1)
|
|
84
|
+
throw new InvalidInputError({ operation: 'recoverPublicKey' });
|
|
85
|
+
return module.view().slice(publicKeyPtr, publicKeyPtr + publicKeySize);
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
module.exports.zero(signaturePtr, size);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
sign(payload, privateKey, options) {
|
|
92
|
+
assertLength(privateKey, privateKeySize, 'private key');
|
|
93
|
+
if (!options.prehash)
|
|
94
|
+
assertRawMessageLength(payload);
|
|
95
|
+
const entropy = options.extraEntropy === true
|
|
96
|
+
? crypto.getRandomValues(new Uint8Array(privateKeySize))
|
|
97
|
+
: options.extraEntropy === false
|
|
98
|
+
? undefined
|
|
99
|
+
: options.extraEntropy;
|
|
100
|
+
const entropySize = entropy?.length ?? 0;
|
|
101
|
+
const size = payload.length + privateKeySize + entropySize + recoveredSignatureSize;
|
|
102
|
+
module.reserve(size);
|
|
103
|
+
const payloadPtr = module.heapBase;
|
|
104
|
+
const privateKeyPtr = payloadPtr + payload.length;
|
|
105
|
+
const entropyPtr = entropy ? privateKeyPtr + privateKeySize : 0;
|
|
106
|
+
const signaturePtr = privateKeyPtr + privateKeySize + entropySize;
|
|
107
|
+
try {
|
|
108
|
+
const memory = module.view();
|
|
109
|
+
memory.set(payload, payloadPtr);
|
|
110
|
+
memory.set(privateKey, privateKeyPtr);
|
|
111
|
+
if (entropy)
|
|
112
|
+
memory.set(entropy, entropyPtr);
|
|
113
|
+
if (module.exports.secp256k1_sign(payloadPtr, payload.length, privateKeyPtr, entropyPtr, entropySize, Number(options.prehash), signaturePtr) !== 1)
|
|
114
|
+
throw new InvalidInputError({ operation: 'sign' });
|
|
115
|
+
return module
|
|
116
|
+
.view()
|
|
117
|
+
.slice(signaturePtr, signaturePtr + recoveredSignatureSize);
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
module.exports.zero(payloadPtr, size);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
verify(signature, payload, publicKey, options) {
|
|
124
|
+
assertLength(signature, compactSignatureSize, 'signature');
|
|
125
|
+
assertPublicKeyLength(publicKey);
|
|
126
|
+
if (!options.prehash && payload.length > maxRawMessageSize)
|
|
127
|
+
return false;
|
|
128
|
+
const size = compactSignatureSize + payload.length + publicKey.length;
|
|
129
|
+
module.reserve(size);
|
|
130
|
+
const signaturePtr = module.heapBase;
|
|
131
|
+
const payloadPtr = signaturePtr + compactSignatureSize;
|
|
132
|
+
const publicKeyPtr = payloadPtr + payload.length;
|
|
133
|
+
try {
|
|
134
|
+
const memory = module.view();
|
|
135
|
+
memory.set(signature, signaturePtr);
|
|
136
|
+
memory.set(payload, payloadPtr);
|
|
137
|
+
memory.set(publicKey, publicKeyPtr);
|
|
138
|
+
return (module.exports.secp256k1_verify(signaturePtr, payloadPtr, payload.length, publicKeyPtr, publicKey.length, Number(options.prehash)) === 1);
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
module.exports.zero(signaturePtr, size);
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function assertLength(value, length, name) {
|
|
147
|
+
if (value.length !== length)
|
|
148
|
+
throw new RangeError(`Secp256k1 ${name} must be ${length} bytes, got ${value.length}`);
|
|
149
|
+
}
|
|
150
|
+
function assertPublicKeyLength(publicKey) {
|
|
151
|
+
if (publicKey.length !== sharedSecretSize &&
|
|
152
|
+
publicKey.length !== publicKeySize)
|
|
153
|
+
throw new RangeError(`Secp256k1 public key must be 33 or 65 bytes, got ${publicKey.length}`);
|
|
154
|
+
}
|
|
155
|
+
function assertRawMessageLength(payload) {
|
|
156
|
+
if (payload.length > maxRawMessageSize)
|
|
157
|
+
throw new RangeError(`Secp256k1 unhashed payload must not exceed ${maxRawMessageSize} bytes, got ${payload.length}`);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Thrown when libsecp256k1 rejects a key or recovered signature.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts twoslash
|
|
164
|
+
* import { Secp256k1 } from 'ox/wasm'
|
|
165
|
+
*
|
|
166
|
+
* try {
|
|
167
|
+
* const engine = await Secp256k1.engine()
|
|
168
|
+
* engine.getPublicKey(new Uint8Array(32))
|
|
169
|
+
* } catch (error) {
|
|
170
|
+
* if (error instanceof Secp256k1.InvalidInputError)
|
|
171
|
+
* console.error(error.message)
|
|
172
|
+
* }
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
export class InvalidInputError extends Errors.BaseError {
|
|
176
|
+
name = 'Secp256k1.InvalidInputError';
|
|
177
|
+
constructor({ operation }) {
|
|
178
|
+
super(`WASM secp256k1 ${operation} received invalid input.`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=Secp256k1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Secp256k1.js","sourceRoot":"","sources":["../../src/wasm/Secp256k1.ts"],"names":[],"mappings":"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"}
|
package/dist/wasm/index.d.ts
CHANGED
|
@@ -60,7 +60,8 @@ export * as Ed25519 from './Ed25519.js';
|
|
|
60
60
|
*/
|
|
61
61
|
export * as Hash from './Hash.js';
|
|
62
62
|
/**
|
|
63
|
-
* WASM
|
|
63
|
+
* WASM implementations of Ox's synchronous PBKDF2-HMAC-SHA256 and scrypt
|
|
64
|
+
* primitives.
|
|
64
65
|
*
|
|
65
66
|
* @example
|
|
66
67
|
* ```ts twoslash
|
|
@@ -76,6 +77,28 @@ export * as Hash from './Hash.js';
|
|
|
76
77
|
* @category Crypto
|
|
77
78
|
*/
|
|
78
79
|
export * as Keystore from './Keystore.js';
|
|
80
|
+
/**
|
|
81
|
+
* WASM implementation of Ox's KZG interface, backed by c-kzg-4844.
|
|
82
|
+
*
|
|
83
|
+
* This module is not installed into [`Engine`](/api/Engine). Create an explicit
|
|
84
|
+
* instance, pass it anywhere that accepts `Kzg.Kzg`, and dispose it when done.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts twoslash
|
|
88
|
+
* // @noErrors
|
|
89
|
+
* import { Setups } from 'ox/trusted-setups'
|
|
90
|
+
* import { Kzg } from 'ox/wasm'
|
|
91
|
+
*
|
|
92
|
+
* const kzg = await Kzg.create({
|
|
93
|
+
* trustedSetup: Setups.mainnet
|
|
94
|
+
* })
|
|
95
|
+
*
|
|
96
|
+
* kzg.dispose()
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @category Crypto
|
|
100
|
+
*/
|
|
101
|
+
export * as Kzg from './Kzg.js';
|
|
79
102
|
/**
|
|
80
103
|
* WASM implementation of Ox's BIP-39 seed derivation.
|
|
81
104
|
*
|
|
@@ -95,6 +118,26 @@ export * as Keystore from './Keystore.js';
|
|
|
95
118
|
* @category Crypto
|
|
96
119
|
*/
|
|
97
120
|
export * as Mnemonic from './Mnemonic.js';
|
|
121
|
+
/**
|
|
122
|
+
* WASM implementations of deterministic Secp256k1 primitives.
|
|
123
|
+
*
|
|
124
|
+
* This provider is opt-in because its embedded libsecp256k1 artifact is larger
|
|
125
|
+
* than the modules installed by [`Engine.install`](/api/Engine/install).
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts twoslash
|
|
129
|
+
* // @noErrors
|
|
130
|
+
* import { Engine } from 'ox'
|
|
131
|
+
* import { Secp256k1 } from 'ox/wasm'
|
|
132
|
+
*
|
|
133
|
+
* await Engine.install({ Secp256k1: Secp256k1.engine() })
|
|
134
|
+
*
|
|
135
|
+
* Secp256k1.getPublicKey({ privateKey: '0x...' })
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @category Crypto
|
|
139
|
+
*/
|
|
140
|
+
export * as Secp256k1 from './Secp256k1.js';
|
|
98
141
|
/**
|
|
99
142
|
* WASM implementations of Ox's supported X25519 primitives.
|
|
100
143
|
*
|
package/dist/wasm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
package/dist/wasm/index.js
CHANGED
|
@@ -60,7 +60,8 @@ export * as Ed25519 from './Ed25519.js';
|
|
|
60
60
|
*/
|
|
61
61
|
export * as Hash from './Hash.js';
|
|
62
62
|
/**
|
|
63
|
-
* WASM
|
|
63
|
+
* WASM implementations of Ox's synchronous PBKDF2-HMAC-SHA256 and scrypt
|
|
64
|
+
* primitives.
|
|
64
65
|
*
|
|
65
66
|
* @example
|
|
66
67
|
* ```ts twoslash
|
|
@@ -76,6 +77,28 @@ export * as Hash from './Hash.js';
|
|
|
76
77
|
* @category Crypto
|
|
77
78
|
*/
|
|
78
79
|
export * as Keystore from './Keystore.js';
|
|
80
|
+
/**
|
|
81
|
+
* WASM implementation of Ox's KZG interface, backed by c-kzg-4844.
|
|
82
|
+
*
|
|
83
|
+
* This module is not installed into [`Engine`](/api/Engine). Create an explicit
|
|
84
|
+
* instance, pass it anywhere that accepts `Kzg.Kzg`, and dispose it when done.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts twoslash
|
|
88
|
+
* // @noErrors
|
|
89
|
+
* import { Setups } from 'ox/trusted-setups'
|
|
90
|
+
* import { Kzg } from 'ox/wasm'
|
|
91
|
+
*
|
|
92
|
+
* const kzg = await Kzg.create({
|
|
93
|
+
* trustedSetup: Setups.mainnet
|
|
94
|
+
* })
|
|
95
|
+
*
|
|
96
|
+
* kzg.dispose()
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @category Crypto
|
|
100
|
+
*/
|
|
101
|
+
export * as Kzg from './Kzg.js';
|
|
79
102
|
/**
|
|
80
103
|
* WASM implementation of Ox's BIP-39 seed derivation.
|
|
81
104
|
*
|
|
@@ -95,6 +118,26 @@ export * as Keystore from './Keystore.js';
|
|
|
95
118
|
* @category Crypto
|
|
96
119
|
*/
|
|
97
120
|
export * as Mnemonic from './Mnemonic.js';
|
|
121
|
+
/**
|
|
122
|
+
* WASM implementations of deterministic Secp256k1 primitives.
|
|
123
|
+
*
|
|
124
|
+
* This provider is opt-in because its embedded libsecp256k1 artifact is larger
|
|
125
|
+
* than the modules installed by [`Engine.install`](/api/Engine/install).
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts twoslash
|
|
129
|
+
* // @noErrors
|
|
130
|
+
* import { Engine } from 'ox'
|
|
131
|
+
* import { Secp256k1 } from 'ox/wasm'
|
|
132
|
+
*
|
|
133
|
+
* await Engine.install({ Secp256k1: Secp256k1.engine() })
|
|
134
|
+
*
|
|
135
|
+
* Secp256k1.getPublicKey({ privateKey: '0x...' })
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* @category Crypto
|
|
139
|
+
*/
|
|
140
|
+
export * as Secp256k1 from './Secp256k1.js';
|
|
98
141
|
/**
|
|
99
142
|
* WASM implementations of Ox's supported X25519 primitives.
|
|
100
143
|
*
|
package/dist/wasm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wasm/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA"}
|
|
@@ -25,6 +25,18 @@ export type Module<exports extends Record<string, unknown>> = {
|
|
|
25
25
|
*/
|
|
26
26
|
view(): Uint8Array;
|
|
27
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Compiles a base64-encoded WASM module without instantiating it.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export declare function compile(base64: string): Promise<WebAssembly.Module>;
|
|
34
|
+
/**
|
|
35
|
+
* Instantiates a compiled WASM module.
|
|
36
|
+
*
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
export declare function instantiateModule<exports extends Record<string, unknown>>(compiled: WebAssembly.Module): Promise<Module<exports>>;
|
|
28
40
|
/**
|
|
29
41
|
* Instantiates a base64-encoded WASM module.
|
|
30
42
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instantiate.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC5D,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;;;OAMG;IACH,IAAI,IAAI,UAAU,CAAA;CACnB,CAAA;AAqBD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"instantiate.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC5D,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;;;OAMG;IACH,IAAI,IAAI,UAAU,CAAA;CACnB,CAAA;AAqBD;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAEzE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAkCxD;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAE1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GACzB,MAAM,OAAO,CAAC,KAAK,CAAC,CAYtB;AAED,6EAA6E;AAC7E,qBAAa,WAAY,SAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;IACtD,SAAkB,IAAI,sBAAqB;gBAE/B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CAS9D"}
|
|
@@ -15,16 +15,20 @@ function decode(base64) {
|
|
|
15
15
|
return bytes;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
18
|
+
* Compiles a base64-encoded WASM module without instantiating it.
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export async function compile(base64) {
|
|
23
|
+
return WebAssembly.compile(decode(base64));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Instantiates a compiled WASM module.
|
|
23
27
|
*
|
|
24
28
|
* @internal
|
|
25
29
|
*/
|
|
26
|
-
export async function
|
|
27
|
-
const
|
|
30
|
+
export async function instantiateModule(compiled) {
|
|
31
|
+
const instance = await WebAssembly.instantiate(compiled, {});
|
|
28
32
|
const exports = instance.exports;
|
|
29
33
|
const { memory } = exports;
|
|
30
34
|
const heapBase = exports.heap_base();
|
|
@@ -54,6 +58,18 @@ export async function instantiate(base64) {
|
|
|
54
58
|
},
|
|
55
59
|
};
|
|
56
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Instantiates a base64-encoded WASM module.
|
|
63
|
+
*
|
|
64
|
+
* Always asynchronous: browsers refuse to compile modules larger than a few
|
|
65
|
+
* kilobytes synchronously on the main thread, so there is no synchronous path to
|
|
66
|
+
* fall back to. Callers await this once and then call the module synchronously.
|
|
67
|
+
*
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
70
|
+
export async function instantiate(base64) {
|
|
71
|
+
return instantiateModule(await compile(base64));
|
|
72
|
+
}
|
|
57
73
|
/**
|
|
58
74
|
* Memoizes a loader so concurrent callers compile the module once.
|
|
59
75
|
*
|
|
@@ -84,7 +100,7 @@ export class MemoryError extends Errors.BaseError {
|
|
|
84
100
|
cause,
|
|
85
101
|
metaMessages: [
|
|
86
102
|
`Required: ${bytes} bytes`,
|
|
87
|
-
'The input may be too large for this runtime. Reset the engine slot with `Engine.reset` to fall back to the default implementation.',
|
|
103
|
+
'The input or requested workspace may be too large for this runtime. Reset the engine slot with `Engine.reset` to fall back to the default implementation.',
|
|
88
104
|
],
|
|
89
105
|
});
|
|
90
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AA8B9C,MAAM,QAAQ,GAAG,MAAM,CAAA;AAEvB,SAAS,MAAM,CAAC,MAAc;IAC5B,4EAA4E;IAC5E,iBAAiB;IACjB,MAAM,UAAU,GACd,UAGD,CAAC,UAAU,CAAA;IACZ,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;IACzC,IAAI,OAAO,MAAM,KAAK,WAAW;QAC/B,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IACvE,OAAO,KAAK,CAAA;AACd,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type * as Engine from '../../core/Engine.js';
|
|
2
|
+
/** Compiles the aggregate engine's synchronous PBKDF2 implementation. */
|
|
3
|
+
export declare function engine(): Promise<engine.ReturnType>;
|
|
4
|
+
export declare namespace engine {
|
|
5
|
+
/** The aggregate WASM engine's `Keystore` primitives. */
|
|
6
|
+
type ReturnType = {
|
|
7
|
+
pbkdf2Sha256: NonNullable<Engine.Keystore['pbkdf2Sha256']>;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=keystore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/keystore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAInD,yEAAyE;AACzE,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAMzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,yDAAyD;IACzD,KAAK,UAAU,GAAG;QAChB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;KAC3D,CAAA;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as hashes from './hashes.js';
|
|
2
|
+
import * as pbkdf2 from './pbkdf2.js';
|
|
3
|
+
/** Compiles the aggregate engine's synchronous PBKDF2 implementation. */
|
|
4
|
+
export async function engine() {
|
|
5
|
+
const module = await hashes.load();
|
|
6
|
+
return {
|
|
7
|
+
pbkdf2Sha256: (password, salt, options) => pbkdf2.pbkdf2Sha256(module, password, salt, options),
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=keystore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../../src/wasm/internal/keystore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAClC,OAAO;QACL,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CACxC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;KACvD,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Module } from './instantiate.js';
|
|
2
|
+
/** Exports supplied by the dedicated c-kzg artifact. @internal */
|
|
3
|
+
export type Exports = {
|
|
4
|
+
alloc(size: number): number;
|
|
5
|
+
dealloc(ptr: number): void;
|
|
6
|
+
kzg_blob_to_kzg_commitment(out: number, blob: number): number;
|
|
7
|
+
kzg_compute_cells(cells: number, blob: number): number;
|
|
8
|
+
kzg_compute_cells_and_kzg_proofs(cells: number, proofs: number, blob: number): number;
|
|
9
|
+
kzg_dispose(): void;
|
|
10
|
+
kzg_initialize(g1Monomial: number, g1Lagrange: number, g2Monomial: number, precompute: number): number;
|
|
11
|
+
kzg_recover_cells_and_kzg_proofs(recoveredCells: number, recoveredProofs: number, cellIndices: number, cells: number, count: number): number;
|
|
12
|
+
kzg_verify_cell_kzg_proof_batch(verified: number, commitments: number, cellIndices: number, cells: number, proofs: number, count: number): number;
|
|
13
|
+
zero(ptr: number, length: number): void;
|
|
14
|
+
};
|
|
15
|
+
/** Instantiates an independently owned c-kzg module. @internal */
|
|
16
|
+
export declare function instantiate(): Promise<Module<Exports>>;
|
|
17
|
+
//# sourceMappingURL=kzg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kzg.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/kzg.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,MAAM,EACZ,MAAM,kBAAkB,CAAA;AAGzB,kEAAkE;AAClE,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7D,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACtD,gCAAgC,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAAA;IACT,WAAW,IAAI,IAAI,CAAA;IACnB,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAA;IACT,gCAAgC,CAC9B,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,MAAM,CAAA;IACT,+BAA+B,CAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,MAAM,CAAA;IACT,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAID,kEAAkE;AAClE,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAE5D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { compile, instantiateModule, memoize, } from './instantiate.js';
|
|
2
|
+
import { wasmBase64 } from './kzg.wasm.js';
|
|
3
|
+
const load = memoize(() => compile(wasmBase64));
|
|
4
|
+
/** Instantiates an independently owned c-kzg module. @internal */
|
|
5
|
+
export async function instantiate() {
|
|
6
|
+
return instantiateModule(await load());
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=kzg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kzg.js","sourceRoot":"","sources":["../../../src/wasm/internal/kzg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,iBAAiB,EACjB,OAAO,GAER,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAsC1C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;AAE/C,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,iBAAiB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;AACxC,CAAC"}
|