ox 1.0.5 → 1.1.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 +50 -0
- package/dist/core/Base64.d.ts +10 -21
- package/dist/core/Base64.d.ts.map +1 -1
- package/dist/core/Base64.js +8 -127
- package/dist/core/Base64.js.map +1 -1
- package/dist/core/BinaryStateTree.d.ts.map +1 -1
- package/dist/core/BinaryStateTree.js +2 -2
- package/dist/core/BinaryStateTree.js.map +1 -1
- package/dist/core/Bls.d.ts.map +1 -1
- package/dist/core/Bls.js +19 -44
- package/dist/core/Bls.js.map +1 -1
- package/dist/core/Ed25519.d.ts.map +1 -1
- package/dist/core/Ed25519.js +7 -6
- package/dist/core/Ed25519.js.map +1 -1
- package/dist/core/Engine.d.ts +124 -0
- package/dist/core/Engine.d.ts.map +1 -0
- package/dist/core/Engine.js +180 -0
- package/dist/core/Engine.js.map +1 -0
- package/dist/core/Hash.d.ts +4 -4
- package/dist/core/Hash.d.ts.map +1 -1
- package/dist/core/Hash.js +9 -12
- package/dist/core/Hash.js.map +1 -1
- package/dist/core/Keystore.d.ts.map +1 -1
- package/dist/core/Keystore.js +15 -10
- package/dist/core/Keystore.js.map +1 -1
- package/dist/core/Mnemonic.d.ts.map +1 -1
- package/dist/core/Mnemonic.js +3 -2
- package/dist/core/Mnemonic.js.map +1 -1
- package/dist/core/P256.d.ts.map +1 -1
- package/dist/core/P256.js +8 -9
- package/dist/core/P256.js.map +1 -1
- package/dist/core/Secp256k1.d.ts.map +1 -1
- package/dist/core/Secp256k1.js +8 -9
- package/dist/core/Secp256k1.js.map +1 -1
- package/dist/core/WebCryptoP256.d.ts.map +1 -1
- package/dist/core/WebCryptoP256.js +2 -2
- package/dist/core/WebCryptoP256.js.map +1 -1
- package/dist/core/X25519.d.ts.map +1 -1
- package/dist/core/X25519.js +4 -3
- package/dist/core/X25519.js.map +1 -1
- package/dist/core/internal/bls.d.ts +12 -0
- package/dist/core/internal/bls.d.ts.map +1 -0
- package/dist/core/internal/bls.js +79 -0
- package/dist/core/internal/bls.js.map +1 -0
- package/dist/core/internal/codec/base64.d.ts +84 -0
- package/dist/core/internal/codec/base64.d.ts.map +1 -0
- package/dist/core/internal/codec/base64.js +177 -0
- package/dist/core/internal/codec/base64.js.map +1 -0
- package/dist/core/internal/codec/hex.d.ts +49 -4
- package/dist/core/internal/codec/hex.d.ts.map +1 -1
- package/dist/core/internal/codec/hex.js +109 -35
- package/dist/core/internal/codec/hex.js.map +1 -1
- package/dist/core/internal/curves.d.ts +17 -0
- package/dist/core/internal/curves.d.ts.map +1 -0
- package/dist/core/internal/curves.js +17 -0
- package/dist/core/internal/curves.js.map +1 -0
- package/dist/core/internal/ed25519.d.ts +14 -0
- package/dist/core/internal/ed25519.d.ts.map +1 -0
- package/dist/core/internal/ed25519.js +29 -0
- package/dist/core/internal/ed25519.js.map +1 -0
- package/dist/core/internal/engine.d.ts +278 -0
- package/dist/core/internal/engine.d.ts.map +1 -0
- package/dist/core/internal/engine.js +131 -0
- package/dist/core/internal/engine.js.map +1 -0
- package/dist/core/internal/hash.d.ts +12 -0
- package/dist/core/internal/hash.d.ts.map +1 -0
- package/dist/core/internal/hash.js +30 -0
- package/dist/core/internal/hash.js.map +1 -0
- package/dist/core/internal/keystore.d.ts +14 -0
- package/dist/core/internal/keystore.d.ts.map +1 -0
- package/dist/core/internal/keystore.js +32 -0
- package/dist/core/internal/keystore.js.map +1 -0
- package/dist/core/internal/mnemonic.d.ts +4 -0
- package/dist/core/internal/mnemonic.d.ts.map +1 -0
- package/dist/core/internal/mnemonic.js +14 -0
- package/dist/core/internal/mnemonic.js.map +1 -0
- package/dist/core/internal/p256.d.ts +14 -0
- package/dist/core/internal/p256.d.ts.map +1 -0
- package/dist/core/internal/p256.js +36 -0
- package/dist/core/internal/p256.js.map +1 -0
- package/dist/core/internal/secp256k1.d.ts +14 -0
- package/dist/core/internal/secp256k1.d.ts.map +1 -0
- package/dist/core/internal/secp256k1.js +36 -0
- package/dist/core/internal/secp256k1.js.map +1 -0
- package/dist/core/internal/x25519.d.ts +8 -0
- package/dist/core/internal/x25519.d.ts.map +1 -0
- package/dist/core/internal/x25519.js +20 -0
- package/dist/core/internal/x25519.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.docs.d.ts +2 -0
- package/dist/index.docs.d.ts.map +1 -1
- package/dist/index.docs.js +2 -0
- package/dist/index.docs.js.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/node/Engine.d.ts +55 -0
- package/dist/node/Engine.d.ts.map +1 -0
- package/dist/node/Engine.js +51 -0
- package/dist/node/Engine.js.map +1 -0
- package/dist/node/Hash.d.ts +39 -0
- package/dist/node/Hash.d.ts.map +1 -0
- package/dist/node/Hash.js +37 -0
- package/dist/node/Hash.js.map +1 -0
- package/dist/node/index.d.ts +39 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +39 -0
- package/dist/node/index.js.map +1 -0
- package/dist/tempo/VirtualMaster.d.ts +2 -0
- package/dist/tempo/VirtualMaster.d.ts.map +1 -1
- package/dist/tempo/VirtualMaster.js +19 -5
- package/dist/tempo/VirtualMaster.js.map +1 -1
- package/dist/tempo/internal/mine.wasm.d.ts +2 -4
- package/dist/tempo/internal/mine.wasm.d.ts.map +1 -1
- package/dist/tempo/internal/mine.wasm.js +7 -12
- package/dist/tempo/internal/mine.wasm.js.map +1 -1
- package/dist/tempo/internal/virtualMasterPool.js +4 -1
- package/dist/tempo/internal/virtualMasterPool.js.map +1 -1
- package/dist/wasm/Engine.d.ts +62 -0
- package/dist/wasm/Engine.d.ts.map +1 -0
- package/dist/wasm/Engine.js +57 -0
- package/dist/wasm/Engine.js.map +1 -0
- package/dist/wasm/Hash.d.ts +49 -0
- package/dist/wasm/Hash.d.ts.map +1 -0
- package/dist/wasm/Hash.js +70 -0
- package/dist/wasm/Hash.js.map +1 -0
- package/dist/wasm/index.d.ts +46 -0
- package/dist/wasm/index.d.ts.map +1 -0
- package/dist/wasm/index.js +46 -0
- package/dist/wasm/index.js.map +1 -0
- package/dist/wasm/internal/hash.d.ts +9 -0
- package/dist/wasm/internal/hash.d.ts.map +1 -0
- package/dist/wasm/internal/hash.js +26 -0
- package/dist/wasm/internal/hash.js.map +1 -0
- package/dist/wasm/internal/hashes.wasm.d.ts +5 -0
- package/dist/wasm/internal/hashes.wasm.d.ts.map +1 -0
- package/dist/wasm/internal/hashes.wasm.js +12 -0
- package/dist/wasm/internal/hashes.wasm.js.map +1 -0
- package/dist/wasm/internal/instantiate.d.ts +56 -0
- package/dist/wasm/internal/instantiate.d.ts.map +1 -0
- package/dist/wasm/internal/instantiate.js +92 -0
- package/dist/wasm/internal/instantiate.js.map +1 -0
- package/dist/zod/TypedData.d.ts +12 -12
- package/package.json +36 -1
- package/src/core/Base64.ts +19 -166
- package/src/core/BinaryStateTree.ts +2 -3
- package/src/core/Bls.ts +27 -77
- package/src/core/Ed25519.ts +7 -7
- package/src/core/Engine.ts +235 -0
- package/src/core/Hash.ts +9 -12
- package/src/core/Keystore.ts +17 -17
- package/src/core/Mnemonic.ts +3 -6
- package/src/core/P256.ts +15 -24
- package/src/core/Rlp_tx.bench.ts +2 -4
- package/src/core/Secp256k1.ts +9 -14
- package/src/core/TxEnvelopeEip1559.bench.ts +0 -5
- package/src/core/WebCryptoP256.ts +2 -2
- package/src/core/X25519.ts +4 -3
- package/src/core/_test/AbiParameters.adversarial.fuzz.ts +1 -2
- package/src/core/_test/AbiParameters.fuzz.ts +1 -2
- package/src/core/_test/Base.fuzz.ts +1 -2
- package/src/core/_test/Cbor.fuzz.ts +1 -2
- package/src/core/_test/Engine.fuzz.ts +293 -0
- package/src/core/_test/Engine.test-d.ts +84 -0
- package/src/core/_test/Engine.test.ts +523 -0
- package/src/core/_test/Hash.vectors.test.ts +56 -0
- package/src/core/_test/Hex.fuzz.ts +1 -2
- package/src/core/_test/Rlp.fuzz.ts +1 -2
- package/src/core/_test/Signature.fuzz.ts +1 -2
- package/src/core/_test/curves.test.ts +7 -0
- package/src/core/_test/index.test.ts +1 -0
- package/src/core/internal/bls.ts +121 -0
- package/src/core/internal/codec/_test/base64.conformance.ts +156 -0
- package/src/core/internal/codec/_test/hex.conformance.ts +204 -0
- package/src/core/internal/codec/_test/hex.fuzz.ts +234 -0
- package/src/core/internal/codec/_test/hex.test.ts +124 -0
- package/src/core/internal/codec/base64.ts +222 -0
- package/src/core/internal/codec/hex.ts +115 -34
- package/src/core/internal/curves.ts +18 -0
- package/src/core/internal/ed25519.ts +64 -0
- package/src/core/internal/engine.ts +410 -0
- package/src/core/internal/hash.ts +48 -0
- package/src/core/internal/keystore.ts +107 -0
- package/src/core/internal/mnemonic.ts +18 -0
- package/src/core/internal/p256.ts +91 -0
- package/src/core/internal/secp256k1.ts +91 -0
- package/src/core/internal/x25519.ts +40 -0
- package/src/index.docs.ts +2 -0
- package/src/index.ts +36 -0
- package/src/node/Engine.ts +69 -0
- package/src/node/Hash.ts +56 -0
- package/src/node/_test/Engine.test.ts +62 -0
- package/src/node/_test/Hash.test-d.ts +26 -0
- package/src/node/_test/Hash.test.ts +102 -0
- package/src/node/index.ts +40 -0
- package/src/tempo/VirtualMaster.test.ts +75 -0
- package/src/tempo/VirtualMaster.ts +28 -6
- package/src/tempo/internal/mine.wasm.ts +7 -13
- package/src/tempo/internal/virtualMasterPool.ts +4 -1
- package/src/tsconfig.json +2 -1
- package/src/version.ts +1 -1
- package/src/wasm/Engine.ts +76 -0
- package/src/wasm/Hash.bench.ts +60 -0
- package/src/wasm/Hash.ts +109 -0
- package/src/wasm/_test/Engine.test.ts +62 -0
- package/src/wasm/_test/Hash.browser.test.ts +50 -0
- package/src/wasm/_test/Hash.fuzz.ts +188 -0
- package/src/wasm/_test/Hash.test-d.ts +28 -0
- package/src/wasm/_test/Hash.test.ts +211 -0
- package/src/wasm/_test/Hash.vectors.test.ts +117 -0
- package/src/wasm/_test/Runtime.test.ts +21 -0
- package/src/wasm/_test/runtime.wasm.ts +11 -0
- package/src/wasm/index.ts +47 -0
- package/src/wasm/internal/hash.ts +50 -0
- package/src/wasm/internal/hashes.wasm.ts +14 -0
- package/src/wasm/internal/instantiate.ts +135 -0
- package/src/tempo/internal/mine.c +0 -182
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Base64-encoded WASM binary. */
|
|
2
|
+
export declare const wasmBase64 = "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dnNqNgIAIAFBBGoiAUHAAUcNAAsgACgCACINIQkgACgCBCIOIQEgACgCCCIPIQUgACgCDCIQIQwgACgCHCIRIQogACgCGCISIQggACgCFCITIQMgACgCECIUIQYDQCAFIQQgASEFIAIgC2ooAgAgC0HgCWooAgAgCiAGIgdBGncgB0EVd3MgB0EHd3NqIAdBf3MgCHEgAyAHcXJqamoiBiAJIgFBHncgAUETd3MgAUEKd3MgASAEIAVzcSAEIAVxc2pqIQkgBiAMaiEGIAQhDCAIIQogAyEIIAchAyALQQRqIgtBgAJHDQALIAAgCiARajYCHCAAIAggEmo2AhggACADIBNqNgIUIAAgBiAUajYCECAAIAQgEGo2AgwgACAFIA9qNgIIIAAgASAOajYCBCAAIAkgDWo2AgALkgkBBn8jAEHgAmsiAyQAIANCADcD0AIgA0IANwPIAiADQgA3A8ACIANCADcDuAIgA0IANwOwAiADQgA3A6gCIANCADcDoAIgA0IANwOYAiADQgA3A5ACIANCADcDiAIgA0IANwOAAiADQgA3A/gBIANCADcD8AEgA0IANwPoASADQgA3A+ABIANCADcD2AEgA0IANwPQASADQgA3A8gBIANCADcDwAEgA0IANwO4ASADQgA3A7ABIANCADcDqAEgA0IANwOgASADQgA3A5gBIANCADcDkAEgAUGIAU8EQANAIAMgAykDkAEgACAGaiIEKQAAhTcDkAEgAyADKQOYASAEKQAIhTcDmAEgAyADKQOgASAEQRBqKQAAhTcDoAEgAyADKQOoASAEQRhqKQAAhTcDqAEgAyADKQOwASAEQSBqKQAAhTcDsAEgAyADKQO4ASAEQShqKQAAhTcDuAEgAyADKQPAASAEQTBqKQAAhTcDwAEgAyADKQPIASAEQThqKQAAhTcDyAEgAyADKQPQASAEQUBrKQAAhTcD0AEgAyADKQPYASAEQcgAaikAAIU3A9gBIAMgAykD4AEgBEHQAGopAACFNwPgASADIAMpA+gBIARB2ABqKQAAhTcD6AEgAyADKQPwASAEQeAAaikAAIU3A/ABIAMgAykD+AEgBEHoAGopAACFNwP4ASADIAMpA4ACIARB8ABqKQAAhTcDgAIgAyADKQOIAiAEQfgAaikAAIU3A4gCIAMgAykDkAIgBEGAAWopAACFNwOQAiAGQYgBaiEGIANBkAFqEAQgAUGIAWsiAUGHAUsNAAsLA0AgAyAFakIANwMAIAVBCGoiBUGIAUcNAAsCQCABRQ0AIAFBA3EhB0EAIQQgAUEETwRAIAAgBmohBSABQfwBcSEIA0AgAyAEaiAEIAVqKAAANgIAIAggBEEEaiIERw0ACwsgB0UNACAAIAQgBmpqIQUgAyAEaiEEA0AgBCAFLQAAOgAAIAVBAWohBSAEQQFqIQQgB0EBayIHDQALCyABIANqQQE6AAAgAyADLQCHAUGAAXI6AIcBIAMgAykDkAEgAykDAIU3A5ABIAMgAykDmAEgAykDCIU3A5gBIAMgAykDoAEgAykDEIU3A6ABIAMgAykDqAEgAykDGIU3A6gBIAMgAykDsAEgAykDIIU3A7ABIAMgAykDuAEgAykDKIU3A7gBIAMgAykDwAEgAykDMIU3A8ABIAMgAykDyAEgAykDOIU3A8gBIAMgAykD0AEgAykDQIU3A9ABIAMgAykD2AEgAykDSIU3A9gBIAMgAykD4AEgAykDUIU3A+ABIAMgAykD6AEgAykDWIU3A+gBIAMgAykD8AEgAykDYIU3A/ABIAMgAykD+AEgAykDaIU3A/gBIAMgAykDgAIgAykDcIU3A4ACIAMgAykDiAIgAykDeIU3A4gCIAMgAykDkAIgAykDgAGFNwOQAiADQZABahAEIAIgAykDkAE3AAAgAiADKQOYATcACCACIAMpA6ABNwAQIAIgAykDqAE3ABggA0HgAmokAAuRCAIsfgF/IAApA7gBIQUgACkDkAEhASAAKQNoIQYgACkDQCELIAApAxghByAAKQOgASECIAApA3ghECAAKQNQIQMgACkDKCEIIAApAwAhCSAAKQOwASEKIAApA4gBIREgACkDYCESIAApAzghEyAAKQMQIQQgACkDwAEhFCAAKQOYASEVIAApA3AhFiAAKQNIIRcgACkDICEYIAApA6gBIRkgACkDgAEhGiAAKQNYIRsgACkDMCEMIAApAwghHEHAfiEtA0AgCCAJhSADhSAQhSAChSIOIAQgE4UgEoUgEYUgCoUiDUIBiYUiHSAMhSErIAcgC4UgBoUgAYUgBYUiDyAOQgGJhSIOIBSFISwgGSAdhUICiSIgIAsgDSAXIBiFIBaFIBWFIBSFIgtCAYmFIg2FQjeJIh8gBCAMIByFIBuFIBqFIBmFIgwgD0IBiYUiBIVCPokiHkJ/hYOFIRQgCyAMQgGJhSIPIBCFQimJIiIgDiAWhUIniSIhQn+FgyAfhSEZIBsgHYVCCokiJCAFIA2FQjiJIgUgBCARhUIPiSIjQn+Fg4UhESAOIBiFQhuJIiYgJCAIIA+FQiSJIiVCf4WDhSEQIAIgD4VCEokiKSAEIBOFQgaJIiggHCAdhUIBiSInQn+Fg4UhFiAOIBWFQgiJIiogBiANhUIZiSIGQn+FgyAohSEbIAQgCoVCPYkiCCAOIBeFQhSJIgIgByANhUIciSIHQn+Fg4UhFyAaIB2FQi2JIgogByAIQn+Fg4UhCyADIA+FQgOJIgMgCCAKQn+Fg4UhEyACIAogA0J/hYOFIQwgAyACQn+FgyAHhSEIIAEgDYVCFYkiASAJIA+FIgMgLEIOiSICQn+Fg4UhByAEIBKFQiuJIgkgAiABQn+Fg4UhBCABIAlCf4WDICtCLIkiAYUhHCAtQeAJaikDACAJIAFCf4WDhSADhSEJICMgJEJ/hYMgJYUhGiACIAEgA0J/hYOFIRggJSAmQn+FgyAFhSEVICkgKkJ/hYMgBoUhEiAhICAgIkJ/hYOFIQogBiAoQn+FgyAnhSEDICEgH0J/hYMgHoUhAiAqICcgKUJ/hYOFIQYgJiAFQn+FgyAjhSEBIB4gIEJ/hYMgIoUhBSAtQQhqIi0NAAsgACAZNwOoASAAIBo3A4ABIAAgGzcDWCAAIAw3AzAgACAcNwMIIAAgFDcDwAEgACAVNwOYASAAIBY3A3AgACAXNwNIIAAgGDcDICAAIAo3A7ABIAAgETcDiAEgACASNwNgIAAgEzcDOCAAIAQ3AxAgACACNwOgASAAIBA3A3ggACADNwNQIAAgCDcDKCAAIAk3AwAgACAFNwO4ASAAIAE3A5ABIAAgBjcDaCAAIAs3A0AgACAHNwMYC8YCAQJ/IwBB0AFrIgEkACABIAApAAA3AwAgASAAKQAINwMIIAEgACkAEDcDECABIAApABg3AxggASAAKQAgNwMgIAEgACkAKDcDKCABIAApADA3AzAgASAAKQA4NwM4IAEgACkAQDcDQCABIAApAEg3A0ggASAAKQBQNwNQIAEgACkAWDcDWCABIAApAGA3A2AgASAAKQBoNwNoIAEgACkAcDcDcCABIAApAHg3A3ggASAAKQCAATcDgAEgASAAKQCIATcDiAEgASAAKQCQATcDkAEgASAAKQCYATcDmAEgASAAKQCgATcDoAEgASAAKQCoATcDqAEgASAAKQCwATcDsAEgASAAKQC4ATcDuAEgASAAKQDAATcDwAEgARAEA0AgACACaiABIAJqKQMANwAAIAJBCGoiAkHIAUcNAAsgAUHQAWokAAu5AwEIfyMAQaABayIDJAAgA0GQAWpBkAgoAgA2AgAgA0GICCkDADcDiAEgA0GACCkDADcDgAEgASIFQcAATwRAA0AgA0GAAWogACAGahAHIAZBQGshBiAFQUBqIgVBP0sNAAsLQYABQcAAIAVBN0sbIQgDQCADIARqQgA3AwAgCCAEQQhqIgRHDQALAkAgBUUNACAFQQNxIQdBACEEIAVBBE8EQCAAIAZqIQkgBUE8cSEKA0AgAyAEaiAEIAlqKAAANgIAIAogBEEEaiIERw0ACwsgB0UNACAAIAQgBmpqIQYgAyAEaiEEA0AgBCAGLQAAOgAAIAZBAWohBiAEQQFqIQQgB0EBayIHDQALCyADIAVqQYABOgAAIAMgCGoiBEEIayIAIAFBA3Q6AAAgBEEBa0EAOgAAIABBAWogAUEFdjoAACAAQQJqIAFBDXY6AAAgAEEDaiABQRV2OgAAIABBBGogAUEddjoAACAAQQVqQQA7AAAgA0GAAWoiACADEAcgBUE3SwRAIAAgA0FAaxAHCyACIAMpA4ABNwAAIAIgAykDiAE3AAggAiADKAKQATYAECADQaABaiQAC94EARV/IwBBQGoiAiABKAAANgIAIAIgASkABDcCBCACIAEpAAw3AgwgAiABKQAUNwIUIAIgASkAHDcCHCACIAEpACQ3AiQgAiABKQAsNwIsIAIgASkANDcCNCACIAEoADw2AjxBACEBIAAoAgAiESESIAAoAgQiEyEOIAAoAhAiFCEJIAAoAgwiFSEKIBMhCyARIQ8gFCEMIBUhDSAAKAIIIhYiByEIA0AgDSEDIAwhECALIQQgCiEFIAkhDCAOIQYCfwJAAkACQAJAAkAgAUEEdiIKDgQAAQIDBAsgAyAIcyAGcwwECyADIAZBf3NxIAYgCHFyDAMLIAYgCEF/c3IgA3MMAgsgAyAGcSAIIANBf3NxcgwBCyAGIAggA0F/c3JzCyENIApBAnQiCUGwDGooAgAgAiABQeALai0AAEECdGooAgAgDSASampqIAFB0AxqLQAAdyAQaiEOIAhBCnchDSAJQfANaigCACACIAFBoA1qLQAAQQJ0aigCAAJ/AkACQAJAAkACQCAKQQFrDgQDAgEABAsgBCAHcyAFcwwECyAFIARBf3NxIAQgB3FyDAMLIAQgB0F/c3IgBXMMAgsgBCAFcSAHIAVBf3NxcgwBCyAHIAVBf3NyIARzCyAPampqIAFBkA5qLQAAdyAMaiELIAdBCnchCiAQIRIgBSEJIAQhByAMIQ8gAyEMIAYhCCABQQFqIgFB0ABHDQALIAAgBCARaiAOajYCECAAIAsgFGogEGo2AgwgACADIBVqIA9qNgIIIAAgDSAWaiAFajYCBCAAIAYgE2ogCmo2AgALLAEBfyMAQaADayIDJAAgACABIAIgA0GAA2ogA0GAAmogAxABIANBoANqJAALJQEBf0HgDi0AACIABEBB8I4EQQAgABsPC0HgDkEBOgAAQfCOBAuTAQECfwJAIAFFDQACQCABQQdxIgNFBEAgASECDAELIAFBeHEhAgNAIABBADoAACAAQQFqIQAgA0EBayIDDQALCyABQQhJDQADQCAAQQA6AAAgAEEAOgABIABBADoAAiAAQQA6AAMgAEEAOgAEIABBADoABSAAQQA6AAYgAEEAOgAHIABBCGohACACQQhrIgINAAsLCwvTBgQAQYAICxQBI0VniavN7/7cuph2VDIQ8OHSwwBBoAgLpAQBAAAAAAAAAIKAAAAAAAAAioAAAAAAAIAAgACAAAAAgIuAAAAAAAAAAQAAgAAAAACBgACAAAAAgAmAAAAAAACAigAAAAAAAACIAAAAAAAAAAmAAIAAAAAACgAAgAAAAACLgACAAAAAAIsAAAAAAACAiYAAAAAAAIADgAAAAAAAgAKAAAAAAACAgAAAAAAAAIAKgAAAAAAAAAoAAIAAAACAgYAAgAAAAICAgAAAAAAAgAEAAIAAAAAACIAAgAAAAICYL4pCkUQ3cc/7wLWl27XpW8JWOfER8Vmkgj+S1V4cq5iqB9gBW4MSvoUxJMN9DFV0Xb5y/rHegKcG3Jt08ZvBwWmb5IZHvu/GncEPzKEMJG8s6S2qhHRK3KmwXNqI+XZSUT6YbcYxqMgnA7DHf1m/8wvgxkeRp9VRY8oGZykpFIUKtyc4IRsu/G0sTRMNOFNUcwpluwpqdi7JwoGFLHKSoei/oktmGqhwi0vCo1FsxxnoktEkBpnWhTUO9HCgahAWwaQZCGw3Hkx3SCe1vLA0swwcOUqq2E5Pypxb828uaO6Cj3RvY6V4FHjIhAgCx4z6/76Q62xQpPej+b7yeHHGAAECAwQFBgcICQoLDA0ODwcEDQEKBg8DDAAJBQIOCwgDCg4ECQ8IAQIHAAYNCwUMAQkLCgAIDAQNAwcPDgUGAgQABQkHDAIKDgEDCAsGDw0AAAAAmXmCWqHr2W7cvBuPTv1TqQBB0AwLsAELDg8MBQgHCQsNDg8GBwkIBwYIDQsJBw8HDA8JCwcNDAsNBgcOCQ0PDggNBgUMBwULDA4PDg8JCAkOBQYIBgUMCQ8FCwYIDQwFDA0OCwgFBgUOBwAJAgsEDQYPCAEKAwwGCwMHAA0FCg4PCAwECQECDwUBAwcOBgkLCAwCCgAEDQgGBAEDCw8ABQwCDQkHCg4MDwoEAQUIBwYCDQ4AAwkL5ouiUCTRTVzzPnBt6XZtegBBkA4LUAgJCQsNDw8FBwcICw4ODAYJDQ8HDAgJCwcHDAcGDw0LCQcPCwgGBg4MDQUODQ0HBQ8FCAsODgYOBgkMCQwFDwgIBQwJDAUOBggNBgUPDQsL";
|
|
3
|
+
/** Constant shared with the module's C source. */
|
|
4
|
+
export declare const hmacSha256ScratchSize = 608;
|
|
5
|
+
//# sourceMappingURL=hashes.wasm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashes.wasm.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAQA,kCAAkC;AAClC,eAAO,MAAM,UAAU,ysWACirW,CAAA;AAExsW,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,MAAM,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Generated by `pnpm wasm:build --target=hashes`. Do not edit.
|
|
2
|
+
//
|
|
3
|
+
// Compiled from wasm/src/hashes.c, wasm/src/ox_rt.c
|
|
4
|
+
// with wasi-sdk 25.0 + binaryen 123.
|
|
5
|
+
//
|
|
6
|
+
// `pnpm wasm:check` rebuilds this file and fails if the bytes differ, so any
|
|
7
|
+
// change to the C or to `wasm/targets.ts` must be followed by `pnpm wasm:build`.
|
|
8
|
+
/** Base64-encoded WASM binary. */
|
|
9
|
+
export const wasmBase64 = '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dnNqNgIAIAFBBGoiAUHAAUcNAAsgACgCACINIQkgACgCBCIOIQEgACgCCCIPIQUgACgCDCIQIQwgACgCHCIRIQogACgCGCISIQggACgCFCITIQMgACgCECIUIQYDQCAFIQQgASEFIAIgC2ooAgAgC0HgCWooAgAgCiAGIgdBGncgB0EVd3MgB0EHd3NqIAdBf3MgCHEgAyAHcXJqamoiBiAJIgFBHncgAUETd3MgAUEKd3MgASAEIAVzcSAEIAVxc2pqIQkgBiAMaiEGIAQhDCAIIQogAyEIIAchAyALQQRqIgtBgAJHDQALIAAgCiARajYCHCAAIAggEmo2AhggACADIBNqNgIUIAAgBiAUajYCECAAIAQgEGo2AgwgACAFIA9qNgIIIAAgASAOajYCBCAAIAkgDWo2AgALkgkBBn8jAEHgAmsiAyQAIANCADcD0AIgA0IANwPIAiADQgA3A8ACIANCADcDuAIgA0IANwOwAiADQgA3A6gCIANCADcDoAIgA0IANwOYAiADQgA3A5ACIANCADcDiAIgA0IANwOAAiADQgA3A/gBIANCADcD8AEgA0IANwPoASADQgA3A+ABIANCADcD2AEgA0IANwPQASADQgA3A8gBIANCADcDwAEgA0IANwO4ASADQgA3A7ABIANCADcDqAEgA0IANwOgASADQgA3A5gBIANCADcDkAEgAUGIAU8EQANAIAMgAykDkAEgACAGaiIEKQAAhTcDkAEgAyADKQOYASAEKQAIhTcDmAEgAyADKQOgASAEQRBqKQAAhTcDoAEgAyADKQOoASAEQRhqKQAAhTcDqAEgAyADKQOwASAEQSBqKQAAhTcDsAEgAyADKQO4ASAEQShqKQAAhTcDuAEgAyADKQPAASAEQTBqKQAAhTcDwAEgAyADKQPIASAEQThqKQAAhTcDyAEgAyADKQPQASAEQUBrKQAAhTcD0AEgAyADKQPYASAEQcgAaikAAIU3A9gBIAMgAykD4AEgBEHQAGopAACFNwPgASADIAMpA+gBIARB2ABqKQAAhTcD6AEgAyADKQPwASAEQeAAaikAAIU3A/ABIAMgAykD+AEgBEHoAGopAACFNwP4ASADIAMpA4ACIARB8ABqKQAAhTcDgAIgAyADKQOIAiAEQfgAaikAAIU3A4gCIAMgAykDkAIgBEGAAWopAACF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';
|
|
10
|
+
/** Constant shared with the module's C source. */
|
|
11
|
+
export const hmacSha256ScratchSize = 608;
|
|
12
|
+
//# sourceMappingURL=hashes.wasm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashes.wasm.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AAEjF,kCAAkC;AAClC,MAAM,CAAC,MAAM,UAAU,GACrB,ssWAAssW,CAAA;AAExsW,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as Errors from '../../core/Errors.js';
|
|
2
|
+
/**
|
|
3
|
+
* Shared WASM instantiation and memory plumbing.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
/** An instantiated WASM module, with helpers for moving bytes across. */
|
|
8
|
+
export type Module<exports extends Record<string, unknown>> = {
|
|
9
|
+
/** The module's exported functions. */
|
|
10
|
+
exports: exports;
|
|
11
|
+
/** Address of the first byte we may write to. */
|
|
12
|
+
heapBase: number;
|
|
13
|
+
/**
|
|
14
|
+
* Grows linear memory so `bytes` are available above `heapBase`.
|
|
15
|
+
*
|
|
16
|
+
* @throws {@link MemoryError} when the runtime refuses to grow.
|
|
17
|
+
*/
|
|
18
|
+
reserve(bytes: number): void;
|
|
19
|
+
/**
|
|
20
|
+
* A view over the module's current memory.
|
|
21
|
+
*
|
|
22
|
+
* Must be called after {@link Module.reserve} and again after anything that
|
|
23
|
+
* could grow memory: `WebAssembly.Memory.grow` detaches the previous
|
|
24
|
+
* `ArrayBuffer`, which silently turns any retained view into a zero-length one.
|
|
25
|
+
*/
|
|
26
|
+
view(): Uint8Array;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Instantiates a base64-encoded WASM module.
|
|
30
|
+
*
|
|
31
|
+
* Always asynchronous: browsers refuse to compile modules larger than a few
|
|
32
|
+
* kilobytes synchronously on the main thread, so there is no synchronous path to
|
|
33
|
+
* fall back to. Callers await this once and then call the module synchronously.
|
|
34
|
+
*
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
export declare function instantiate<exports extends Record<string, unknown>>(base64: string): Promise<Module<exports>>;
|
|
38
|
+
/**
|
|
39
|
+
* Memoizes a loader so concurrent callers compile the module once.
|
|
40
|
+
*
|
|
41
|
+
* The promise is memoized rather than its result, so a second call made while
|
|
42
|
+
* the first is still compiling awaits the same compilation. A rejected attempt
|
|
43
|
+
* is discarded, so a later call can try again.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export declare function memoize<value>(load: () => Promise<value>): () => Promise<value>;
|
|
48
|
+
/** Thrown when a WASM module cannot grow its memory to the required size. */
|
|
49
|
+
export declare class MemoryError extends Errors.BaseError<Error> {
|
|
50
|
+
readonly name = "Wasm.MemoryError";
|
|
51
|
+
constructor({ bytes, cause }: {
|
|
52
|
+
bytes: number;
|
|
53
|
+
cause: Error;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=instantiate.d.ts.map
|
|
@@ -0,0 +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,CAkC1B;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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as Errors from '../../core/Errors.js';
|
|
2
|
+
const pageSize = 65_536;
|
|
3
|
+
function decode(base64) {
|
|
4
|
+
// `Uint8Array.fromBase64` where available, then Node/Bun, then browsers and
|
|
5
|
+
// edge runtimes.
|
|
6
|
+
const fromBase64 = Uint8Array.fromBase64;
|
|
7
|
+
if (fromBase64)
|
|
8
|
+
return fromBase64(base64);
|
|
9
|
+
if (typeof Buffer !== 'undefined')
|
|
10
|
+
return new Uint8Array(Buffer.from(base64, 'base64'));
|
|
11
|
+
const binary = atob(base64);
|
|
12
|
+
const bytes = new Uint8Array(binary.length);
|
|
13
|
+
for (let i = 0; i < binary.length; i++)
|
|
14
|
+
bytes[i] = binary.charCodeAt(i);
|
|
15
|
+
return bytes;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Instantiates a base64-encoded WASM module.
|
|
19
|
+
*
|
|
20
|
+
* Always asynchronous: browsers refuse to compile modules larger than a few
|
|
21
|
+
* kilobytes synchronously on the main thread, so there is no synchronous path to
|
|
22
|
+
* fall back to. Callers await this once and then call the module synchronously.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export async function instantiate(base64) {
|
|
27
|
+
const { instance } = await WebAssembly.instantiate(decode(base64), {});
|
|
28
|
+
const exports = instance.exports;
|
|
29
|
+
const { memory } = exports;
|
|
30
|
+
const heapBase = exports.heap_base();
|
|
31
|
+
let cached = new Uint8Array(memory.buffer);
|
|
32
|
+
return {
|
|
33
|
+
exports,
|
|
34
|
+
heapBase,
|
|
35
|
+
reserve(bytes) {
|
|
36
|
+
const required = heapBase + bytes;
|
|
37
|
+
if (memory.buffer.byteLength >= required)
|
|
38
|
+
return;
|
|
39
|
+
const pages = Math.ceil((required - memory.buffer.byteLength) / pageSize);
|
|
40
|
+
try {
|
|
41
|
+
memory.grow(pages);
|
|
42
|
+
}
|
|
43
|
+
catch (cause) {
|
|
44
|
+
throw new MemoryError({ bytes: required, cause: cause });
|
|
45
|
+
}
|
|
46
|
+
cached = new Uint8Array(memory.buffer);
|
|
47
|
+
},
|
|
48
|
+
view() {
|
|
49
|
+
// `grow` detaches the old buffer, so compare identity rather than trusting
|
|
50
|
+
// the cached view.
|
|
51
|
+
if (cached.buffer !== memory.buffer)
|
|
52
|
+
cached = new Uint8Array(memory.buffer);
|
|
53
|
+
return cached;
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Memoizes a loader so concurrent callers compile the module once.
|
|
59
|
+
*
|
|
60
|
+
* The promise is memoized rather than its result, so a second call made while
|
|
61
|
+
* the first is still compiling awaits the same compilation. A rejected attempt
|
|
62
|
+
* is discarded, so a later call can try again.
|
|
63
|
+
*
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
export function memoize(load) {
|
|
67
|
+
let cached;
|
|
68
|
+
return () => {
|
|
69
|
+
// Only success is memoized. Compilation can fail for reasons that pass --
|
|
70
|
+
// a runtime briefly out of memory, say -- and caching the rejection would
|
|
71
|
+
// make one bad moment permanent for the life of the process.
|
|
72
|
+
cached ??= load().catch((error) => {
|
|
73
|
+
cached = undefined;
|
|
74
|
+
throw error;
|
|
75
|
+
});
|
|
76
|
+
return cached;
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** Thrown when a WASM module cannot grow its memory to the required size. */
|
|
80
|
+
export class MemoryError extends Errors.BaseError {
|
|
81
|
+
name = 'Wasm.MemoryError';
|
|
82
|
+
constructor({ bytes, cause }) {
|
|
83
|
+
super('WASM memory could not be grown to the required size.', {
|
|
84
|
+
cause,
|
|
85
|
+
metaMessages: [
|
|
86
|
+
`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.',
|
|
88
|
+
],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=instantiate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"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"}
|
package/dist/zod/TypedData.d.ts
CHANGED
|
@@ -26,14 +26,14 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
26
26
|
[x: `bytes2[${string}]`]: undefined;
|
|
27
27
|
[x: `bytes1[${string}]`]: undefined;
|
|
28
28
|
[x: `bytes16[${string}]`]: undefined;
|
|
29
|
+
[x: `bytes32[${string}]`]: undefined;
|
|
29
30
|
[x: `bytes4[${string}]`]: undefined;
|
|
30
31
|
[x: `bytes10[${string}]`]: undefined;
|
|
31
32
|
[x: `bytes6[${string}]`]: undefined;
|
|
32
33
|
[x: `bytes8[${string}]`]: undefined;
|
|
33
34
|
[x: `bytes7[${string}]`]: undefined;
|
|
34
|
-
[x: `bytes32[${string}]`]: undefined;
|
|
35
|
-
[x: `bytes3[${string}]`]: undefined;
|
|
36
35
|
[x: `bytes5[${string}]`]: undefined;
|
|
36
|
+
[x: `bytes3[${string}]`]: undefined;
|
|
37
37
|
[x: `bytes9[${string}]`]: undefined;
|
|
38
38
|
[x: `bytes11[${string}]`]: undefined;
|
|
39
39
|
[x: `bytes12[${string}]`]: undefined;
|
|
@@ -57,10 +57,11 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
57
57
|
[x: `bytes31[${string}]`]: undefined;
|
|
58
58
|
[x: `int256[${string}]`]: undefined;
|
|
59
59
|
[x: `int16[${string}]`]: undefined;
|
|
60
|
+
[x: `int32[${string}]`]: undefined;
|
|
60
61
|
[x: `int48[${string}]`]: undefined;
|
|
61
62
|
[x: `int120[${string}]`]: undefined;
|
|
63
|
+
[x: `int128[${string}]`]: undefined;
|
|
62
64
|
[x: `int8[${string}]`]: undefined;
|
|
63
|
-
[x: `int32[${string}]`]: undefined;
|
|
64
65
|
[x: `int24[${string}]`]: undefined;
|
|
65
66
|
[x: `int40[${string}]`]: undefined;
|
|
66
67
|
[x: `int56[${string}]`]: undefined;
|
|
@@ -71,7 +72,6 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
71
72
|
[x: `int96[${string}]`]: undefined;
|
|
72
73
|
[x: `int104[${string}]`]: undefined;
|
|
73
74
|
[x: `int112[${string}]`]: undefined;
|
|
74
|
-
[x: `int128[${string}]`]: undefined;
|
|
75
75
|
[x: `int136[${string}]`]: undefined;
|
|
76
76
|
[x: `int144[${string}]`]: undefined;
|
|
77
77
|
[x: `int152[${string}]`]: undefined;
|
|
@@ -89,10 +89,11 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
89
89
|
[x: `int248[${string}]`]: undefined;
|
|
90
90
|
[x: `uint256[${string}]`]: undefined;
|
|
91
91
|
[x: `uint16[${string}]`]: undefined;
|
|
92
|
+
[x: `uint32[${string}]`]: undefined;
|
|
92
93
|
[x: `uint48[${string}]`]: undefined;
|
|
93
94
|
[x: `uint120[${string}]`]: undefined;
|
|
95
|
+
[x: `uint128[${string}]`]: undefined;
|
|
94
96
|
[x: `uint8[${string}]`]: undefined;
|
|
95
|
-
[x: `uint32[${string}]`]: undefined;
|
|
96
97
|
[x: `uint24[${string}]`]: undefined;
|
|
97
98
|
[x: `uint40[${string}]`]: undefined;
|
|
98
99
|
[x: `uint56[${string}]`]: undefined;
|
|
@@ -103,7 +104,6 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
103
104
|
[x: `uint96[${string}]`]: undefined;
|
|
104
105
|
[x: `uint104[${string}]`]: undefined;
|
|
105
106
|
[x: `uint112[${string}]`]: undefined;
|
|
106
|
-
[x: `uint128[${string}]`]: undefined;
|
|
107
107
|
[x: `uint136[${string}]`]: undefined;
|
|
108
108
|
[x: `uint144[${string}]`]: undefined;
|
|
109
109
|
[x: `uint152[${string}]`]: undefined;
|
|
@@ -126,14 +126,14 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
126
126
|
bytes2?: undefined;
|
|
127
127
|
bytes1?: undefined;
|
|
128
128
|
bytes16?: undefined;
|
|
129
|
+
bytes32?: undefined;
|
|
129
130
|
bytes4?: undefined;
|
|
130
131
|
bytes10?: undefined;
|
|
131
132
|
bytes6?: undefined;
|
|
132
133
|
bytes8?: undefined;
|
|
133
134
|
bytes7?: undefined;
|
|
134
|
-
bytes32?: undefined;
|
|
135
|
-
bytes3?: undefined;
|
|
136
135
|
bytes5?: undefined;
|
|
136
|
+
bytes3?: undefined;
|
|
137
137
|
bytes9?: undefined;
|
|
138
138
|
bytes11?: undefined;
|
|
139
139
|
bytes12?: undefined;
|
|
@@ -157,10 +157,11 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
157
157
|
bytes31?: undefined;
|
|
158
158
|
int256?: undefined;
|
|
159
159
|
int16?: undefined;
|
|
160
|
+
int32?: undefined;
|
|
160
161
|
int48?: undefined;
|
|
161
162
|
int120?: undefined;
|
|
163
|
+
int128?: undefined;
|
|
162
164
|
int8?: undefined;
|
|
163
|
-
int32?: undefined;
|
|
164
165
|
int24?: undefined;
|
|
165
166
|
int40?: undefined;
|
|
166
167
|
int56?: undefined;
|
|
@@ -171,7 +172,6 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
171
172
|
int96?: undefined;
|
|
172
173
|
int104?: undefined;
|
|
173
174
|
int112?: undefined;
|
|
174
|
-
int128?: undefined;
|
|
175
175
|
int136?: undefined;
|
|
176
176
|
int144?: undefined;
|
|
177
177
|
int152?: undefined;
|
|
@@ -189,10 +189,11 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
189
189
|
int248?: undefined;
|
|
190
190
|
uint256?: undefined;
|
|
191
191
|
uint16?: undefined;
|
|
192
|
+
uint32?: undefined;
|
|
192
193
|
uint48?: undefined;
|
|
193
194
|
uint120?: undefined;
|
|
195
|
+
uint128?: undefined;
|
|
194
196
|
uint8?: undefined;
|
|
195
|
-
uint32?: undefined;
|
|
196
197
|
uint24?: undefined;
|
|
197
198
|
uint40?: undefined;
|
|
198
199
|
uint56?: undefined;
|
|
@@ -203,7 +204,6 @@ export declare const TypedData: z.ZodMiniPipe<z.ZodMiniRecord<z.ZodMiniString<st
|
|
|
203
204
|
uint96?: undefined;
|
|
204
205
|
uint104?: undefined;
|
|
205
206
|
uint112?: undefined;
|
|
206
|
-
uint128?: undefined;
|
|
207
207
|
uint136?: undefined;
|
|
208
208
|
uint144?: undefined;
|
|
209
209
|
uint152?: undefined;
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ox",
|
|
3
3
|
"description": "Ethereum Standard Library",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "1.0
|
|
5
|
+
"version": "1.1.0",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"license": "MIT",
|
|
@@ -220,6 +220,11 @@
|
|
|
220
220
|
"types": "./dist/core/Ed25519.d.ts",
|
|
221
221
|
"default": "./dist/core/Ed25519.js"
|
|
222
222
|
},
|
|
223
|
+
"./Engine": {
|
|
224
|
+
"src": "./src/core/Engine.ts",
|
|
225
|
+
"types": "./dist/core/Engine.d.ts",
|
|
226
|
+
"default": "./dist/core/Engine.js"
|
|
227
|
+
},
|
|
223
228
|
"./Ens": {
|
|
224
229
|
"src": "./src/core/Ens.ts",
|
|
225
230
|
"types": "./dist/core/Ens.d.ts",
|
|
@@ -505,6 +510,21 @@
|
|
|
505
510
|
"types": "./dist/erc8021/Attribution.d.ts",
|
|
506
511
|
"default": "./dist/erc8021/Attribution.js"
|
|
507
512
|
},
|
|
513
|
+
"./node": {
|
|
514
|
+
"src": "./src/node/index.ts",
|
|
515
|
+
"types": "./dist/node/index.d.ts",
|
|
516
|
+
"default": "./dist/node/index.js"
|
|
517
|
+
},
|
|
518
|
+
"./node/Engine": {
|
|
519
|
+
"src": "./src/node/Engine.ts",
|
|
520
|
+
"types": "./dist/node/Engine.d.ts",
|
|
521
|
+
"default": "./dist/node/Engine.js"
|
|
522
|
+
},
|
|
523
|
+
"./node/Hash": {
|
|
524
|
+
"src": "./src/node/Hash.ts",
|
|
525
|
+
"types": "./dist/node/Hash.d.ts",
|
|
526
|
+
"default": "./dist/node/Hash.js"
|
|
527
|
+
},
|
|
508
528
|
"./tempo": {
|
|
509
529
|
"src": "./src/tempo/index.ts",
|
|
510
530
|
"types": "./dist/tempo/index.d.ts",
|
|
@@ -620,6 +640,21 @@
|
|
|
620
640
|
"types": "./dist/trusted-setups/Paths.d.ts",
|
|
621
641
|
"default": "./dist/trusted-setups/Paths.js"
|
|
622
642
|
},
|
|
643
|
+
"./wasm": {
|
|
644
|
+
"src": "./src/wasm/index.ts",
|
|
645
|
+
"types": "./dist/wasm/index.d.ts",
|
|
646
|
+
"default": "./dist/wasm/index.js"
|
|
647
|
+
},
|
|
648
|
+
"./wasm/Engine": {
|
|
649
|
+
"src": "./src/wasm/Engine.ts",
|
|
650
|
+
"types": "./dist/wasm/Engine.d.ts",
|
|
651
|
+
"default": "./dist/wasm/Engine.js"
|
|
652
|
+
},
|
|
653
|
+
"./wasm/Hash": {
|
|
654
|
+
"src": "./src/wasm/Hash.ts",
|
|
655
|
+
"types": "./dist/wasm/Hash.d.ts",
|
|
656
|
+
"default": "./dist/wasm/Hash.js"
|
|
657
|
+
},
|
|
623
658
|
"./webauthn": {
|
|
624
659
|
"src": "./src/webauthn/index.ts",
|
|
625
660
|
"types": "./dist/webauthn/index.d.ts",
|
package/src/core/Base64.ts
CHANGED
|
@@ -1,66 +1,7 @@
|
|
|
1
1
|
import * as Bytes from './Bytes.js'
|
|
2
|
-
import * as Errors from './Errors.js'
|
|
2
|
+
import type * as Errors from './Errors.js'
|
|
3
3
|
import * as Hex from './Hex.js'
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
// Standard Base64 alphabet (RFC 4648 section 4) and URL-safe alphabet (section 5).
|
|
7
|
-
const stdAlphabet =
|
|
8
|
-
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
|
|
9
|
-
|
|
10
|
-
// Char-code -> 6-bit integer lookup. Sentinel `0xff` = invalid character.
|
|
11
|
-
// Standard alphabet plus URL-safe `-`/`_` (decoders are alphabet-agnostic).
|
|
12
|
-
const characterToInteger = /*#__PURE__*/ (() => {
|
|
13
|
-
const table = new Uint8Array(256).fill(0xff)
|
|
14
|
-
for (let i = 0; i < stdAlphabet.length; i++)
|
|
15
|
-
table[stdAlphabet.charCodeAt(i)] = i
|
|
16
|
-
// URL-safe alternates: `-` for `+` (62), `_` for `/` (63).
|
|
17
|
-
table[45 /* '-' */] = 62
|
|
18
|
-
table[95 /* '_' */] = 63
|
|
19
|
-
return table
|
|
20
|
-
})()
|
|
21
|
-
|
|
22
|
-
// Integer -> char-code table for the standard alphabet, indexed by 6-bit value.
|
|
23
|
-
const integerToCharacter = /*#__PURE__*/ (() => {
|
|
24
|
-
const table = new Uint8Array(64)
|
|
25
|
-
for (let i = 0; i < stdAlphabet.length; i++)
|
|
26
|
-
table[i] = stdAlphabet.charCodeAt(i)
|
|
27
|
-
return table
|
|
28
|
-
})()
|
|
29
|
-
|
|
30
|
-
// Phase 2 native fast-path detection: `Uint8Array.prototype.toBase64` /
|
|
31
|
-
// `Uint8Array.fromBase64` ship in Node 22+, Safari 18+, Firefox 133+.
|
|
32
|
-
const nativeToBase64:
|
|
33
|
-
| ((
|
|
34
|
-
this: Uint8Array,
|
|
35
|
-
options?: { alphabet?: 'base64' | 'base64url'; omitPadding?: boolean },
|
|
36
|
-
) => string)
|
|
37
|
-
| undefined = (
|
|
38
|
-
Uint8Array.prototype as Uint8Array & {
|
|
39
|
-
toBase64?: (options?: {
|
|
40
|
-
alphabet?: 'base64' | 'base64url'
|
|
41
|
-
omitPadding?: boolean
|
|
42
|
-
}) => string
|
|
43
|
-
}
|
|
44
|
-
).toBase64
|
|
45
|
-
const nativeFromBase64:
|
|
46
|
-
| ((
|
|
47
|
-
value: string,
|
|
48
|
-
options?: {
|
|
49
|
-
alphabet?: 'base64' | 'base64url-or-base64'
|
|
50
|
-
lastChunkHandling?: 'loose' | 'strict' | 'stop-before-partial'
|
|
51
|
-
},
|
|
52
|
-
) => Uint8Array)
|
|
53
|
-
| undefined = (
|
|
54
|
-
Uint8Array as typeof Uint8Array & {
|
|
55
|
-
fromBase64?: (
|
|
56
|
-
value: string,
|
|
57
|
-
options?: {
|
|
58
|
-
alphabet?: 'base64' | 'base64url-or-base64'
|
|
59
|
-
lastChunkHandling?: 'loose' | 'strict' | 'stop-before-partial'
|
|
60
|
-
},
|
|
61
|
-
) => Uint8Array
|
|
62
|
-
}
|
|
63
|
-
).fromBase64
|
|
4
|
+
import * as internal from './internal/codec/base64.js'
|
|
64
5
|
|
|
65
6
|
/**
|
|
66
7
|
* Encodes a {@link ox#Bytes.Bytes} to a Base64-encoded string (with optional padding and/or URL-safe characters).
|
|
@@ -109,39 +50,7 @@ const nativeFromBase64:
|
|
|
109
50
|
* @returns The Base64 encoded string.
|
|
110
51
|
*/
|
|
111
52
|
export function fromBytes(value: Bytes.Bytes, options: fromBytes.Options = {}) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (nativeToBase64) {
|
|
115
|
-
const out = nativeToBase64.call(value, {
|
|
116
|
-
alphabet: url ? 'base64url' : 'base64',
|
|
117
|
-
omitPadding: !pad,
|
|
118
|
-
})
|
|
119
|
-
// Native `base64url` already omits padding; if pad was requested, restore it.
|
|
120
|
-
if (url && pad) {
|
|
121
|
-
const k = value.length % 3
|
|
122
|
-
if (k === 1) return `${out}==`
|
|
123
|
-
if (k === 2) return `${out}=`
|
|
124
|
-
}
|
|
125
|
-
return out
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
const encoded = new Uint8Array(Math.ceil(value.length / 3) * 4)
|
|
129
|
-
|
|
130
|
-
for (let i = 0, j = 0; j < value.length; i += 4, j += 3) {
|
|
131
|
-
const y = (value[j]! << 16) + (value[j + 1]! << 8) + (value[j + 2]! | 0)
|
|
132
|
-
encoded[i] = integerToCharacter[y >> 18]!
|
|
133
|
-
encoded[i + 1] = integerToCharacter[(y >> 12) & 0x3f]!
|
|
134
|
-
encoded[i + 2] = integerToCharacter[(y >> 6) & 0x3f]!
|
|
135
|
-
encoded[i + 3] = integerToCharacter[y & 0x3f]!
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
const k = value.length % 3
|
|
139
|
-
const end = Math.floor(value.length / 3) * 4 + (k && k + 1)
|
|
140
|
-
let base64 = decoder.decode(new Uint8Array(encoded.buffer, 0, end))
|
|
141
|
-
if (pad && k === 1) base64 += '=='
|
|
142
|
-
if (pad && k === 2) base64 += '='
|
|
143
|
-
if (url) base64 = base64.replaceAll('+', '-').replaceAll('/', '_')
|
|
144
|
-
return base64
|
|
53
|
+
return internal.fromBytes(value, options)
|
|
145
54
|
}
|
|
146
55
|
|
|
147
56
|
export declare namespace fromBytes {
|
|
@@ -307,54 +216,7 @@ export declare namespace fromString {
|
|
|
307
216
|
* @returns The Base64 decoded {@link ox#Bytes.Bytes}.
|
|
308
217
|
*/
|
|
309
218
|
export function toBytes(value: string): Bytes.Bytes {
|
|
310
|
-
|
|
311
|
-
let bodyEnd = value.length
|
|
312
|
-
let pad = 0
|
|
313
|
-
while (bodyEnd > 0 && value.charCodeAt(bodyEnd - 1) === 61 /* '=' */) {
|
|
314
|
-
bodyEnd--
|
|
315
|
-
pad++
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
const size = bodyEnd
|
|
319
|
-
// Reject impossible lengths and excessive padding.
|
|
320
|
-
if (size % 4 === 1) throw new InvalidLengthError({ length: value.length })
|
|
321
|
-
if (pad > 2) throw new InvalidPaddingError({ padding: pad })
|
|
322
|
-
|
|
323
|
-
if (nativeFromBase64) {
|
|
324
|
-
try {
|
|
325
|
-
// `base64url-or-base64` accepts both alphabets transparently.
|
|
326
|
-
return nativeFromBase64(value.slice(0, bodyEnd), {
|
|
327
|
-
alphabet: 'base64url-or-base64',
|
|
328
|
-
lastChunkHandling: 'loose',
|
|
329
|
-
})
|
|
330
|
-
} catch {
|
|
331
|
-
// Fall through to the JS path so we throw the typed error class.
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
// Validate characters: every char must be in the standard or URL-safe
|
|
336
|
-
// alphabet, and '=' may not appear in the body (only stripped trailing
|
|
337
|
-
// padding).
|
|
338
|
-
const decoded = new Uint8Array(
|
|
339
|
-
(size >> 2) * 3 + (size % 4 ? (size % 4) - 1 : 0),
|
|
340
|
-
)
|
|
341
|
-
let acc = 0
|
|
342
|
-
let bits = 0
|
|
343
|
-
let n = 0
|
|
344
|
-
for (let i = 0; i < size; i++) {
|
|
345
|
-
const code = value.charCodeAt(i)
|
|
346
|
-
if (code === 61 /* '=' */)
|
|
347
|
-
throw new InvalidCharacterError({ character: '=' })
|
|
348
|
-
const v = characterToInteger[code]!
|
|
349
|
-
if (v === 0xff) throw new InvalidCharacterError({ character: value[i]! })
|
|
350
|
-
acc = (acc << 6) | v
|
|
351
|
-
bits += 6
|
|
352
|
-
if (bits >= 8) {
|
|
353
|
-
bits -= 8
|
|
354
|
-
decoded[n++] = (acc >>> bits) & 0xff
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
return decoded
|
|
219
|
+
return internal.toBytes(value)
|
|
358
220
|
}
|
|
359
221
|
|
|
360
222
|
export declare namespace toBytes {
|
|
@@ -409,29 +271,20 @@ export declare namespace toString {
|
|
|
409
271
|
type ErrorType = toBytes.ErrorType | Errors.GlobalErrorType
|
|
410
272
|
}
|
|
411
273
|
|
|
412
|
-
/** Thrown when a Base64 string contains
|
|
413
|
-
export
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
super(`Invalid Base64 character: "${character}".`)
|
|
418
|
-
}
|
|
419
|
-
}
|
|
274
|
+
/** Thrown when a Base64 string contains a character outside its alphabet. */
|
|
275
|
+
export const InvalidCharacterError = internal.InvalidCharacterError
|
|
276
|
+
export type InvalidCharacterError = InstanceType<
|
|
277
|
+
typeof internal.InvalidCharacterError
|
|
278
|
+
>
|
|
420
279
|
|
|
421
280
|
/** Thrown when a Base64 string has an impossible length. */
|
|
422
|
-
export
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
override readonly name = 'Base64.InvalidPaddingError'
|
|
433
|
-
|
|
434
|
-
constructor({ padding }: { padding: number }) {
|
|
435
|
-
super(`Invalid Base64 padding length \`${padding}\` (must be 0, 1, or 2).`)
|
|
436
|
-
}
|
|
437
|
-
}
|
|
281
|
+
export const InvalidLengthError = internal.InvalidLengthError
|
|
282
|
+
export type InvalidLengthError = InstanceType<
|
|
283
|
+
typeof internal.InvalidLengthError
|
|
284
|
+
>
|
|
285
|
+
|
|
286
|
+
/** Thrown when a Base64 string carries more than two padding characters. */
|
|
287
|
+
export const InvalidPaddingError = internal.InvalidPaddingError
|
|
288
|
+
export type InvalidPaddingError = InstanceType<
|
|
289
|
+
typeof internal.InvalidPaddingError
|
|
290
|
+
>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { blake3 } from '@noble/hashes/blake3.js'
|
|
2
|
-
|
|
3
1
|
import * as Bytes from './Bytes.js'
|
|
2
|
+
import * as engine from './internal/hash.js'
|
|
4
3
|
import type { OneOf } from './internal/types.js'
|
|
5
4
|
|
|
6
5
|
/** Type that defines a Binary State Tree instance. */
|
|
@@ -276,5 +275,5 @@ function bitsToBytes(bits: number[]): Bytes.Bytes {
|
|
|
276
275
|
function hash(bytes: Bytes.Bytes | undefined): Bytes.Bytes {
|
|
277
276
|
if (!bytes) return new Uint8Array(32).fill(0)
|
|
278
277
|
if (!bytes.some((byte) => byte !== 0)) return new Uint8Array(32).fill(0)
|
|
279
|
-
return blake3(bytes)
|
|
278
|
+
return engine.blake3(bytes)
|
|
280
279
|
}
|