@aztec/foundation 0.0.1-commit.db765a8 → 0.0.1-commit.ddcf04837
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/dest/branded-types/buffer32_hash.d.ts +24 -0
- package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
- package/dest/branded-types/buffer32_hash.js +19 -0
- package/dest/branded-types/checkpoint_number.d.ts +4 -1
- package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
- package/dest/branded-types/checkpoint_number.js +3 -0
- package/dest/branded-types/index.d.ts +2 -1
- package/dest/branded-types/index.d.ts.map +1 -1
- package/dest/branded-types/index.js +1 -0
- package/dest/branded-types/slot.d.ts +4 -1
- package/dest/branded-types/slot.d.ts.map +1 -1
- package/dest/branded-types/slot.js +3 -0
- package/dest/buffer/buffer16.d.ts +3 -1
- package/dest/buffer/buffer16.d.ts.map +1 -1
- package/dest/buffer/buffer32.d.ts +28 -61
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +26 -60
- package/dest/buffer/index.d.ts +2 -1
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +1 -0
- package/dest/buffer/utils.d.ts +3 -0
- package/dest/buffer/utils.d.ts.map +1 -0
- package/dest/buffer/utils.js +7 -0
- package/dest/collection/array.d.ts +3 -1
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +15 -0
- package/dest/collection/index.d.ts +2 -1
- package/dest/collection/index.d.ts.map +1 -1
- package/dest/collection/index.js +1 -0
- package/dest/collection/lru_set.d.ts +35 -0
- package/dest/collection/lru_set.d.ts.map +1 -0
- package/dest/collection/lru_set.js +95 -0
- package/dest/config/env_var.d.ts +2 -2
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +48 -30
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +21 -30
- package/dest/config/network_config.d.ts +13 -1
- package/dest/config/network_config.d.ts.map +1 -1
- package/dest/config/network_config.js +3 -1
- package/dest/crypto/aes128/index.d.ts +2 -1
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/aes128/index.js +11 -2
- package/dest/crypto/bls/bn254_keystore.d.ts +1 -10
- package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
- package/dest/crypto/bls/bn254_keystore.js +0 -17
- package/dest/crypto/poseidon/index.d.ts +1 -1
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +40 -33
- package/dest/curves/bls12/field.d.ts +1 -1
- package/dest/curves/bls12/field.d.ts.map +1 -1
- package/dest/curves/bls12/field.js +0 -5
- package/dest/curves/bn254/field.d.ts +17 -16
- package/dest/curves/bn254/field.d.ts.map +1 -1
- package/dest/curves/bn254/field.js +18 -13
- package/dest/curves/grumpkin/point.d.ts +4 -4
- package/dest/curves/grumpkin/point.d.ts.map +1 -1
- package/dest/curves/grumpkin/point.js +7 -4
- package/dest/eth-address/index.d.ts +1 -1
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-address/index.js +0 -3
- package/dest/fifo/fifo_frame_reader.d.ts +41 -0
- package/dest/fifo/fifo_frame_reader.d.ts.map +1 -0
- package/dest/fifo/fifo_frame_reader.js +74 -0
- package/dest/fifo/index.d.ts +2 -0
- package/dest/fifo/index.d.ts.map +1 -0
- package/dest/fifo/index.js +1 -0
- package/dest/json-rpc/client/fetch.d.ts +1 -1
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +4 -3
- package/dest/json-rpc/client/undici.d.ts +1 -1
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +5 -3
- package/dest/log/pino-logger.d.ts +1 -1
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +17 -2
- package/dest/queue/batch_queue.d.ts +1 -1
- package/dest/queue/batch_queue.d.ts.map +1 -1
- package/dest/queue/batch_queue.js +1 -0
- package/dest/retry/index.d.ts +12 -1
- package/dest/retry/index.d.ts.map +1 -1
- package/dest/retry/index.js +21 -0
- package/dest/schemas/api.d.ts +2 -2
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/string/index.js +1 -1
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
- package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
- package/dest/transport/index.d.ts +1 -2
- package/dest/transport/index.d.ts.map +1 -1
- package/dest/transport/index.js +0 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.js +5 -1
- package/package.json +3 -2
- package/src/branded-types/buffer32_hash.ts +42 -0
- package/src/branded-types/checkpoint_number.ts +5 -0
- package/src/branded-types/index.ts +1 -0
- package/src/branded-types/slot.ts +5 -0
- package/src/buffer/buffer16.ts +3 -0
- package/src/buffer/buffer32.ts +36 -65
- package/src/buffer/index.ts +1 -0
- package/src/buffer/utils.ts +8 -0
- package/src/collection/array.ts +14 -0
- package/src/collection/index.ts +1 -0
- package/src/collection/lru_set.ts +115 -0
- package/src/config/env_var.ts +23 -10
- package/src/config/index.ts +96 -84
- package/src/config/network_config.ts +2 -0
- package/src/crypto/aes128/index.ts +11 -2
- package/src/crypto/bls/bn254_keystore.ts +0 -23
- package/src/crypto/poseidon/index.ts +42 -34
- package/src/curves/bls12/field.ts +0 -7
- package/src/curves/bn254/field.ts +25 -31
- package/src/curves/grumpkin/point.ts +6 -3
- package/src/eth-address/index.ts +0 -4
- package/src/fifo/fifo_frame_reader.ts +98 -0
- package/src/fifo/index.ts +1 -0
- package/src/json-rpc/client/fetch.ts +4 -3
- package/src/json-rpc/client/undici.ts +5 -3
- package/src/log/pino-logger.ts +19 -2
- package/src/queue/batch_queue.ts +1 -0
- package/src/retry/index.ts +30 -0
- package/src/schemas/api.ts +4 -1
- package/src/string/index.ts +1 -1
- package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
- package/src/transport/index.ts +0 -1
- package/src/trees/indexed_merkle_tree_calculator.ts +5 -1
- package/dest/crypto/serialize.d.ts +0 -51
- package/dest/crypto/serialize.d.ts.map +0 -1
- package/dest/crypto/serialize.js +0 -68
- package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
- package/src/crypto/serialize.ts +0 -85
- package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
|
@@ -26,7 +26,8 @@ export declare class Aes128 {
|
|
|
26
26
|
* @param iv - AES initialization vector.
|
|
27
27
|
* @param key - Key to decrypt with.
|
|
28
28
|
* @returns Decrypted data.
|
|
29
|
+
* @throws If the decrypted buffer has invalid PKCS#7 padding.
|
|
29
30
|
*/
|
|
30
31
|
decryptBufferCBC(data: Uint8Array, iv: Uint8Array, key: Uint8Array): Promise<Buffer<ArrayBufferLike>>;
|
|
31
32
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYWVzMTI4L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFaEM7O0dBRUc7QUFDSCxxQkFBYSxNQUFNO0lBQ2pCOzs7Ozs7T0FNRztJQUNVLGdCQUFnQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxnQ0FrQjlFO0lBRUQ7Ozs7Ozs7T0FPRztJQUNVLDJCQUEyQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FVM0c7SUFFRDs7Ozs7OztPQU9HO0lBQ1UsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLG9DQVk5RTtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/aes128/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,gCAkB9E;IAED;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3G;IAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/aes128/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,qBAAa,MAAM;IACjB;;;;;;OAMG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,gCAkB9E;IAED;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3G;IAED;;;;;;;OAOG;IACU,gBAAgB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,oCAY9E;CACF"}
|
|
@@ -54,9 +54,18 @@ import { Buffer } from 'buffer';
|
|
|
54
54
|
* @param iv - AES initialization vector.
|
|
55
55
|
* @param key - Key to decrypt with.
|
|
56
56
|
* @returns Decrypted data.
|
|
57
|
+
* @throws If the decrypted buffer has invalid PKCS#7 padding.
|
|
57
58
|
*/ async decryptBufferCBC(data, iv, key) {
|
|
58
59
|
const paddedBuffer = await this.decryptBufferCBCKeepPadding(data, iv, key);
|
|
59
|
-
const
|
|
60
|
-
|
|
60
|
+
const paddingLen = paddedBuffer[paddedBuffer.length - 1];
|
|
61
|
+
if (paddingLen === 0 || paddingLen > 16) {
|
|
62
|
+
throw new Error(`Invalid PKCS#7 padding length: ${paddingLen}`);
|
|
63
|
+
}
|
|
64
|
+
for(let i = paddedBuffer.length - paddingLen; i < paddedBuffer.length; i++){
|
|
65
|
+
if (paddedBuffer[i] !== paddingLen) {
|
|
66
|
+
throw new Error('Invalid PKCS#7 padding');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return paddedBuffer.subarray(0, paddedBuffer.length - paddingLen);
|
|
61
70
|
}
|
|
62
71
|
}
|
|
@@ -283,14 +283,5 @@ export declare function decryptBn254Keystore(filePath: string, password: string)
|
|
|
283
283
|
* @throws Bn254KeystoreError if decryption fails or checksum is invalid
|
|
284
284
|
*/
|
|
285
285
|
export declare function decryptBn254KeystoreFromObject(keystore: Bn254Keystore, password: string): string;
|
|
286
|
-
/**
|
|
287
|
-
* Validates that a decrypted private key matches the public key in the keystore.
|
|
288
|
-
*
|
|
289
|
-
* @param privateKeyHex - Decrypted private key (0x-prefixed)
|
|
290
|
-
* @param expectedPubkey - Expected public key from keystore
|
|
291
|
-
* @param computePublicKey - Function to compute public key from private key
|
|
292
|
-
* @returns true if keys match, false otherwise
|
|
293
|
-
*/
|
|
294
|
-
export declare function verifyBn254Keypair(privateKeyHex: string, expectedPubkey: string, computePublicKey: (privateKey: string) => string): boolean;
|
|
295
286
|
export {};
|
|
296
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm4yNTRfa2V5c3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vYmxzL2JuMjU0X2tleXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7Ozs7Ozs7O0dBUUc7QUFFSDs7R0FFRztBQUNILFFBQUEsTUFBTSxtQkFBbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBOEJ2QixDQUFDO0FBRUg7O0dBRUc7QUFDSCxxQkFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBR3pCLEtBQUssQ0FBQztJQUZ4QixZQUNFLE9BQU8sRUFBRSxNQUFNLEVBQ0MsS0FBSyxDQUFDLG1CQUFPLEVBSTlCO0NBQ0Y7QUFFRCxNQUFNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxtQkFBbUIsQ0FBQyxDQUFDO0FBRWhFOzs7R0FHRztBQUNILE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsTUFBTSxFQUFFO1FBQ04sR0FBRyxFQUFFO1lBQ0gsUUFBUSxFQUFFLFFBQVEsQ0FBQztZQUNuQixNQUFNLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLE1BQU0sQ0FBQztnQkFDZCxDQUFDLEVBQUUsTUFBTSxDQUFDO2dCQUNWLEdBQUcsRUFBRSxNQUFNLENBQUM7Z0JBQ1osSUFBSSxFQUFFLE1BQU0sQ0FBQzthQUNkLENBQUM7WUFDRixPQUFPLEVBQUUsTUFBTSxDQUFDO1NBQ2pCLENBQUM7UUFDRixRQUFRLEVBQUU7WUFDUixRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQ25CLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE9BQU8sRUFBRSxNQUFNLENBQUM7U0FDakIsQ0FBQztRQUNGLE1BQU0sRUFBRTtZQUNOLFFBQVEsRUFBRSxhQUFhLENBQUM7WUFDeEIsTUFBTSxFQUFFO2dCQUNOLEVBQUUsRUFBRSxNQUFNLENBQUM7YUFDWixDQUFDO1lBQ0YsT0FBTyxFQUFFLE1BQU0sQ0FBQztTQUNqQixDQUFDO0tBQ0gsQ0FBQztJQUNGLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsT0FBTyxFQUFFLE1BQU0sQ0FBQztDQUNqQjtBQUVEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQixtQkFBbUIsQ0FDakMsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsU0FBUyxFQUFFLE1BQU0sRUFDakIsY0FBYyxFQUFFLE1BQU0sR0FDckIsYUFBYSxDQThDZjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxHQUFHLGFBQWEsQ0FnQmpFO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUcvRTtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsOEJBQThCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FpRGhHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bn254_keystore.d.ts","sourceRoot":"","sources":["../../../src/crypto/bls/bn254_keystore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AAEH;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BvB,CAAC;AAEH;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAGzB,KAAK,CAAC;IAFxB,YACE,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,mBAAO,EAI9B;CACF;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QACN,GAAG,EAAE;YACH,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC;gBACd,CAAC,EAAE,MAAM,CAAC;gBACV,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,QAAQ,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,MAAM,EAAE;YACN,QAAQ,EAAE,aAAa,CAAC;YACxB,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,aAAa,CA8Cf;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAgBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiDhG
|
|
1
|
+
{"version":3,"file":"bn254_keystore.d.ts","sourceRoot":"","sources":["../../../src/crypto/bls/bn254_keystore.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;GAQG;AAEH;;GAEG;AACH,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BvB,CAAC;AAEH;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAGzB,KAAK,CAAC;IAFxB,YACE,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,mBAAO,EAI9B;CACF;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE;QACN,GAAG,EAAE;YACH,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC;gBACd,CAAC,EAAE,MAAM,CAAC;gBACV,GAAG,EAAE,MAAM,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,QAAQ,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,MAAM,EAAE;YACN,QAAQ,EAAE,aAAa,CAAC;YACxB,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAC;aACZ,CAAC;YACF,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,aAAa,CA8Cf;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAgBjE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG/E;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiDhG"}
|
|
@@ -199,20 +199,3 @@ import { z } from 'zod';
|
|
|
199
199
|
throw new Bn254KeystoreError(`Failed to decrypt keystore: ${String(error)}`, error);
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
|
-
/**
|
|
203
|
-
* Validates that a decrypted private key matches the public key in the keystore.
|
|
204
|
-
*
|
|
205
|
-
* @param privateKeyHex - Decrypted private key (0x-prefixed)
|
|
206
|
-
* @param expectedPubkey - Expected public key from keystore
|
|
207
|
-
* @param computePublicKey - Function to compute public key from private key
|
|
208
|
-
* @returns true if keys match, false otherwise
|
|
209
|
-
*/ export function verifyBn254Keypair(privateKeyHex, expectedPubkey, computePublicKey) {
|
|
210
|
-
try {
|
|
211
|
-
const computedPubkey = computePublicKey(privateKeyHex);
|
|
212
|
-
const normalizedExpected = expectedPubkey.toLowerCase().replace(/^0x/i, '');
|
|
213
|
-
const normalizedComputed = computedPubkey.toLowerCase().replace(/^0x/i, '');
|
|
214
|
-
return normalizedExpected === normalizedComputed;
|
|
215
|
-
} catch {
|
|
216
|
-
return false;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
@@ -20,4 +20,4 @@ export declare function poseidon2HashWithSeparator(input: Fieldable[], separator
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function poseidon2Permutation(input: Fieldable[]): Promise<Fr[]>;
|
|
22
22
|
export declare function poseidon2HashBytes(input: Buffer): Promise<Fr>;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnlwdG8vcG9zZWlkb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSw4QkFBOEIsQ0FBQztBQXNCakY7Ozs7R0FJRztBQUNILHdCQUFnQixhQUFhLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFN0Q7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBSTdGO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBaUI1RTtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FZN0QifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/poseidon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAsBjF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAiB5E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAY7D"}
|
|
@@ -1,33 +1,40 @@
|
|
|
1
|
-
import { Barretenberg } from '@aztec/bb.js';
|
|
1
|
+
import { Barretenberg, BarretenbergSync } from '@aztec/bb.js';
|
|
2
2
|
import { Fr } from '../../curves/bn254/field.js';
|
|
3
3
|
import { serializeToFields } from '../../serialize/serialize.js';
|
|
4
|
+
const IS_BROWSER = typeof self !== 'undefined';
|
|
5
|
+
async function poseidon2HashFields(inputFields) {
|
|
6
|
+
if (IS_BROWSER) {
|
|
7
|
+
await BarretenbergSync.initSingleton();
|
|
8
|
+
const api = BarretenbergSync.getSingleton();
|
|
9
|
+
const response = api.poseidon2Hash({
|
|
10
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
11
|
+
});
|
|
12
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
13
|
+
} else {
|
|
14
|
+
await Barretenberg.initSingleton();
|
|
15
|
+
const api = Barretenberg.getSingleton();
|
|
16
|
+
const response = await api.poseidon2Hash({
|
|
17
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
18
|
+
});
|
|
19
|
+
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
4
22
|
/**
|
|
5
23
|
* Create a poseidon hash (field) from an array of input fields.
|
|
6
24
|
* @param input - The input fields to hash.
|
|
7
25
|
* @returns The poseidon hash.
|
|
8
|
-
*/ export
|
|
9
|
-
|
|
10
|
-
await Barretenberg.initSingleton();
|
|
11
|
-
const api = Barretenberg.getSingleton();
|
|
12
|
-
const response = await api.poseidon2Hash({
|
|
13
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
14
|
-
});
|
|
15
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
26
|
+
*/ export function poseidon2Hash(input) {
|
|
27
|
+
return poseidon2HashFields(serializeToFields(input));
|
|
16
28
|
}
|
|
17
29
|
/**
|
|
18
30
|
* Create a poseidon hash (field) from an array of input fields and a domain separator.
|
|
19
31
|
* @param input - The input fields to hash.
|
|
20
32
|
* @param separator - The domain separator.
|
|
21
33
|
* @returns The poseidon hash.
|
|
22
|
-
*/ export
|
|
34
|
+
*/ export function poseidon2HashWithSeparator(input, separator) {
|
|
23
35
|
const inputFields = serializeToFields(input);
|
|
24
36
|
inputFields.unshift(new Fr(separator));
|
|
25
|
-
|
|
26
|
-
const api = Barretenberg.getSingleton();
|
|
27
|
-
const response = await api.poseidon2Hash({
|
|
28
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
29
|
-
});
|
|
30
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
37
|
+
return poseidon2HashFields(inputFields);
|
|
31
38
|
}
|
|
32
39
|
/**
|
|
33
40
|
* Runs a Poseidon2 permutation.
|
|
@@ -35,18 +42,23 @@ import { serializeToFields } from '../../serialize/serialize.js';
|
|
|
35
42
|
* @returns the output state, size 4.
|
|
36
43
|
*/ export async function poseidon2Permutation(input) {
|
|
37
44
|
const inputFields = serializeToFields(input);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
if (IS_BROWSER) {
|
|
46
|
+
await BarretenbergSync.initSingleton();
|
|
47
|
+
const api = BarretenbergSync.getSingleton();
|
|
48
|
+
const response = api.poseidon2Permutation({
|
|
49
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
50
|
+
});
|
|
51
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
52
|
+
} else {
|
|
53
|
+
await Barretenberg.initSingleton();
|
|
54
|
+
const api = Barretenberg.getSingleton();
|
|
55
|
+
const response = await api.poseidon2Permutation({
|
|
56
|
+
inputs: inputFields.map((i)=>i.toBuffer())
|
|
57
|
+
});
|
|
58
|
+
return response.outputs.map((o)=>Fr.fromBuffer(Buffer.from(o)));
|
|
59
|
+
}
|
|
48
60
|
}
|
|
49
|
-
export
|
|
61
|
+
export function poseidon2HashBytes(input) {
|
|
50
62
|
const inputFields = [];
|
|
51
63
|
for(let i = 0; i < input.length; i += 31){
|
|
52
64
|
const fieldBytes = Buffer.alloc(32, 0);
|
|
@@ -55,10 +67,5 @@ export async function poseidon2HashBytes(input) {
|
|
|
55
67
|
fieldBytes.reverse();
|
|
56
68
|
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
57
69
|
}
|
|
58
|
-
|
|
59
|
-
const api = Barretenberg.getSingleton();
|
|
60
|
-
const response = await api.poseidon2Hash({
|
|
61
|
-
inputs: inputFields.map((i)=>i.toBuffer())
|
|
62
|
-
});
|
|
63
|
-
return Fr.fromBuffer(Buffer.from(response.hash));
|
|
70
|
+
return poseidon2HashFields(inputFields);
|
|
64
71
|
}
|
|
@@ -145,4 +145,4 @@ export declare class BLS12Fq extends BLS12Field {
|
|
|
145
145
|
toJSON(): `0x${string}`;
|
|
146
146
|
static get schema(): import("zod").ZodType<BLS12Fq, any, string>;
|
|
147
147
|
}
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYmxzMTIvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBY3ZDOztHQUVHO0FBQ0gsOEJBQXNCLFVBQVU7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUUxQixTQUFTLGFBQWEsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxFQWlCcEQ7SUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUM7SUFDckMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDO0lBRWxDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQVFqQjtJQUVELFlBQVksSUFBSTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBVWxDO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUUvQjtJQUVELEVBQUUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FFM0I7SUFFRCxNQUFNLElBQUksT0FBTyxDQUVoQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBRWpCO0lBRUQsVUFBVSxJQUFJLE9BQU8sQ0FJcEI7SUFFRCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELE9BQU8sU0FFTjtDQUNGO0FBa0REOzs7R0FHRztBQUNILHFCQUFhLE9BQVEsU0FBUSxVQUFVO0lB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/field.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bls12/field.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAcvC;;GAEG;AACH,8BAAsB,UAAU;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,SAAS,aAAa,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAiBpD;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC;IAElC;;OAEG;IACH,QAAQ,IAAI,MAAM,CAKjB;IAED,QAAQ,IAAI,KAAK,MAAM,EAAE,CAExB;IAED,QAAQ,IAAI,MAAM,CAQjB;IAED,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAUlC;IAED,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE/B;IAED,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE3B;IAED,MAAM,IAAI,OAAO,CAEhB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,UAAU,IAAI,OAAO,CAIpB;IAED,cAAc,IAAI,MAAM,CAEvB;IAED,OAAO,SAEN;CACF;AAkDD;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,aAAa,SAA6B;IACjD,MAAM,CAAC,OAAO,SAA6B;IAC3C,MAAM,CAAC,IAAI,UAAmB;IAC9B,MAAM,CAAC,GAAG,UAAmB;IAC7B,MAAM,CAAC,eAAe,UAAkC;IAExD,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAE1C;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,SAAS,CAAC,OAAO,WAEhB;IAED,SAAS,CAAC,IAAI,WAEb;IAED,MAAM,CAAC,MAAM,YAEZ;IAED,MAAM,CAAC,IAAI,YAEV;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,WAE3B;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,WAE9C;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAS5B;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,WAE/B;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,WAEhD;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,WAE3B;IAED;;;;;;OAMG;IACH,SAAS,OAKR;IAED,+CAA+C;IAE/C,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,MAAM,YAEL;IAED,MAAM,YAEL;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,IAAI,mBAcH;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,WAEd;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,gDAEhB;CACF;AAED;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,UAAU;IACrC,MAAM,CAAC,aAAa,SAA6B;IACjD,MAAM,CAAC,OAAO,SAA6B;IAC3C,MAAM,CAAC,IAAI,UAAmB;IAC9B,MAAM,CAAC,GAAG,UAAmB;IAC7B,MAAM,CAAC,eAAe,UAAkC;IAExD,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAE1C;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,SAAS,CAAC,OAAO,WAEhB;IAED,SAAS,CAAC,IAAI,WAEb;IAED,MAAM,CAAC,MAAM,YAEZ;IAED,MAAM,CAAC,IAAI,YAEV;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,WAE3B;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,WAE9C;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAS5B;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,WAE/B;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,WAEhD;IAED,+CAA+C;IAE/C,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,MAAM,YAEL;IAED,MAAM,YAEL;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,GAAG,CAAC,GAAG,EAAE,OAAO,WAEf;IAED,IAAI,mBAcH;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,WAEd;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,gDAEhB;CACF"}
|
|
@@ -5,7 +5,6 @@ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
|
|
|
5
5
|
import { randomBytes } from '../../crypto/random/index.js';
|
|
6
6
|
import { hexSchemaFor } from '../../schemas/utils.js';
|
|
7
7
|
import { BufferReader } from '../../serialize/buffer_reader.js';
|
|
8
|
-
import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
9
8
|
import { Fr } from '../bn254/field.js';
|
|
10
9
|
/**
|
|
11
10
|
* Base BLS12field class.
|
|
@@ -251,8 +250,6 @@ _computedKey = inspect.custom;
|
|
|
251
250
|
return hexSchemaFor(BLS12Fr);
|
|
252
251
|
}
|
|
253
252
|
}
|
|
254
|
-
// For deserializing JSON.
|
|
255
|
-
TypeRegistry.register('BLS12Fr', BLS12Fr);
|
|
256
253
|
_computedKey1 = inspect.custom;
|
|
257
254
|
/**
|
|
258
255
|
* Fq field class.
|
|
@@ -358,5 +355,3 @@ _computedKey1 = inspect.custom;
|
|
|
358
355
|
return hexSchemaFor(BLS12Fq);
|
|
359
356
|
}
|
|
360
357
|
}
|
|
361
|
-
// For deserializing JSON.
|
|
362
|
-
TypeRegistry.register('BLS12Fq', BLS12Fq);
|
|
@@ -60,24 +60,31 @@ declare abstract class BaseField {
|
|
|
60
60
|
* It maybe not read the full 32 bytes if the Buffer is shorter, but it will padded in BaseField constructor.
|
|
61
61
|
*/
|
|
62
62
|
export declare function fromBuffer<T extends BaseField>(buffer: Buffer | BufferReader, f: DerivedField<T>): T;
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Abstract unbranded base class for BN254 scalar field elements.
|
|
65
|
+
* Extend this instead of Fr when defining a branded subtype (e.g. BlockHash)
|
|
66
|
+
* to avoid inheriting Fr's `_branding`.
|
|
67
|
+
*/
|
|
68
|
+
export declare abstract class BaseFr extends BaseField {
|
|
69
|
+
static MODULUS: bigint;
|
|
70
|
+
constructor(value: number | bigint | boolean | BaseField | Buffer);
|
|
71
|
+
protected modulus(): bigint;
|
|
72
|
+
toJSON(): `0x${string}`;
|
|
67
73
|
}
|
|
68
74
|
/**
|
|
69
75
|
* Fr field class.
|
|
70
76
|
* @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
|
|
71
77
|
* (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
|
|
72
78
|
*/
|
|
73
|
-
export declare class Fr extends
|
|
79
|
+
export declare class Fr extends BaseFr {
|
|
80
|
+
/** Branding for nominal typing. */
|
|
81
|
+
private readonly _branding;
|
|
82
|
+
static MODULUS: bigint;
|
|
74
83
|
static ZERO: Fr;
|
|
75
84
|
static ONE: Fr;
|
|
76
|
-
static MODULUS: bigint;
|
|
77
85
|
static MAX_FIELD_VALUE: Fr;
|
|
78
86
|
constructor(value: number | bigint | boolean | Fr | Buffer);
|
|
79
87
|
[inspect.custom](): string;
|
|
80
|
-
protected modulus(): bigint;
|
|
81
88
|
static random(): Fr;
|
|
82
89
|
static zero(): Fr;
|
|
83
90
|
static isZero(value: Fr): boolean;
|
|
@@ -111,7 +118,6 @@ export declare class Fr extends BaseField {
|
|
|
111
118
|
* @returns A square root of the field element (null if it does not exist).
|
|
112
119
|
*/
|
|
113
120
|
sqrt(): Promise<Fr | null>;
|
|
114
|
-
toJSON(): `0x${string}`;
|
|
115
121
|
/**
|
|
116
122
|
* Creates an Fr instance from a plain object without Zod validation.
|
|
117
123
|
* This method is optimized for performance and skips validation, making it suitable
|
|
@@ -123,19 +129,14 @@ export declare class Fr extends BaseField {
|
|
|
123
129
|
static fromPlainObject(obj: any): Fr;
|
|
124
130
|
static get schema(): import("zod").ZodType<Fr, any, string>;
|
|
125
131
|
}
|
|
126
|
-
/**
|
|
127
|
-
* Branding to ensure fields are not interchangeable types.
|
|
128
|
-
*/
|
|
129
|
-
export interface Fq {
|
|
130
|
-
/** Brand. */
|
|
131
|
-
_branding: 'Fq';
|
|
132
|
-
}
|
|
133
132
|
/**
|
|
134
133
|
* Fq field class.
|
|
135
134
|
* @dev This class is used to represent elements of BN254 base field or elements in the scalar field of Grumpkin.
|
|
136
135
|
* (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
|
|
137
136
|
*/
|
|
138
137
|
export declare class Fq extends BaseField {
|
|
138
|
+
/** Branding for nominal typing. */
|
|
139
|
+
private readonly _branding;
|
|
139
140
|
static ZERO: Fq;
|
|
140
141
|
static MODULUS: bigint;
|
|
141
142
|
private static HIGH_SHIFT;
|
|
@@ -178,4 +179,4 @@ export declare class Fq extends BaseField {
|
|
|
178
179
|
/** Wraps a function that returns a buffer so that all results are reduced into a field of the given type. */
|
|
179
180
|
export declare function reduceFn<TInput, TField extends BaseField>(fn: (input: TInput) => Buffer, field: DerivedField<TField>): (input: TInput) => TField;
|
|
180
181
|
export {};
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvYm4yNTQvZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxLQUFLLFlBQVksQ0FBQyxDQUFDLFNBQVMsU0FBUyxJQUFJO0lBQ3ZDLEtBQUssS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDcEI7O09BRUc7SUFDSCxPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsdUJBQWUsU0FBUztJQUN0QixNQUFNLENBQUMsYUFBYSxTQUFNO0lBQzFCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFTO0lBRWxDOzs7U0FHSztJQUNMLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FFbEI7SUFFRCxpQ0FBaUM7SUFDakMsSUFBSSxJQUFJLElBQUksTUFBTSxDQUVqQjtJQUVELFNBQVMsYUFBYSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsU0FBUyxHQUFHLE1BQU0sRUFtQjFFO0lBRUQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDO0lBRXJDOztPQUVHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxRQUFRLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FFeEI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sSUFBSSxPQUFPLENBRWhCO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxJQUFJLE1BQU0sQ0FLakI7SUFFRDs7O09BR0c7SUFDSCxjQUFjLElBQUksTUFBTSxDQUV2QjtJQUVELGFBQWEsSUFBSSxNQUFNLENBR3RCO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxT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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bn254/field.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/curves/bn254/field.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAK/B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE;;GAEG;AACH,KAAK,YAAY,CAAC,CAAC,SAAS,SAAS,IAAI;IACvC,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,uBAAe,SAAS;IACtB,MAAM,CAAC,aAAa,SAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC;;;SAGK;IACL,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,iCAAiC;IACjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,SAAS,aAAa,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,EAmB1E;IAED,SAAS,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED,QAAQ,IAAI,KAAK,MAAM,EAAE,CAExB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,OAAO,CAEhB;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAKjB;IAED;;;OAGG;IACH,cAAc,IAAI,MAAM,CAEvB;IAED,aAAa,IAAI,MAAM,CAGtB;IAED,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAE9B;IAED,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAE1B;IAED,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAE9B;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAErD;IAGD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAEvD;IAED,MAAM,IAAI,OAAO,CAEhB;IAED,OAAO,IAAI,OAAO,CAEjB;IAED,cAAc,IAAI,MAAM,CAEvB;IAED,OAAO,SAEN;CACF;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAGhG;AAiCD;;;;GAIG;AACH,8BAAsB,MAAO,SAAQ,SAAS;IAC5C,MAAM,CAAC,OAAO,SAAuE;IAErF,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,EAEhE;IAED,SAAS,CAAC,OAAO,WAEhB;IAED,MAAM,kBAEL;CACF;AAED;;;;GAIG;AACH,qBAAa,EAAG,SAAQ,MAAM;IAC5B,mCAAmC;IACnC,iBAAyB,SAAS,CAAO;IACzC,OAAgB,OAAO,SAAuE;IAC9F,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,GAAG,KAAc;IACxB,MAAM,CAAC,eAAe,KAA6B;IAEnD,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,EAEzD;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,MAAM,CAAC,MAAM,OAEZ;IAED,MAAM,CAAC,IAAI,OAEV;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,WAEtB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,MAE9C;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,MAErC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,MAS5B;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,MAE/B;IAED,iBAAiB;IAEjB,GAAG,CAAC,GAAG,EAAE,EAAE,MAEV;IAED,MAAM,OAEL;IAED,MAAM,OAEL;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAGV;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAEV;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAOV;IAGD,IAAI,CAAC,GAAG,EAAE,EAAE,MAMX;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAS/B;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAKnC;IAED,MAAM,KAAK,MAAM,2CAGhB;CACF;AAED;;;;GAIG;AACH,qBAAa,EAAG,SAAQ,SAAS;IAC/B,mCAAmC;IACnC,iBAAyB,SAAS,CAAO;IACzC,MAAM,CAAC,IAAI,KAAc;IACzB,MAAM,CAAC,OAAO,SAAuE;IACrF,OAAO,CAAC,MAAM,CAAC,UAAU,CAA6C;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IAErD,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,YAAY,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,EAAE,GAAG,MAAM,EAEzD;IAED,SAAS,CAAC,OAAO,WAEhB;IAED,MAAM,CAAC,MAAM,OAEZ;IAED,MAAM,CAAC,IAAI,OAEV;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,MAE9C;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,MAErC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,MAS5B;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,MAE/B;IAED,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,CAExC;IAED,GAAG,CAAC,GAAG,EAAE,EAAE,MAEV;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAS/B;IAED,MAAM,kBAEL;IAED,QAAQ,SAKP;IAED,MAAM,KAAK,MAAM,2CAEhB;CACF;AA6BD,6GAA6G;AAC7G,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,6BAEpH"}
|
|
@@ -5,7 +5,6 @@ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
|
|
|
5
5
|
import { randomBytes } from '../../crypto/random/index.js';
|
|
6
6
|
import { hexSchemaFor } from '../../schemas/utils.js';
|
|
7
7
|
import { BufferReader } from '../../serialize/buffer_reader.js';
|
|
8
|
-
import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
9
8
|
/**
|
|
10
9
|
* Base field class.
|
|
11
10
|
* Uses bigint as the internal representation.
|
|
@@ -133,15 +132,31 @@ import { TypeRegistry } from '../../serialize/type_registry.js';
|
|
|
133
132
|
const buffer = Buffer.from(checked.length % 2 === 1 ? '0' + checked : checked, 'hex');
|
|
134
133
|
return new f(toBigIntBE(buffer));
|
|
135
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Abstract unbranded base class for BN254 scalar field elements.
|
|
137
|
+
* Extend this instead of Fr when defining a branded subtype (e.g. BlockHash)
|
|
138
|
+
* to avoid inheriting Fr's `_branding`.
|
|
139
|
+
*/ export class BaseFr extends BaseField {
|
|
140
|
+
static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
141
|
+
constructor(value){
|
|
142
|
+
super(value);
|
|
143
|
+
}
|
|
144
|
+
modulus() {
|
|
145
|
+
return BaseFr.MODULUS;
|
|
146
|
+
}
|
|
147
|
+
toJSON() {
|
|
148
|
+
return this.toString();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
136
151
|
_computedKey = inspect.custom;
|
|
137
152
|
/**
|
|
138
153
|
* Fr field class.
|
|
139
154
|
* @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
|
|
140
155
|
* (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
|
|
141
|
-
*/ export class Fr extends
|
|
156
|
+
*/ export class Fr extends BaseFr {
|
|
157
|
+
static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
142
158
|
static ZERO = new Fr(0n);
|
|
143
159
|
static ONE = new Fr(1n);
|
|
144
|
-
static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
|
|
145
160
|
static MAX_FIELD_VALUE = new Fr(this.MODULUS - 1n);
|
|
146
161
|
constructor(value){
|
|
147
162
|
super(value);
|
|
@@ -149,9 +164,6 @@ _computedKey = inspect.custom;
|
|
|
149
164
|
[_computedKey]() {
|
|
150
165
|
return `Fr<${this.toString()}>`;
|
|
151
166
|
}
|
|
152
|
-
modulus() {
|
|
153
|
-
return Fr.MODULUS;
|
|
154
|
-
}
|
|
155
167
|
static random() {
|
|
156
168
|
return random(Fr);
|
|
157
169
|
}
|
|
@@ -235,9 +247,6 @@ _computedKey = inspect.custom;
|
|
|
235
247
|
}
|
|
236
248
|
return Fr.fromBuffer(Buffer.from(response.value));
|
|
237
249
|
}
|
|
238
|
-
toJSON() {
|
|
239
|
-
return this.toString();
|
|
240
|
-
}
|
|
241
250
|
/**
|
|
242
251
|
* Creates an Fr instance from a plain object without Zod validation.
|
|
243
252
|
* This method is optimized for performance and skips validation, making it suitable
|
|
@@ -256,8 +265,6 @@ _computedKey = inspect.custom;
|
|
|
256
265
|
return hexSchemaFor(Fr);
|
|
257
266
|
}
|
|
258
267
|
}
|
|
259
|
-
// For deserializing JSON.
|
|
260
|
-
TypeRegistry.register('Fr', Fr);
|
|
261
268
|
_computedKey1 = inspect.custom;
|
|
262
269
|
/**
|
|
263
270
|
* Fq field class.
|
|
@@ -355,8 +362,6 @@ _computedKey1 = inspect.custom;
|
|
|
355
362
|
return hexSchemaFor(Fq);
|
|
356
363
|
}
|
|
357
364
|
}
|
|
358
|
-
// For deserializing JSON.
|
|
359
|
-
TypeRegistry.register('Fq', Fq);
|
|
360
365
|
// Beware: Performance bottleneck below
|
|
361
366
|
/**
|
|
362
367
|
* Find the modular inverse of a given element, for BN254 Fr.
|
|
@@ -49,7 +49,7 @@ export declare class Point {
|
|
|
49
49
|
*/
|
|
50
50
|
static fromPlainObject(obj: any): Point;
|
|
51
51
|
/**
|
|
52
|
-
* Generate a random Point instance.
|
|
52
|
+
* Generate a random Point instance that is on the curve.
|
|
53
53
|
*
|
|
54
54
|
* @returns A randomly generated Point instance.
|
|
55
55
|
*/
|
|
@@ -80,8 +80,8 @@ export declare class Point {
|
|
|
80
80
|
*/
|
|
81
81
|
static fromString(str: string): Point;
|
|
82
82
|
/**
|
|
83
|
-
* Returns the contents of the point as an array of
|
|
84
|
-
* @returns The point as an array of
|
|
83
|
+
* Returns the contents of the point as an array of 3 fields.
|
|
84
|
+
* @returns The point as an array of 3 fields
|
|
85
85
|
*/
|
|
86
86
|
toFields(): Fr[];
|
|
87
87
|
static fromFields(fields: Fr[] | FieldReader): Point;
|
|
@@ -179,4 +179,4 @@ export declare class Point {
|
|
|
179
179
|
export declare class NotOnCurveError extends Error {
|
|
180
180
|
constructor(x: Fr);
|
|
181
181
|
}
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvZ3J1bXBraW4vcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFFeEYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDOzs7OztHQUtHO0FBQ0gscUJBQWEsS0FBSztJQVNkOztPQUVHO2FBQ2EsQ0FBQyxFQUFFLEVBQUU7SUFDckI7O09BRUc7YUFDYSxDQUFDLEVBQUUsRUFBRTtJQUNyQjs7T0FFRzthQUNhLFVBQVUsRUFBRSxPQUFPO0lBbkJyQyxNQUFNLENBQUMsSUFBSSxRQUFzQztJQUNqRCxNQUFNLENBQUMsYUFBYSxTQUF3QjtJQUM1QyxNQUFNLENBQUMsd0JBQXdCLFNBQW9CO0lBRW5ELHlEQUF5RDtJQUN6RCxTQUFnQixJQUFJLFdBQVc7SUFFL0I7SUFDRTs7T0FFRztJQUNhLENBQUMsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ2EsQ0FBQyxFQUFFLEVBQUU7SUFDckI7O09BRUc7SUFDYSxVQUFVLEVBQUUsT0FBTyxFQUdwQztJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSw4Q0FHaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FRdEM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYSxNQUFNLG1CQVlsQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFNBRzlDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRekU7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxTQUU1QjtJQUVEOzs7T0FHRztJQUlILFFBQVEsU0FFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsU0FHM0M7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sa0JBYzdDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FPdkM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUUxQjtJQUVEOzs7T0FHRztJQUNILFNBQVM7Ozs7TUFNUjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFFBQVEsNEJBU1A7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsNEJBV2pCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsUUFBUSxrQkFFUDtJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLFdBR1o7SUFFRCxZQUFZOzs7O01BSVg7SUFHRCxtQkFBbUI7Ozs7OztNQUVsQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxXQUVoQjtJQUVELE1BQU0sWUFFTDtJQUVELElBQUksZ0JBRUg7SUFFRDs7O09BR0c7SUFDSCxJQUFXLEdBQUcsWUFFYjtJQUVELFlBQVksWUFXWDtDQUNGO0FBRUQscUJBQWEsZUFBZ0IsU0FBUSxLQUFLO0lBQ3hDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFHaEI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/curves/grumpkin/point.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,KAAK;IASd;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,UAAU,EAAE,OAAO;IAnBrC,MAAM,CAAC,IAAI,QAAsC;IACjD,MAAM,CAAC,aAAa,SAAwB;IAC5C,MAAM,CAAC,wBAAwB,SAAoB;IAEnD,yDAAyD;IACzD,SAAgB,IAAI,WAAW;IAE/B;IACE;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,UAAU,EAAE,OAAO,EAGpC;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,8CAGhB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAQtC;IAED;;;;OAIG;IACH,OAAa,MAAM,mBAYlB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,SAG9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAQzE;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,SAE5B;IAED;;;OAGG;
|
|
1
|
+
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/curves/grumpkin/point.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,KAAK;IASd;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,UAAU,EAAE,OAAO;IAnBrC,MAAM,CAAC,IAAI,QAAsC;IACjD,MAAM,CAAC,aAAa,SAAwB;IAC5C,MAAM,CAAC,wBAAwB,SAAoB;IAEnD,yDAAyD;IACzD,SAAgB,IAAI,WAAW;IAE/B;IACE;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,UAAU,EAAE,OAAO,EAGpC;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,8CAGhB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAQtC;IAED;;;;OAIG;IACH,OAAa,MAAM,mBAYlB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,SAG9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAQzE;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,SAE5B;IAED;;;OAGG;IAIH,QAAQ,SAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,SAG3C;IAED;;;;;;;;OAQG;IACH,OAAa,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,kBAc7C;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAOvC;IAED;;;;OAIG;IACH,UAAU,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAE1B;IAED;;;OAGG;IACH,SAAS;;;;MAMR;IAED;;;;;;;;;OASG;IACH,QAAQ,4BASP;IAED;;;OAGG;IACH,kBAAkB,4BAWjB;IAED;;;;;;OAMG;IACH,QAAQ,kBAEP;IAED;;;;;;;OAOG;IACH,aAAa,WAGZ;IAED,YAAY;;;;MAIX;IAGD,mBAAmB;;;;;;MAElB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,KAAK,WAEhB;IAED,MAAM,YAEL;IAED,IAAI,gBAEH;IAED;;;OAGG;IACH,IAAW,GAAG,YAEb;IAED,YAAY,YAWX;CACF;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,CAAC,EAAE,EAAE,EAGhB;CACF"}
|
|
@@ -55,7 +55,7 @@ import { Fr } from '../bn254/field.js';
|
|
|
55
55
|
return new Point(Fr.fromPlainObject(obj.x), Fr.fromPlainObject(obj.y), obj.isInfinite ?? false);
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
|
-
* Generate a random Point instance.
|
|
58
|
+
* Generate a random Point instance that is on the curve.
|
|
59
59
|
*
|
|
60
60
|
* @returns A randomly generated Point instance.
|
|
61
61
|
*/ static async random() {
|
|
@@ -104,9 +104,12 @@ import { Fr } from '../bn254/field.js';
|
|
|
104
104
|
return this.fromBuffer(hexToBuffer(str));
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* Returns the contents of the point as an array of
|
|
108
|
-
* @returns The point as an array of
|
|
109
|
-
*/
|
|
107
|
+
* Returns the contents of the point as an array of 3 fields.
|
|
108
|
+
* @returns The point as an array of 3 fields
|
|
109
|
+
*/ // TODO(F-553): Once we take the breaking change and drop the custom Noir `Point` wrapper in
|
|
110
|
+
// `noir-projects/noir-protocol-circuits/crates/types/src/point.nr`, revert this to serialize as `[x, y]` (2 fields)
|
|
111
|
+
// and drop the `is_infinite` flag from `fromFields` / `toNoirStruct` below.
|
|
112
|
+
toFields() {
|
|
110
113
|
return [
|
|
111
114
|
this.x,
|
|
112
115
|
this.y,
|
|
@@ -140,4 +140,4 @@ export declare class EthAddress {
|
|
|
140
140
|
static get schema(): import("zod").ZodType<EthAddress, any, string>;
|
|
141
141
|
static areEqual(a: EthAddress | string, b: EthAddress | string): boolean;
|
|
142
142
|
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGgtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xFOzs7OztHQUtHO0FBQ0gscUJBQWEsVUFBVTtJQU1ULE9BQU8sQ0FBQyxNQUFNO0lBTDFCLGdEQUFnRDtJQUNoRCxPQUFjLGFBQWEsU0FBTTtJQUNqQywwRUFBMEU7SUFDMUUsT0FBYyxJQUFJLGFBQTBEO0lBRTVFLFlBQW9CLE1BQU0sRUFBRSxNQUFNLEVBSWpDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQWMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLGNBS3ZDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQWMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQVFsRDtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsTUFBTSxlQUVuQjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYyxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sV0FVdEM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sWUFFWjtJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFjLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLFdBY2pEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsT0FBYyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssTUFBTSxFQUFFLENBa0I5RDtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxXQUU1QjtJQUVEOzs7Ozs7T0FNRztJQUNJLFFBQVEsa0JBRWQ7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtJQUVEOzs7Ozs7T0FNRztJQUNJLGdCQUFnQixrQkFFdEI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLDRCQUVkO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksVUFBVSx3QkFJaEI7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxPQUViO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLENBRW5DO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FHM0Q7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxVQUFVLENBSWxEO0lBRUQsTUFBTSxrQkFFTDtJQUVELE1BQU0sS0FBSyxNQUFNLG1EQUdoQjtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFVBQVUsR0FBRyxNQUFNLFdBSTdEO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eth-address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eth-address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGlE;;;;;GAKG;AACH,qBAAa,UAAU;IAMT,OAAO,CAAC,MAAM;IAL1B,gDAAgD;IAChD,OAAc,aAAa,SAAM;IACjC,0EAA0E;IAC1E,OAAc,IAAI,aAA0D;IAE5E,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;;;;OAOG;IACH,OAAc,UAAU,CAAC,OAAO,EAAE,MAAM,cAKvC;IAED;;;;;;;OAOG;IACH,OAAc,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQlD;IAED;;;;;;OAMG;IACH,OAAc,MAAM,eAEnB;IAED;;;;;;;;OAQG;IACH,OAAc,SAAS,CAAC,OAAO,EAAE,MAAM,WAUtC;IAED;;;;;OAKG;IACI,MAAM,YAEZ;IAED;;;;;;;OAOG;IACH,OAAc,oBAAoB,CAAC,OAAO,EAAE,MAAM,WAcjD;IAED;;;;;;;;;OASG;IACH,OAAc,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAkB9D;IAED;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,EAAE,UAAU,WAE5B;IAED;;;;;;OAMG;IACI,QAAQ,kBAEd;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED;;;;;;OAMG;IACI,gBAAgB,kBAEtB;IAED;;;OAGG;IACI,QAAQ,4BAEd;IAED;;;;;;OAMG;IACI,UAAU,wBAIhB;IAED;;;;OAIG;IACI,OAAO,OAEb;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAEnC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAG3D;IAED,6DAA6D;IAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAIlD;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,mDAGhB;IAED,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,WAI7D;CACF"}
|
|
@@ -5,7 +5,6 @@ import { randomBytes } from '../crypto/random/index.js';
|
|
|
5
5
|
import { Fr } from '../curves/bn254/index.js';
|
|
6
6
|
import { hexSchemaFor } from '../schemas/utils.js';
|
|
7
7
|
import { BufferReader, FieldReader } from '../serialize/index.js';
|
|
8
|
-
import { TypeRegistry } from '../serialize/type_registry.js';
|
|
9
8
|
import { bufferToHex } from '../string/index.js';
|
|
10
9
|
_computedKey = inspect.custom;
|
|
11
10
|
/**
|
|
@@ -223,5 +222,3 @@ _computedKey = inspect.custom;
|
|
|
223
222
|
return addrA.equals(addrB);
|
|
224
223
|
}
|
|
225
224
|
}
|
|
226
|
-
// For deserializing JSON.
|
|
227
|
-
TypeRegistry.register('EthAddress', EthAddress);
|