ox 1.1.2 → 1.3.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 +61 -0
- package/dist/core/AbiFunction.d.ts +1 -1
- package/dist/core/AbiFunction.d.ts.map +1 -1
- package/dist/core/AbiFunction.js +6 -2
- package/dist/core/AbiFunction.js.map +1 -1
- package/dist/core/AbiParameters.d.ts +1 -1
- package/dist/core/AbiParameters.d.ts.map +1 -1
- package/dist/core/AbiParameters.js +1 -13
- package/dist/core/AbiParameters.js.map +1 -1
- package/dist/core/AesGcm.d.ts +36 -1
- package/dist/core/AesGcm.d.ts.map +1 -1
- package/dist/core/AesGcm.js +44 -0
- package/dist/core/AesGcm.js.map +1 -1
- package/dist/core/Ed25519.d.ts +46 -1
- package/dist/core/Ed25519.d.ts.map +1 -1
- package/dist/core/Ed25519.js +43 -0
- package/dist/core/Ed25519.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/Hash.d.ts +200 -1
- package/dist/core/Hash.d.ts.map +1 -1
- package/dist/core/Hash.js +207 -0
- package/dist/core/Hash.js.map +1 -1
- package/dist/core/Hex.d.ts.map +1 -1
- package/dist/core/Hex.js +1 -4
- package/dist/core/Hex.js.map +1 -1
- package/dist/core/Rlp.d.ts +32 -0
- package/dist/core/Rlp.d.ts.map +1 -1
- package/dist/core/Rlp.js +146 -0
- package/dist/core/Rlp.js.map +1 -1
- package/dist/core/Secp256k1.d.ts +46 -1
- package/dist/core/Secp256k1.d.ts.map +1 -1
- package/dist/core/Secp256k1.js +48 -0
- package/dist/core/Secp256k1.js.map +1 -1
- package/dist/core/WebAuthn.d.ts +224 -0
- package/dist/core/WebAuthn.d.ts.map +1 -0
- package/dist/core/WebAuthn.js +343 -0
- package/dist/core/WebAuthn.js.map +1 -0
- package/dist/core/WebAuthnP256.d.ts +46 -50
- package/dist/core/WebAuthnP256.d.ts.map +1 -1
- package/dist/core/WebAuthnP256.js +44 -50
- package/dist/core/WebAuthnP256.js.map +1 -1
- package/dist/core/internal/abiParameters.d.ts +7 -87
- package/dist/core/internal/abiParameters.d.ts.map +1 -1
- package/dist/core/internal/abiParameters.js +339 -194
- package/dist/core/internal/abiParameters.js.map +1 -1
- package/dist/core/internal/engine.d.ts +35 -2
- package/dist/core/internal/engine.d.ts.map +1 -1
- package/dist/core/internal/engine.js +12 -1
- package/dist/core/internal/engine.js.map +1 -1
- package/dist/core/internal/hash.d.ts +10 -0
- package/dist/core/internal/hash.d.ts.map +1 -1
- package/dist/core/internal/hash.js +26 -1
- package/dist/core/internal/hash.js.map +1 -1
- package/dist/index.d.ts +23 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -14
- package/dist/index.js.map +1 -1
- package/dist/node/Engine.d.ts +1 -1
- package/dist/node/Engine.d.ts.map +1 -1
- package/dist/node/Engine.js.map +1 -1
- package/dist/node/Hash.d.ts +6 -4
- package/dist/node/Hash.d.ts.map +1 -1
- package/dist/node/Hash.js +35 -3
- package/dist/node/Hash.js.map +1 -1
- package/dist/tempo/AuthorizationTempo.d.ts +6 -6
- package/dist/tempo/AuthorizationTempo.js +6 -6
- package/dist/tempo/KeyAuthorization.d.ts +3 -8
- package/dist/tempo/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/KeyAuthorization.js +3 -8
- package/dist/tempo/KeyAuthorization.js.map +1 -1
- package/dist/tempo/SignatureEnvelope.d.ts +8 -8
- package/dist/tempo/SignatureEnvelope.js +8 -8
- 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 +4 -3
- 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/Hash.d.ts +1 -1
- package/dist/wasm/Hash.d.ts.map +1 -1
- package/dist/wasm/Hash.js +5 -0
- package/dist/wasm/Hash.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/blake3.d.ts +10 -1
- package/dist/wasm/internal/blake3.d.ts.map +1 -1
- package/dist/wasm/internal/blake3.js +12 -1
- package/dist/wasm/internal/blake3.js.map +1 -1
- package/dist/wasm/internal/blake3.wasm.d.ts +3 -1
- package/dist/wasm/internal/blake3.wasm.d.ts.map +1 -1
- package/dist/wasm/internal/blake3.wasm.js +3 -1
- package/dist/wasm/internal/blake3.wasm.js.map +1 -1
- package/dist/wasm/internal/hash.d.ts +9 -0
- package/dist/wasm/internal/hash.d.ts.map +1 -1
- package/dist/wasm/internal/hash.js +13 -1
- package/dist/wasm/internal/hash.js.map +1 -1
- package/dist/wasm/internal/hashState.d.ts +25 -0
- package/dist/wasm/internal/hashState.d.ts.map +1 -0
- package/dist/wasm/internal/hashState.js +105 -0
- package/dist/wasm/internal/hashState.js.map +1 -0
- package/dist/wasm/internal/hashes.d.ts +12 -1
- package/dist/wasm/internal/hashes.d.ts.map +1 -1
- package/dist/wasm/internal/hashes.js +18 -1
- package/dist/wasm/internal/hashes.js.map +1 -1
- package/dist/wasm/internal/hashes.wasm.d.ts +11 -3
- package/dist/wasm/internal/hashes.wasm.d.ts.map +1 -1
- package/dist/wasm/internal/hashes.wasm.js +11 -3
- package/dist/wasm/internal/hashes.wasm.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/dist/webauthn/Authentication.d.ts +2 -0
- package/dist/webauthn/Authentication.d.ts.map +1 -1
- package/dist/webauthn/Authentication.js +2 -1
- package/dist/webauthn/Authentication.js.map +1 -1
- package/dist/webauthn/Registration.d.ts.map +1 -1
- package/dist/webauthn/Registration.js +2 -1
- package/dist/webauthn/Registration.js.map +1 -1
- package/dist/webauthn/Types.d.ts +27 -6
- package/dist/webauthn/Types.d.ts.map +1 -1
- package/dist/webauthn/internal/utils.d.ts.map +1 -1
- package/dist/webauthn/internal/utils.js +35 -9
- package/dist/webauthn/internal/utils.js.map +1 -1
- package/dist/zod/TypedData.d.ts +2 -2
- package/package.json +27 -2
- package/src/benchmarks/Ox.bench.ts +6 -0
- package/src/benchmarks/OxNode.bench.ts +8 -0
- package/src/benchmarks/OxV0.bench.ts +4 -0
- package/src/benchmarks/OxWasm.bench.ts +22 -0
- package/src/core/AbiFunction.ts +5 -5
- package/src/core/AbiParameters.ts +8 -20
- package/src/core/AesGcm.ts +86 -1
- package/src/core/Ed25519.ts +87 -1
- package/src/core/Engine.ts +1 -0
- package/src/core/Hash.ts +321 -1
- package/src/core/Hex.ts +1 -4
- package/src/core/Rlp.ts +172 -5
- package/src/core/Secp256k1.ts +92 -1
- package/src/core/WebAuthn.ts +579 -0
- package/src/core/WebAuthnP256.ts +47 -50
- package/src/core/_test/AbiFunction.test.ts +9 -0
- package/src/core/_test/AbiParameters.differential.fuzz.ts +156 -0
- package/src/core/_test/AbiParameters.encode.test.ts +22 -0
- package/src/core/_test/AbiParameters.fuzz.ts +4 -0
- package/src/core/_test/AesGcm.test.ts +76 -0
- package/src/core/_test/Block.test.ts +9 -2
- package/src/core/_test/Ed25519.test-d.ts +13 -1
- package/src/core/_test/Ed25519.test.ts +120 -1
- package/src/core/_test/Engine.test-d.ts +9 -0
- package/src/core/_test/Engine.test.ts +1 -1
- package/src/core/_test/Hash.test-d.ts +41 -0
- package/src/core/_test/Hash.test.ts +278 -1
- package/src/core/_test/Hash.vectors.test.ts +1 -2
- package/src/core/_test/Hex.test.ts +2 -0
- package/src/core/_test/Rlp.test-d.ts +18 -0
- package/src/core/_test/Rlp.test.ts +109 -0
- package/src/core/_test/Secp256k1.test-d.ts +14 -0
- package/src/core/_test/Secp256k1.test.ts +91 -1
- package/src/core/_test/Transaction.test.ts +11 -2
- package/src/core/_test/WebAuthn.test-d.ts +142 -0
- package/src/core/_test/WebAuthn.test.ts +766 -0
- package/src/core/_test/index.test.ts +1 -0
- package/src/core/internal/abiParameters.ts +466 -326
- package/src/core/internal/engine.ts +47 -2
- package/src/core/internal/hash.ts +53 -1
- package/src/index.ts +24 -14
- package/src/node/Engine.ts +1 -0
- package/src/node/Hash.ts +43 -6
- package/src/node/_test/Engine.test-d.ts +1 -0
- package/src/node/_test/Engine.test.ts +2 -0
- package/src/node/_test/Hash.test-d.ts +11 -0
- package/src/node/_test/Hash.test.ts +46 -0
- package/src/tempo/AuthorizationTempo.ts +6 -6
- package/src/tempo/KeyAuthorization.ts +3 -8
- package/src/tempo/SignatureEnvelope.ts +8 -8
- 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 +9 -6
- package/src/wasm/Hash.ts +10 -0
- 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 +2 -0
- package/src/wasm/_test/Engine.test.ts +5 -0
- package/src/wasm/_test/Hash.browser.test.ts +31 -0
- package/src/wasm/_test/Hash.test-d.ts +17 -0
- package/src/wasm/_test/Hash.test.ts +252 -3
- 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/blake3.ts +23 -2
- package/src/wasm/internal/blake3.wasm.ts +4 -1
- package/src/wasm/internal/hash.ts +27 -1
- package/src/wasm/internal/hashState.ts +154 -0
- package/src/wasm/internal/hashes.ts +56 -15
- package/src/wasm/internal/hashes.wasm.ts +15 -3
- 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/src/webauthn/Authentication.ts +4 -0
- package/src/webauthn/Registration.ts +2 -0
- package/src/webauthn/Types.ts +32 -2
- package/src/webauthn/_test/Authentication.test.ts +123 -1
- package/src/webauthn/_test/Registration.test.ts +26 -6
- package/src/webauthn/_test/WebAuthn.browser.test.ts +28 -0
- package/src/webauthn/internal/utils.ts +41 -8
- 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":"mainnet.js","sourceRoot":"","sources":["../../../../src/trusted-setups/internal/setups/mainnet.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,+DAA+D;AAC/D,+EAA+E;AAE/E,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GACrB,kggQAAkggQ,CAAA;AAEpggQ,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GACrB,kggQAAkggQ,CAAA;AAEpggQ,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GACrB,koQAAkoQ,CAAA"}
|
package/dist/wasm/Engine.d.ts
CHANGED
|
@@ -2,12 +2,11 @@ import * as CoreEngine from '../core/Engine.js';
|
|
|
2
2
|
import type * as Errors from '../core/Errors.js';
|
|
3
3
|
import * as Ed25519 from './Ed25519.js';
|
|
4
4
|
import * as Hash from './Hash.js';
|
|
5
|
-
import * as Keystore from './Keystore.js';
|
|
6
5
|
import * as Mnemonic from './Mnemonic.js';
|
|
7
6
|
import * as X25519 from './X25519.js';
|
|
8
7
|
import type * as internal from './internal/instantiate.js';
|
|
9
8
|
export { AsyncScopeError, get, InvalidSlotValueError, reset, set, UnknownPrimitiveError, UnknownSlotError, with, } from '../core/Engine.js';
|
|
10
|
-
export type { Bls, Ecdh, Ecdsa, Eddsa, Engine, Hash, Keystore, Mnemonic, } from '../core/Engine.js';
|
|
9
|
+
export type { Bls, Ecdh, Ecdsa, Eddsa, Engine, Hash, HashState, Keystore, Mnemonic, } from '../core/Engine.js';
|
|
11
10
|
/**
|
|
12
11
|
* Compiles and installs every WASM implementation this entrypoint provides.
|
|
13
12
|
*
|
|
@@ -62,7 +61,9 @@ export declare namespace engine {
|
|
|
62
61
|
type ReturnType = {
|
|
63
62
|
Ed25519: Ed25519.engine.ReturnType;
|
|
64
63
|
Hash: Hash.engine.ReturnType;
|
|
65
|
-
Keystore:
|
|
64
|
+
Keystore: {
|
|
65
|
+
pbkdf2Sha256: NonNullable<CoreEngine.Keystore['pbkdf2Sha256']>;
|
|
66
|
+
};
|
|
66
67
|
Mnemonic: Mnemonic.engine.ReturnType;
|
|
67
68
|
X25519: X25519.engine.ReturnType;
|
|
68
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/wasm/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/wasm/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAE1D,OAAO,EACL,eAAe,EACf,GAAG,EACH,qBAAqB,EACrB,KAAK,EACL,GAAG,EACH,qBAAqB,EACrB,gBAAgB,EAChB,IAAI,GACL,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,GACT,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAQ3D;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IAEnC,KAAK,SAAS,GACV,MAAM,CAAC,SAAS,GAChB,UAAU,CAAC,OAAO,CAAC,SAAS,GAC5B,MAAM,CAAC,eAAe,CAAA;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAezD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,KAAK,UAAU,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAA;QAClC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAA;QAC5B,QAAQ,EAAE;YACR,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;SAC/D,CAAA;QACD,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAA;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;KACjC,CAAA;IAED,KAAK,SAAS,GAAG,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAA;CAC/D"}
|
package/dist/wasm/Engine.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as CoreEngine from '../core/Engine.js';
|
|
2
2
|
import * as Ed25519 from './Ed25519.js';
|
|
3
3
|
import * as Hash from './Hash.js';
|
|
4
|
-
import * as
|
|
4
|
+
import * as keystore from './internal/keystore.js';
|
|
5
5
|
import * as Mnemonic from './Mnemonic.js';
|
|
6
6
|
import * as X25519 from './X25519.js';
|
|
7
7
|
export { AsyncScopeError, get, InvalidSlotValueError, reset, set, UnknownPrimitiveError, UnknownSlotError, with, } from '../core/Engine.js';
|
|
@@ -31,7 +31,7 @@ export async function install() {
|
|
|
31
31
|
return CoreEngine.install({
|
|
32
32
|
Ed25519: Ed25519.engine(),
|
|
33
33
|
Hash: Hash.engine(),
|
|
34
|
-
Keystore:
|
|
34
|
+
Keystore: keystore.engine(),
|
|
35
35
|
Mnemonic: Mnemonic.engine(),
|
|
36
36
|
X25519: X25519.engine(),
|
|
37
37
|
});
|
|
@@ -58,17 +58,17 @@ export async function install() {
|
|
|
58
58
|
* @returns An engine, ready to install.
|
|
59
59
|
*/
|
|
60
60
|
export async function engine() {
|
|
61
|
-
const [ed25519, hash,
|
|
61
|
+
const [ed25519, hash, keystoreEngine, mnemonic, x25519] = await Promise.all([
|
|
62
62
|
Ed25519.engine(),
|
|
63
63
|
Hash.engine(),
|
|
64
|
-
|
|
64
|
+
keystore.engine(),
|
|
65
65
|
Mnemonic.engine(),
|
|
66
66
|
X25519.engine(),
|
|
67
67
|
]);
|
|
68
68
|
return {
|
|
69
69
|
Ed25519: ed25519,
|
|
70
70
|
Hash: hash,
|
|
71
|
-
Keystore:
|
|
71
|
+
Keystore: keystoreEngine,
|
|
72
72
|
Mnemonic: mnemonic,
|
|
73
73
|
X25519: x25519,
|
|
74
74
|
};
|
package/dist/wasm/Engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/wasm/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,
|
|
1
|
+
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/wasm/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAGrC,OAAO,EACL,eAAe,EACf,GAAG,EACH,qBAAqB,EACrB,KAAK,EACL,GAAG,EACH,qBAAqB,EACrB,gBAAgB,EAChB,IAAI,GACL,MAAM,mBAAmB,CAAA;AAa1B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,OAAO,UAAU,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC3B,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;KACxB,CAAC,CAAA;AACJ,CAAC;AAWD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1E,OAAO,CAAC,MAAM,EAAE;QAChB,IAAI,CAAC,MAAM,EAAE;QACb,QAAQ,CAAC,MAAM,EAAE;QACjB,QAAQ,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,MAAM,EAAE;KAChB,CAAC,CAAA;IACF,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACf,CAAA;AACH,CAAC"}
|
package/dist/wasm/Hash.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export declare function engine(): Promise<engine.ReturnType>;
|
|
|
36
36
|
export declare namespace engine {
|
|
37
37
|
/** Every `Hash` primitive this module implements. */
|
|
38
38
|
type ReturnType = {
|
|
39
|
-
[key in 'blake3' | 'hmacSha256' | 'keccak256' | 'ripemd160' | 'sha256']-?: NonNullable<Engine.Hash[key]>;
|
|
39
|
+
[key in 'blake3' | 'createBlake3' | 'createHmacSha256' | 'createKeccak256' | 'createRipemd160' | 'createSha256' | 'hmacSha256' | 'keccak256' | 'ripemd160' | 'sha256']-?: NonNullable<Engine.Hash[key]>;
|
|
40
40
|
};
|
|
41
41
|
type ErrorType = internal.MemoryError | Errors.GlobalErrorType;
|
|
42
42
|
}
|
package/dist/wasm/Hash.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../src/wasm/Hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAIhD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../src/wasm/Hash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAIhD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAoCzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,qDAAqD;IACrD,KAAK,UAAU,GAAG;SACf,GAAG,IACA,QAAQ,GACR,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,WAAW,GACX,WAAW,GACX,QAAQ,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/C,CAAA;IAED,KAAK,SAAS,GAAG,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAA;CAC/D"}
|
package/dist/wasm/Hash.js
CHANGED
|
@@ -54,6 +54,11 @@ export async function engine() {
|
|
|
54
54
|
}
|
|
55
55
|
return {
|
|
56
56
|
blake3: (input) => blake3.hash(blake3Module, input),
|
|
57
|
+
createBlake3: () => blake3.create(blake3Module),
|
|
58
|
+
createHmacSha256: (key) => hash.createHmacSha256(module, key),
|
|
59
|
+
createKeccak256: () => hashes.create(module, 'keccak256'),
|
|
60
|
+
createRipemd160: () => hashes.create(module, 'ripemd160'),
|
|
61
|
+
createSha256: () => hashes.create(module, 'sha256'),
|
|
57
62
|
hmacSha256: (key, message) => hash.hmacSha256(module, key, message),
|
|
58
63
|
keccak256: (input) => call('keccak256', input),
|
|
59
64
|
ripemd160: (input) => call('ripemd160', input),
|
package/dist/wasm/Hash.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../src/wasm/Hash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAG9C,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,8BAA8B;AAC9B,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,CAAC;QACC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,MAAM,CAAC,IAAI,EAAE;YACb,MAAM,CAAC,IAAI,EAAE;SACd,CAAC,CAAA;QAEF,kEAAkE;QAClE,SAAS,IAAI,CACX,IAA0C,EAC1C,KAAiB;YAEjB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YAChC,MAAM,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;YACtC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACpD,4EAA4E;YAC5E,uDAAuD;YACvD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;QAClD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YACnD,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;YACnE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;YAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;YAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;SACzC,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../src/wasm/Hash.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAG9C,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,8BAA8B;AAC9B,MAAM,UAAU,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,CAAC;QACC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,MAAM,CAAC,IAAI,EAAE;YACb,MAAM,CAAC,IAAI,EAAE;SACd,CAAC,CAAA;QAEF,kEAAkE;QAClE,SAAS,IAAI,CACX,IAA0C,EAC1C,KAAiB;YAEjB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YAChC,MAAM,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAA;YACtC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAClC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACpD,4EAA4E;YAC5E,uDAAuD;YACvD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;QAClD,CAAC;QAED,OAAO;YACL,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YACnD,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;YAC/C,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC;YAC7D,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;YACzD,eAAe,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;YACzD,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;YACnD,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC;YACnE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;YAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC;YAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;SACzC,CAAA;IACH,CAAC;AACH,CAAC"}
|
package/dist/wasm/Keystore.d.ts
CHANGED
|
@@ -4,14 +4,26 @@ import * as internal from './internal/instantiate.js';
|
|
|
4
4
|
export * from '../core/Keystore.js';
|
|
5
5
|
export { MemoryError } from './internal/instantiate.js';
|
|
6
6
|
/**
|
|
7
|
-
* Compiles the WASM
|
|
8
|
-
*
|
|
7
|
+
* Compiles the WASM implementations of the [`Keystore`](/api/Keystore)
|
|
8
|
+
* synchronous key-derivation primitives, without installing them.
|
|
9
9
|
*
|
|
10
|
-
* Most callers
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* and
|
|
10
|
+
* Most callers can use [`Engine.install`](/wasm/crypto/Engine/install).
|
|
11
|
+
* Install this factory explicitly when an application has benchmarked and
|
|
12
|
+
* selected WASM scrypt.
|
|
13
|
+
*
|
|
14
|
+
* This provider stays synchronous and leaves AES and asynchronous key
|
|
15
|
+
* derivation on Ox's default implementation.
|
|
16
|
+
*
|
|
17
|
+
* Scrypt uses a standalone artifact and grows memory only when called.
|
|
18
|
+
* WebAssembly cannot shrink that capacity. The provider clears its contents
|
|
19
|
+
* and enforces Noble's 1 GiB temporary-workspace limit.
|
|
20
|
+
*
|
|
21
|
+
* The aggregate [`Engine.install`](/wasm/crypto/Engine/install) installs only
|
|
22
|
+
* PBKDF2 from this provider. Install this factory explicitly to opt into
|
|
23
|
+
* scrypt, whose relative performance depends on its parameters and runtime.
|
|
24
|
+
*
|
|
25
|
+
* Copied inputs, derived output, and the complete workspace are cleared after
|
|
26
|
+
* every return or trap.
|
|
15
27
|
*
|
|
16
28
|
* @example
|
|
17
29
|
* ```ts twoslash
|
|
@@ -21,16 +33,18 @@ export { MemoryError } from './internal/instantiate.js';
|
|
|
21
33
|
*
|
|
22
34
|
* await Engine.install({ Keystore: Keystore.engine() })
|
|
23
35
|
*
|
|
24
|
-
* Keystore.
|
|
36
|
+
* Keystore.scrypt({ password: 'testpassword' })
|
|
25
37
|
* ```
|
|
26
38
|
*
|
|
27
|
-
* @returns The WASM
|
|
39
|
+
* @returns The WASM implementations of synchronous PBKDF2-HMAC-SHA256 and
|
|
40
|
+
* scrypt.
|
|
28
41
|
*/
|
|
29
42
|
export declare function engine(): Promise<engine.ReturnType>;
|
|
30
43
|
export declare namespace engine {
|
|
31
44
|
/** The WASM `Keystore` primitives this module implements. */
|
|
32
45
|
type ReturnType = {
|
|
33
46
|
pbkdf2Sha256: NonNullable<Engine.Keystore['pbkdf2Sha256']>;
|
|
47
|
+
scrypt: NonNullable<Engine.Keystore['scrypt']>;
|
|
34
48
|
};
|
|
35
49
|
type ErrorType = internal.MemoryError | Errors.GlobalErrorType;
|
|
36
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Keystore.d.ts","sourceRoot":"","sources":["../../src/wasm/Keystore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"Keystore.d.ts","sourceRoot":"","sources":["../../src/wasm/Keystore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAIrD,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAUzD;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,6DAA6D;IAC7D,KAAK,UAAU,GAAG;QAChB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAA;QAC1D,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;KAC/C,CAAA;IAED,KAAK,SAAS,GAAG,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,eAAe,CAAA;CAC/D"}
|
package/dist/wasm/Keystore.js
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as keystore from './internal/keystore.js';
|
|
2
|
+
import * as scrypt from './internal/scrypt.js';
|
|
3
3
|
export * from '../core/Keystore.js';
|
|
4
4
|
export { MemoryError } from './internal/instantiate.js';
|
|
5
5
|
/**
|
|
6
|
-
* Compiles the WASM
|
|
7
|
-
*
|
|
6
|
+
* Compiles the WASM implementations of the [`Keystore`](/api/Keystore)
|
|
7
|
+
* synchronous key-derivation primitives, without installing them.
|
|
8
8
|
*
|
|
9
|
-
* Most callers
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* and
|
|
9
|
+
* Most callers can use [`Engine.install`](/wasm/crypto/Engine/install).
|
|
10
|
+
* Install this factory explicitly when an application has benchmarked and
|
|
11
|
+
* selected WASM scrypt.
|
|
12
|
+
*
|
|
13
|
+
* This provider stays synchronous and leaves AES and asynchronous key
|
|
14
|
+
* derivation on Ox's default implementation.
|
|
15
|
+
*
|
|
16
|
+
* Scrypt uses a standalone artifact and grows memory only when called.
|
|
17
|
+
* WebAssembly cannot shrink that capacity. The provider clears its contents
|
|
18
|
+
* and enforces Noble's 1 GiB temporary-workspace limit.
|
|
19
|
+
*
|
|
20
|
+
* The aggregate [`Engine.install`](/wasm/crypto/Engine/install) installs only
|
|
21
|
+
* PBKDF2 from this provider. Install this factory explicitly to opt into
|
|
22
|
+
* scrypt, whose relative performance depends on its parameters and runtime.
|
|
23
|
+
*
|
|
24
|
+
* Copied inputs, derived output, and the complete workspace are cleared after
|
|
25
|
+
* every return or trap.
|
|
14
26
|
*
|
|
15
27
|
* @example
|
|
16
28
|
* ```ts twoslash
|
|
@@ -20,15 +32,20 @@ export { MemoryError } from './internal/instantiate.js';
|
|
|
20
32
|
*
|
|
21
33
|
* await Engine.install({ Keystore: Keystore.engine() })
|
|
22
34
|
*
|
|
23
|
-
* Keystore.
|
|
35
|
+
* Keystore.scrypt({ password: 'testpassword' })
|
|
24
36
|
* ```
|
|
25
37
|
*
|
|
26
|
-
* @returns The WASM
|
|
38
|
+
* @returns The WASM implementations of synchronous PBKDF2-HMAC-SHA256 and
|
|
39
|
+
* scrypt.
|
|
27
40
|
*/
|
|
28
41
|
export async function engine() {
|
|
29
|
-
const
|
|
42
|
+
const [keystoreEngine, scryptModule] = await Promise.all([
|
|
43
|
+
keystore.engine(),
|
|
44
|
+
scrypt.load(),
|
|
45
|
+
]);
|
|
30
46
|
return {
|
|
31
|
-
|
|
47
|
+
...keystoreEngine,
|
|
48
|
+
scrypt: (password, salt, options) => scrypt.derive(scryptModule, password, salt, options),
|
|
32
49
|
};
|
|
33
50
|
}
|
|
34
51
|
//# sourceMappingURL=Keystore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Keystore.js","sourceRoot":"","sources":["../../src/wasm/Keystore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Keystore.js","sourceRoot":"","sources":["../../src/wasm/Keystore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C,cAAc,qBAAqB,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,QAAQ,CAAC,MAAM,EAAE;QACjB,MAAM,CAAC,IAAI,EAAE;KACd,CAAC,CAAA;IACF,OAAO;QACL,GAAG,cAAc;QACjB,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAClC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;KACvD,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import * as Bytes from '../core/Bytes.js';
|
|
2
|
+
import * as Errors from '../core/Errors.js';
|
|
3
|
+
import type * as CoreKzg from '../core/Kzg.js';
|
|
4
|
+
export * from '../core/Kzg.js';
|
|
5
|
+
/**
|
|
6
|
+
* Trusted setup points accepted by `create`.
|
|
7
|
+
*
|
|
8
|
+
* Point arrays use the established Ethereum trusted-setup field names. Each
|
|
9
|
+
* field may also be supplied as one packed byte array.
|
|
10
|
+
*/
|
|
11
|
+
export type TrustedSetup = {
|
|
12
|
+
/** 4,096 G1 points in Lagrange form. */
|
|
13
|
+
readonly g1_lagrange: Bytes.Bytes | readonly string[];
|
|
14
|
+
/** 4,096 G1 points in monomial form. */
|
|
15
|
+
readonly g1_monomial: Bytes.Bytes | readonly string[];
|
|
16
|
+
/** 65 G2 points in monomial form. */
|
|
17
|
+
readonly g2_monomial: Bytes.Bytes | readonly string[];
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Creates an independently owned WASM implementation of [`Kzg.Kzg`](/api/Kzg).
|
|
21
|
+
*
|
|
22
|
+
* The factory compiles the c-kzg artifact once per JavaScript realm. Every call
|
|
23
|
+
* instantiates separate WASM memory and trusted-setup state. Call `dispose` when
|
|
24
|
+
* the instance is no longer needed.
|
|
25
|
+
*
|
|
26
|
+
* Operations on an instance are synchronous and run to completion. JavaScript
|
|
27
|
+
* workers do not share an instance, so create one in each worker that needs KZG.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts twoslash
|
|
31
|
+
* // @noErrors
|
|
32
|
+
* import { Setups } from 'ox/trusted-setups'
|
|
33
|
+
* import { Kzg } from 'ox/wasm'
|
|
34
|
+
*
|
|
35
|
+
* const kzg = await Kzg.create({
|
|
36
|
+
* trustedSetup: Setups.mainnet
|
|
37
|
+
* })
|
|
38
|
+
* // Pass `kzg` anywhere that accepts `Kzg.Kzg`.
|
|
39
|
+
*
|
|
40
|
+
* kzg.dispose()
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @param options - Trusted setup and precomputation options.
|
|
44
|
+
* @returns An initialized KZG implementation with explicit disposal.
|
|
45
|
+
*/
|
|
46
|
+
export declare function create(options: create.Options): Promise<create.ReturnType>;
|
|
47
|
+
export declare namespace create {
|
|
48
|
+
/** Options for `create`. */
|
|
49
|
+
type Options = {
|
|
50
|
+
/**
|
|
51
|
+
* Fixed-base MSM window from 0 through 8.
|
|
52
|
+
*
|
|
53
|
+
* `0` performs no fixed-base precomputation and uses the least memory.
|
|
54
|
+
* Larger values improve proof generation at an exponential memory cost.
|
|
55
|
+
*
|
|
56
|
+
* @default 0
|
|
57
|
+
*/
|
|
58
|
+
precompute?: number | undefined;
|
|
59
|
+
/** Ethereum trusted-setup points. */
|
|
60
|
+
trustedSetup: TrustedSetup;
|
|
61
|
+
};
|
|
62
|
+
/** An initialized KZG implementation with explicit lifecycle ownership. */
|
|
63
|
+
type ReturnType = CoreKzg.Kzg & {
|
|
64
|
+
/**
|
|
65
|
+
* Releases the trusted setup and makes every operation throw.
|
|
66
|
+
*
|
|
67
|
+
* Disposal is idempotent.
|
|
68
|
+
*/
|
|
69
|
+
dispose(): void;
|
|
70
|
+
};
|
|
71
|
+
type ErrorType = DisposedError | InvalidInputError | InvalidPrecomputeError | InvalidTrustedSetupError | MemoryError | WasmError | Errors.GlobalErrorType;
|
|
72
|
+
}
|
|
73
|
+
/** Thrown when an operation is called after its KZG instance was disposed. */
|
|
74
|
+
export declare class DisposedError extends Errors.BaseError {
|
|
75
|
+
readonly name = "Kzg.DisposedError";
|
|
76
|
+
constructor();
|
|
77
|
+
}
|
|
78
|
+
/** Thrown when a KZG operation receives malformed input. */
|
|
79
|
+
export declare class InvalidInputError extends Errors.BaseError {
|
|
80
|
+
readonly name = "Kzg.InvalidInputError";
|
|
81
|
+
constructor({ message }: {
|
|
82
|
+
message: string;
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
/** Thrown when `precompute` is outside the supported memory bound. */
|
|
86
|
+
export declare class InvalidPrecomputeError extends Errors.BaseError {
|
|
87
|
+
readonly name = "Kzg.InvalidPrecomputeError";
|
|
88
|
+
constructor({ precompute }: {
|
|
89
|
+
precompute: number;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/** Thrown when c-kzg rejects the trusted setup. */
|
|
93
|
+
export declare class InvalidTrustedSetupError extends Errors.BaseError {
|
|
94
|
+
readonly name = "Kzg.InvalidTrustedSetupError";
|
|
95
|
+
constructor(options?: {
|
|
96
|
+
message?: string | undefined;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/** Thrown when the KZG artifact reaches its 128 MiB memory limit. */
|
|
100
|
+
export declare class MemoryError extends Errors.BaseError {
|
|
101
|
+
readonly name = "Kzg.MemoryError";
|
|
102
|
+
constructor();
|
|
103
|
+
}
|
|
104
|
+
/** Thrown when the KZG artifact traps or reports an internal error. */
|
|
105
|
+
export declare class WasmError extends Errors.BaseError<Error | undefined> {
|
|
106
|
+
readonly name = "Kzg.WasmError";
|
|
107
|
+
constructor(options?: {
|
|
108
|
+
cause?: Error | undefined;
|
|
109
|
+
operation?: string | undefined;
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=Kzg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Kzg.d.ts","sourceRoot":"","sources":["../../src/wasm/Kzg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAG9C,cAAc,gBAAgB,CAAA;AAU9B;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,MAAM,EAAE,CAAA;IACrD,wCAAwC;IACxC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,MAAM,EAAE,CAAA;IACrD,qCAAqC;IACrC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,MAAM,EAAE,CAAA;CACtD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,GACtB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAiN5B;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,4BAA4B;IAC5B,KAAK,OAAO,GAAG;QACb;;;;;;;WAOG;QACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC/B,qCAAqC;QACrC,YAAY,EAAE,YAAY,CAAA;KAC3B,CAAA;IAED,2EAA2E;IAC3E,KAAK,UAAU,GAAG,OAAO,CAAC,GAAG,GAAG;QAC9B;;;;WAIG;QACH,OAAO,IAAI,IAAI,CAAA;KAChB,CAAA;IAED,KAAK,SAAS,GACV,aAAa,GACb,iBAAiB,GACjB,sBAAsB,GACtB,wBAAwB,GACxB,WAAW,GACX,SAAS,GACT,MAAM,CAAC,eAAe,CAAA;CAC3B;AAkJD,8EAA8E;AAC9E,qBAAa,aAAc,SAAQ,MAAM,CAAC,SAAS;IACjD,SAAkB,IAAI,uBAAsB;;CAK7C;AAED,4DAA4D;AAC5D,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,SAAS;IACrD,SAAkB,IAAI,2BAA0B;gBAEpC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE;CAG7C;AAED,sEAAsE;AACtE,qBAAa,sBAAuB,SAAQ,MAAM,CAAC,SAAS;IAC1D,SAAkB,IAAI,gCAA+B;gBAEzC,EAAE,UAAU,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE;CAKnD;AAED,mDAAmD;AACnD,qBAAa,wBAAyB,SAAQ,MAAM,CAAC,SAAS;IAC5D,SAAkB,IAAI,kCAAiC;gBAE3C,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO;CAG3D;AAED,qEAAqE;AACrE,qBAAa,WAAY,SAAQ,MAAM,CAAC,SAAS;IAC/C,SAAkB,IAAI,qBAAoB;;CAU3C;AAED,uEAAuE;AACvE,qBAAa,SAAU,SAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;IAChE,SAAkB,IAAI,mBAAkB;gBAGtC,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAO;CAS9E"}
|