@aztec/foundation 0.55.0 → 0.56.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/dest/abi/decoder.d.ts +6 -6
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +23 -24
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +6 -3
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +6 -3
- package/dest/buffer/buffer32.d.ts +9 -0
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +18 -1
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/crypto/index.d.ts +1 -0
- package/dest/crypto/index.d.ts.map +1 -1
- package/dest/crypto/index.js +2 -1
- package/dest/crypto/poseidon/index.d.ts +2 -0
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.js +14 -1
- package/dest/crypto/secp256k1-signer/index.d.ts +3 -0
- package/dest/crypto/secp256k1-signer/index.d.ts.map +1 -0
- package/dest/crypto/secp256k1-signer/index.js +3 -0
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts +24 -0
- package/dest/crypto/secp256k1-signer/secp256k1_signer.d.ts.map +1 -0
- package/dest/crypto/secp256k1-signer/secp256k1_signer.js +31 -0
- package/dest/crypto/secp256k1-signer/utils.d.ts +39 -0
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -0
- package/dest/crypto/secp256k1-signer/utils.js +89 -0
- package/dest/crypto/sha256/index.d.ts +15 -3
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha256/index.js +110 -5
- package/dest/eth-signature/eth_signature.d.ts +54 -0
- package/dest/eth-signature/eth_signature.d.ts.map +1 -0
- package/dest/eth-signature/eth_signature.js +69 -0
- package/dest/eth-signature/index.d.ts +2 -0
- package/dest/eth-signature/index.d.ts.map +1 -0
- package/dest/eth-signature/index.js +2 -0
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +3 -2
- package/dest/index.d.ts +1 -0
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -1
- package/dest/json-rpc/server/json_rpc_server.d.ts +9 -0
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/json_rpc_server.js +25 -3
- package/dest/serialize/buffer_reader.d.ts +9 -0
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.js +18 -1
- package/dest/serialize/serialize.js +2 -2
- package/dest/serialize/types.d.ts +1 -1
- package/dest/serialize/types.d.ts.map +1 -1
- package/dest/serialize/types.js +1 -1
- package/dest/testing/index.d.ts +1 -0
- package/dest/testing/index.d.ts.map +1 -1
- package/dest/testing/index.js +2 -1
- package/dest/testing/port_allocator.d.ts +10 -0
- package/dest/testing/port_allocator.d.ts.map +1 -0
- package/dest/testing/port_allocator.js +32 -0
- package/dest/trees/index.d.ts +1 -0
- package/dest/trees/index.d.ts.map +1 -1
- package/dest/trees/index.js +2 -2
- package/dest/trees/unbalanced_merkle_root.d.ts +12 -0
- package/dest/trees/unbalanced_merkle_root.d.ts.map +1 -0
- package/dest/trees/unbalanced_merkle_root.js +52 -0
- package/package.json +5 -3
- package/src/abi/decoder.ts +24 -25
- package/src/abi/event_selector.ts +5 -2
- package/src/abi/function_selector.ts +5 -2
- package/src/buffer/buffer32.ts +18 -0
- package/src/config/env_var.ts +13 -2
- package/src/crypto/index.ts +1 -0
- package/src/crypto/poseidon/index.ts +22 -0
- package/src/crypto/secp256k1-signer/index.ts +2 -0
- package/src/crypto/secp256k1-signer/secp256k1_signer.ts +38 -0
- package/src/crypto/secp256k1-signer/utils.ts +99 -0
- package/src/crypto/sha256/index.ts +137 -4
- package/src/eth-signature/eth_signature.ts +90 -0
- package/src/eth-signature/index.ts +1 -0
- package/src/fields/point.ts +2 -1
- package/src/index.ts +1 -0
- package/src/json-rpc/server/json_rpc_server.ts +34 -3
- package/src/serialize/buffer_reader.ts +20 -0
- package/src/serialize/serialize.ts +1 -1
- package/src/serialize/types.ts +1 -1
- package/src/testing/index.ts +1 -0
- package/src/testing/port_allocator.ts +31 -0
- package/src/trees/index.ts +2 -0
- package/src/trees/unbalanced_merkle_root.ts +52 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IAI9C;;;;;;;OAOG;WACW,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY;IAYxF,0EAA0E;IACnE,OAAO,IAAI,OAAO;IAIzB;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;OAIG;IACI,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAKhE;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAM1B;;;;;;OAMG;IACI,WAAW,IAAI,OAAO;IAM7B;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAMnC,yCAAyC;IAClC,SAAS,IAAI,MAAM;IAM1B;;;;;OAKG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAMnC;;;;;;;;OAQG;IACI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACrC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;OAQG;IACI,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,EAAE;QAChD;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;;OAOG;IACI,eAAe,CAAC,IAAI,SAAK,GAAG,MAAM,EAAE;IAiB3C;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC;IAIL;;;;;;OAMG;IACI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKpC;;;;;;OAMG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC9B;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;IAWxB;;;OAGG;IACI,SAAS,IAAI,MAAM;CAW3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B"}
|
|
1
|
+
{"version":3,"file":"buffer_reader.d.ts","sourceRoot":"","sources":["../../src/serialize/buffer_reader.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;;IAEX,OAAO,CAAC,MAAM;IAD1B,OAAO,CAAC,KAAK,CAAS;gBACF,MAAM,EAAE,MAAM,EAAE,MAAM,SAAI;IAI9C;;;;;;;OAOG;WACW,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY;IAYxF,0EAA0E;IACnE,OAAO,IAAI,OAAO;IAIzB;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;OAIG;IACI,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAKhE;;;;;;;OAOG;IACI,WAAW,IAAI,MAAM;IAY5B;;;;;OAKG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;OAKG;IACI,SAAS,IAAI,MAAM;IAM1B;;;;;;OAMG;IACI,WAAW,IAAI,OAAO;IAM7B;;;;;;;OAOG;IACI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAMnC,yCAAyC;IAClC,SAAS,IAAI,MAAM;IAM1B;;;;;OAKG;IACI,gBAAgB,IAAI,MAAM,EAAE;IAMnC;;;;;;;;OAQG;IACI,UAAU,CAAC,CAAC,EAAE,gBAAgB,EAAE;QACrC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;OAQG;IACI,qBAAqB,CAAC,CAAC,EAAE,gBAAgB,EAAE;QAChD;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC,EAAE;IASP;;;;;;;;;OASG;IACI,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAClC,IAAI,EAAE,CAAC,EACP,gBAAgB,EAAE;QAChB;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GACA,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAKd;;;;;;;OAOG;IACI,eAAe,CAAC,IAAI,SAAK,GAAG,MAAM,EAAE;IAiB3C;;;;;;OAMG;IACI,UAAU,CAAC,CAAC,EAAE,YAAY,EAAE;QACjC;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG,CAAC;IAIL;;;;;;OAMG;IACI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKpC;;;;;;OAMG;IACI,UAAU,IAAI,MAAM;IAI3B;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM;IAM3B;;;;;;;;OAQG;IACI,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE;QAC9B;;WAEG;QACH,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC;KACzC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;KAAE;IAWxB;;;OAGG;IACI,SAAS,IAAI,MAAM;CAW3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;CAC/B"}
|
|
@@ -64,6 +64,23 @@ export class BufferReader {
|
|
|
64
64
|
const result = Array.from({ length: count }, () => this.readNumber());
|
|
65
65
|
return result;
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Reads a 256-bit unsigned integer from the buffer at the current index position.
|
|
69
|
+
* Updates the index position by 32 bytes after reading the number.
|
|
70
|
+
*
|
|
71
|
+
* Assumes the number is stored in big-endian format.
|
|
72
|
+
*
|
|
73
|
+
* @returns The read 256 bit value as a bigint.
|
|
74
|
+
*/
|
|
75
|
+
readUInt256() {
|
|
76
|
+
__classPrivateFieldGet(this, _BufferReader_instances, "m", _BufferReader_rangeCheck).call(this, 32);
|
|
77
|
+
let result = BigInt(0);
|
|
78
|
+
for (let i = 0; i < 32; i++) {
|
|
79
|
+
result = (result << BigInt(8)) | BigInt(this.buffer[this.index + i]);
|
|
80
|
+
}
|
|
81
|
+
this.index += 32;
|
|
82
|
+
return result;
|
|
83
|
+
}
|
|
67
84
|
/**
|
|
68
85
|
* Reads a 16-bit unsigned integer from the buffer at the current index position.
|
|
69
86
|
* Updates the index position by 2 bytes after reading the number.
|
|
@@ -274,4 +291,4 @@ _BufferReader_instances = new WeakSet(), _BufferReader_rangeCheck = function _Bu
|
|
|
274
291
|
throw new Error(`Attempted to read beyond buffer length. Start index: ${this.index}, Num bytes to read: ${numBytes}, Buffer length: ${this.buffer.length}`);
|
|
275
292
|
}
|
|
276
293
|
};
|
|
277
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVmZmVyX3JlYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJpYWxpemUvYnVmZmVyX3JlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFFdkIsWUFBb0IsTUFBYyxFQUFFLE1BQU0sR0FBRyxDQUFDOztRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFrRDtRQUN2RSxJQUFJLGNBQWMsWUFBWSxZQUFZLEVBQUUsQ0FBQztZQUMzQyxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDekMsQ0FBQyxDQUFDLGNBQWM7WUFDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3RixPQUFPLElBQUksWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCwwRUFBMEU7SUFDbkUsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxVQUFVO1FBQ2YsdUJBQUEsSUFBSSx5REFBWSxNQUFoQixJQUFJLEVBQWEsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMs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
|
|
@@ -172,7 +172,7 @@ export function toFriendlyJSON(obj) {
|
|
|
172
172
|
value.toFriendlyJSON) {
|
|
173
173
|
return value.toFriendlyJSON();
|
|
174
174
|
}
|
|
175
|
-
else if (value && value.type && ['Fr', 'Fq', 'AztecAddress'].includes(value.type)) {
|
|
175
|
+
else if (value && value.type && ['Fr', 'Fq', 'AztecAddress', 'EthAddress'].includes(value.type)) {
|
|
176
176
|
return value.value;
|
|
177
177
|
}
|
|
178
178
|
else {
|
|
@@ -256,4 +256,4 @@ export function deserializeInt32(buf, offset = 0) {
|
|
|
256
256
|
const adv = 4;
|
|
257
257
|
return { elem: buf.readInt32BE(offset), adv };
|
|
258
258
|
}
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZS9zZXJpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLElBQWtCLEVBQUUsWUFBWSxHQUFHLENBQUM7SUFDckYsTUFBTSxHQUFHLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsSUFBSSxTQUFpQixDQUFDO0lBQ3RCLElBQUksWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO1NBQU0sSUFBSSxZQUFZLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsWUFBWSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFtQkQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFV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
|
|
@@ -28,6 +28,6 @@ type MapTuple<T extends any[], F extends (item: any) => any> = {
|
|
|
28
28
|
* @see https://github.com/microsoft/TypeScript/issues/29841.
|
|
29
29
|
* @param array - A tuple array.
|
|
30
30
|
*/
|
|
31
|
-
export declare function mapTuple<T extends any[], F extends (item:
|
|
31
|
+
export declare function mapTuple<T extends any[], F extends (item: T[number]) => any>(tuple: T, fn: F): MapTuple<T, F>;
|
|
32
32
|
export {};
|
|
33
33
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/serialize/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAC3G;;;GAGG;AACH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE5G;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAK/E;AACD;;;;GAIG;AACH,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI;KAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK;CAC5F,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/serialize/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAC3G;;;GAGG;AACH,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE5G;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAK/E;AACD;;;;GAIG;AACH,KAAK,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI;KAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK;CAC5F,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAE7G"}
|
package/dest/serialize/types.js
CHANGED
|
@@ -19,4 +19,4 @@ export function assertLength(array, n) {
|
|
|
19
19
|
export function mapTuple(tuple, fn) {
|
|
20
20
|
return tuple.map(fn);
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBc0IsS0FBVSxFQUFFLENBQUk7SUFDaEUsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsU0FBUyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsT0FBTyxLQUFvQixDQUFDO0FBQzlCLENBQUM7QUFVRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQXNELEtBQVEsRUFBRSxFQUFLO0lBQzNGLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQW1CLENBQUM7QUFDekMsQ0FBQyJ9
|
package/dest/testing/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}
|
package/dest/testing/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './test_data.js';
|
|
2
2
|
export * from './snapshot_serializer.js';
|
|
3
|
-
|
|
3
|
+
export * from './port_allocator.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQkFBcUIsQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a random port that is free to use.
|
|
3
|
+
* Returns undefined if it fails to get a port.
|
|
4
|
+
*
|
|
5
|
+
* @attribution: adapted from https://stackoverflow.com/a/71178451
|
|
6
|
+
*
|
|
7
|
+
* @returns a random port that is free to use.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getRandomPort(): Promise<number | undefined>;
|
|
10
|
+
//# sourceMappingURL=port_allocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"port_allocator.d.ts","sourceRoot":"","sources":["../../src/testing/port_allocator.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoB3D"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import net from 'net';
|
|
2
|
+
/**
|
|
3
|
+
* Get a random port that is free to use.
|
|
4
|
+
* Returns undefined if it fails to get a port.
|
|
5
|
+
*
|
|
6
|
+
* @attribution: adapted from https://stackoverflow.com/a/71178451
|
|
7
|
+
*
|
|
8
|
+
* @returns a random port that is free to use.
|
|
9
|
+
*/
|
|
10
|
+
export function getRandomPort() {
|
|
11
|
+
return new Promise(resolve => {
|
|
12
|
+
const server = net.createServer();
|
|
13
|
+
server.listen(0, () => {
|
|
14
|
+
const address = server.address();
|
|
15
|
+
if (address && typeof address === 'object' && 'port' in address) {
|
|
16
|
+
const port = address.port;
|
|
17
|
+
server.close(() => {
|
|
18
|
+
resolve(port);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
server.close(() => {
|
|
23
|
+
resolve(undefined);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
server.on('error', () => {
|
|
28
|
+
resolve(undefined);
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydF9hbGxvY2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9wb3J0X2FsbG9jYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFFdEI7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxhQUFhO0lBQzNCLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDM0IsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNwQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDMUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7b0JBQ2hCLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckIsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDdEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
package/dest/trees/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trees/index.ts"],"names":[],"mappings":";AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,IAAI,eAAe,CAAC;IAC1B;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,UAAU,IAAI,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/trees/index.ts"],"names":[],"mappings":";AAAA,cAAc,6BAA6B,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,IAAI,eAAe,CAAC;IAC1B;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,UAAU,IAAI,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC;CACxB"}
|
package/dest/trees/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
export * from './unbalanced_merkle_root.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHJlZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyJ9
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { sha256Trunc } from '@aztec/foundation/crypto';
|
|
3
|
+
/**
|
|
4
|
+
* Computes the merkle root for an unbalanced tree.
|
|
5
|
+
*
|
|
6
|
+
* @dev Adapted from proving-state.ts -> findMergeLevel and unbalanced_tree.ts.
|
|
7
|
+
* Calculates the tree upwards layer by layer until we reach the root.
|
|
8
|
+
* The L1 calculation instead computes the tree from right to left (slightly cheaper gas).
|
|
9
|
+
* TODO: A more thorough investigation of which method is cheaper, then use that method everywhere.
|
|
10
|
+
*/
|
|
11
|
+
export declare function computeUnbalancedMerkleRoot(leaves: Buffer[], emptyLeaf?: Buffer, hasher?: typeof sha256Trunc): Buffer;
|
|
12
|
+
//# sourceMappingURL=unbalanced_merkle_root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unbalanced_merkle_root.d.ts","sourceRoot":"","sources":["../../src/trees/unbalanced_merkle_root.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,qBAAc,GAAG,MAAM,CAwC9G"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
2
|
+
import { sha256Trunc } from '@aztec/foundation/crypto';
|
|
3
|
+
/**
|
|
4
|
+
* Computes the merkle root for an unbalanced tree.
|
|
5
|
+
*
|
|
6
|
+
* @dev Adapted from proving-state.ts -> findMergeLevel and unbalanced_tree.ts.
|
|
7
|
+
* Calculates the tree upwards layer by layer until we reach the root.
|
|
8
|
+
* The L1 calculation instead computes the tree from right to left (slightly cheaper gas).
|
|
9
|
+
* TODO: A more thorough investigation of which method is cheaper, then use that method everywhere.
|
|
10
|
+
*/
|
|
11
|
+
export function computeUnbalancedMerkleRoot(leaves, emptyLeaf, hasher = sha256Trunc) {
|
|
12
|
+
// Pad leaves to 2
|
|
13
|
+
if (leaves.length < 2) {
|
|
14
|
+
if (emptyLeaf === undefined) {
|
|
15
|
+
throw new Error('Cannot compute a Merkle root with less than 2 leaves');
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
leaves = padArrayEnd(leaves, emptyLeaf, 2);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const depth = Math.ceil(Math.log2(leaves.length));
|
|
22
|
+
let [layerWidth, nodeToShift] = leaves.length & 1 ? [leaves.length - 1, leaves[leaves.length - 1]] : [leaves.length, Buffer.alloc(0)];
|
|
23
|
+
// Allocate this layer's leaves and init the next layer up
|
|
24
|
+
let thisLayer = leaves.slice(0, layerWidth);
|
|
25
|
+
let nextLayer = [];
|
|
26
|
+
for (let i = 0; i < depth; i++) {
|
|
27
|
+
for (let j = 0; j < layerWidth; j += 2) {
|
|
28
|
+
// Store the hash of each pair one layer up
|
|
29
|
+
nextLayer[j / 2] = hasher(Buffer.concat([thisLayer[j], thisLayer[j + 1]]));
|
|
30
|
+
}
|
|
31
|
+
layerWidth /= 2;
|
|
32
|
+
if (layerWidth & 1) {
|
|
33
|
+
if (nodeToShift.length) {
|
|
34
|
+
// If the next layer has odd length, and we have a node that needs to be shifted up, add it here
|
|
35
|
+
nextLayer.push(nodeToShift);
|
|
36
|
+
layerWidth += 1;
|
|
37
|
+
nodeToShift = Buffer.alloc(0);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// If we don't have a node waiting to be shifted, store the next layer's final node to be shifted
|
|
41
|
+
layerWidth -= 1;
|
|
42
|
+
nodeToShift = nextLayer[layerWidth];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// reset the layers
|
|
46
|
+
thisLayer = nextLayer;
|
|
47
|
+
nextLayer = [];
|
|
48
|
+
}
|
|
49
|
+
// return the root
|
|
50
|
+
return thisLayer[0];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF9tZXJrbGVfcm9vdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmVlcy91bmJhbGFuY2VkX21lcmtsZV9yb290LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxNQUFnQixFQUFFLFNBQWtCLEVBQUUsTUFBTSxHQUFHLFdBQVc7SUFDcEcsa0JBQWtCO0lBQ2xCLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsR0FDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RywwREFBMEQ7SUFDMUQsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDNUMsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ25CLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUMvQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QywyQ0FBMkM7WUFDM0MsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxVQUFVLElBQUksQ0FBQyxDQUFDO1FBQ2hCLElBQUksVUFBVSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25CLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2QixnR0FBZ0c7Z0JBQ2hHLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzVCLFVBQVUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixpR0FBaUc7Z0JBQ2pHLFVBQVUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hCLFdBQVcsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNILENBQUM7UUFDRCxtQkFBbUI7UUFDbkIsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxrQkFBa0I7SUFDbEIsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEIsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.56.0",
|
|
4
4
|
"packageManager": "yarn@3.4.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dest/index.js",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"./crypto": "./dest/crypto/index.js",
|
|
18
18
|
"./error": "./dest/error/index.js",
|
|
19
19
|
"./eth-address": "./dest/eth-address/index.js",
|
|
20
|
+
"./eth-signature": "./dest/eth-signature/index.js",
|
|
20
21
|
"./queue": "./dest/queue/index.js",
|
|
21
22
|
"./fs": "./dest/fs/index.js",
|
|
22
23
|
"./buffer": "./dest/buffer/index.js",
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
]
|
|
91
92
|
},
|
|
92
93
|
"dependencies": {
|
|
93
|
-
"@aztec/bb.js": "0.
|
|
94
|
+
"@aztec/bb.js": "0.56.0",
|
|
94
95
|
"@koa/cors": "^5.0.0",
|
|
95
96
|
"@noble/curves": "^1.2.0",
|
|
96
97
|
"bn.js": "^5.2.1",
|
|
@@ -144,7 +145,8 @@
|
|
|
144
145
|
"prettier": "^2.7.1",
|
|
145
146
|
"supertest": "^6.3.3",
|
|
146
147
|
"ts-node": "^10.9.1",
|
|
147
|
-
"typescript": "^5.0.4"
|
|
148
|
+
"typescript": "^5.0.4",
|
|
149
|
+
"viem": "^2.7.15"
|
|
148
150
|
},
|
|
149
151
|
"files": [
|
|
150
152
|
"dest",
|
package/src/abi/decoder.ts
CHANGED
|
@@ -6,21 +6,21 @@ import { isAztecAddressStruct } from './utils.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* The type of our decoded ABI.
|
|
8
8
|
*/
|
|
9
|
-
export type
|
|
9
|
+
export type AbiDecoded = bigint | boolean | AztecAddress | AbiDecoded[] | { [key: string]: AbiDecoded };
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
|
-
* Decodes
|
|
13
|
-
* Missing support for integer
|
|
12
|
+
* Decodes values using a provided ABI.
|
|
13
|
+
* Missing support for signed integer.
|
|
14
14
|
*/
|
|
15
|
-
class
|
|
16
|
-
constructor(private
|
|
15
|
+
class AbiDecoder {
|
|
16
|
+
constructor(private types: AbiType[], private flattened: Fr[]) {}
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Decodes a single return value from field to the given type.
|
|
20
20
|
* @param abiType - The type of the return value.
|
|
21
21
|
* @returns The decoded return value.
|
|
22
22
|
*/
|
|
23
|
-
private
|
|
23
|
+
private decodeNext(abiType: AbiType): AbiDecoded {
|
|
24
24
|
switch (abiType.kind) {
|
|
25
25
|
case 'field':
|
|
26
26
|
return this.getNextField().toBigInt();
|
|
@@ -34,18 +34,18 @@ class ReturnValuesDecoder {
|
|
|
34
34
|
case 'array': {
|
|
35
35
|
const array = [];
|
|
36
36
|
for (let i = 0; i < abiType.length; i += 1) {
|
|
37
|
-
array.push(this.
|
|
37
|
+
array.push(this.decodeNext(abiType.type));
|
|
38
38
|
}
|
|
39
39
|
return array;
|
|
40
40
|
}
|
|
41
41
|
case 'struct': {
|
|
42
|
-
const struct: { [key: string]:
|
|
42
|
+
const struct: { [key: string]: AbiDecoded } = {};
|
|
43
43
|
if (isAztecAddressStruct(abiType)) {
|
|
44
44
|
return new AztecAddress(this.getNextField().toBuffer());
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
for (const field of abiType.fields) {
|
|
48
|
-
struct[field.name] = this.
|
|
48
|
+
struct[field.name] = this.decodeNext(field.type);
|
|
49
49
|
}
|
|
50
50
|
return struct;
|
|
51
51
|
}
|
|
@@ -59,7 +59,7 @@ class ReturnValuesDecoder {
|
|
|
59
59
|
case 'tuple': {
|
|
60
60
|
const array = [];
|
|
61
61
|
for (const tupleAbiType of abiType.fields) {
|
|
62
|
-
array.push(this.
|
|
62
|
+
array.push(this.decodeNext(tupleAbiType));
|
|
63
63
|
}
|
|
64
64
|
return array;
|
|
65
65
|
}
|
|
@@ -69,8 +69,8 @@ class ReturnValuesDecoder {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
|
-
* Gets the next field in the flattened
|
|
73
|
-
* @returns The next field in the flattened
|
|
72
|
+
* Gets the next field in the flattened buffer.
|
|
73
|
+
* @returns The next field in the flattened buffer.
|
|
74
74
|
*/
|
|
75
75
|
private getNextField(): Fr {
|
|
76
76
|
const field = this.flattened.shift();
|
|
@@ -81,30 +81,29 @@ class ReturnValuesDecoder {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
|
-
* Decodes all the
|
|
85
|
-
*
|
|
86
|
-
* The return value can however be simple types, structs or arrays
|
|
84
|
+
* Decodes all the values for the given ABI.
|
|
85
|
+
* The decided value can be simple types, structs or arrays
|
|
87
86
|
* @returns The decoded return values.
|
|
88
87
|
*/
|
|
89
|
-
public decode():
|
|
90
|
-
if (this.
|
|
91
|
-
throw new Error('Multiple
|
|
88
|
+
public decode(): AbiDecoded {
|
|
89
|
+
if (this.types.length > 1) {
|
|
90
|
+
throw new Error('Multiple types not supported');
|
|
92
91
|
}
|
|
93
|
-
if (this.
|
|
92
|
+
if (this.types.length === 0) {
|
|
94
93
|
return [];
|
|
95
94
|
}
|
|
96
|
-
return this.
|
|
95
|
+
return this.decodeNext(this.types[0]);
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
|
|
100
99
|
/**
|
|
101
|
-
* Decodes
|
|
102
|
-
* @param abi - The ABI
|
|
103
|
-
* @param
|
|
100
|
+
* Decodes values in a flattened Field array using a provided ABI.
|
|
101
|
+
* @param abi - The ABI to use as reference.
|
|
102
|
+
* @param buffer - The flattened Field array to decode.
|
|
104
103
|
* @returns
|
|
105
104
|
*/
|
|
106
|
-
export function
|
|
107
|
-
return new
|
|
105
|
+
export function decodeFromAbi(typ: AbiType[], buffer: Fr[]) {
|
|
106
|
+
return new AbiDecoder(typ, buffer.slice()).decode();
|
|
108
107
|
}
|
|
109
108
|
|
|
110
109
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
|
|
3
3
|
import { type Fr } from '../fields/fields.js';
|
|
4
4
|
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
5
5
|
import { Selector } from './selector.js';
|
|
@@ -44,7 +44,10 @@ export class EventSelector extends Selector {
|
|
|
44
44
|
if (/\s/.test(signature)) {
|
|
45
45
|
throw new Error('Signature cannot contain whitespace');
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
const hash = poseidon2HashBytes(Buffer.from(signature));
|
|
48
|
+
// We take the last Selector.SIZE big endian bytes
|
|
49
|
+
const bytes = hash.toBuffer().slice(-Selector.SIZE);
|
|
50
|
+
return EventSelector.fromBuffer(bytes);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { fromHex, toBigIntBE } from '../bigint-buffer/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { poseidon2HashBytes, randomBytes } from '../crypto/index.js';
|
|
3
3
|
import { type Fr } from '../fields/fields.js';
|
|
4
4
|
import { BufferReader } from '../serialize/buffer_reader.js';
|
|
5
5
|
import { FieldReader } from '../serialize/field_reader.js';
|
|
@@ -73,7 +73,10 @@ export class FunctionSelector extends Selector {
|
|
|
73
73
|
if (/\s/.test(signature)) {
|
|
74
74
|
throw new Error('Signature cannot contain whitespace');
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
const hash = poseidon2HashBytes(Buffer.from(signature));
|
|
77
|
+
// We take the last Selector.SIZE big endian bytes
|
|
78
|
+
const bytes = hash.toBuffer().slice(-Selector.SIZE);
|
|
79
|
+
return FunctionSelector.fromBuffer(bytes);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
/**
|
package/src/buffer/buffer32.ts
CHANGED
|
@@ -112,7 +112,25 @@ export class Buffer32 {
|
|
|
112
112
|
* @param str - The TX hash in string format.
|
|
113
113
|
* @returns A new Buffer32 object.
|
|
114
114
|
*/
|
|
115
|
+
public static fromStringUnchecked(str: string): Buffer32 {
|
|
116
|
+
return new Buffer32(Buffer.from(str, 'hex'));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Converts a string into a Buffer32 object.
|
|
121
|
+
* NOTE: this method includes checks for the 0x prefix and the length of the string.
|
|
122
|
+
* if you dont need this checks, use fromStringUnchecked instead.
|
|
123
|
+
*
|
|
124
|
+
* @param str - The TX hash in string format.
|
|
125
|
+
* @returns A new Buffer32 object.
|
|
126
|
+
*/
|
|
115
127
|
public static fromString(str: string): Buffer32 {
|
|
128
|
+
if (str.startsWith('0x')) {
|
|
129
|
+
str = str.slice(2);
|
|
130
|
+
}
|
|
131
|
+
if (str.length !== 64) {
|
|
132
|
+
throw new Error(`Expected string to be 64 characters long, but was ${str.length}`);
|
|
133
|
+
}
|
|
116
134
|
return new Buffer32(Buffer.from(str, 'hex'));
|
|
117
135
|
}
|
|
118
136
|
|
package/src/config/env_var.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type EnvVar =
|
|
2
2
|
| 'AZTEC_PORT'
|
|
3
|
-
| '
|
|
3
|
+
| 'ASSUME_PROVEN_THROUGH_BLOCK_NUMBER'
|
|
4
4
|
| 'TEST_ACCOUNTS'
|
|
5
5
|
| 'ENABLE_GAS'
|
|
6
6
|
| 'API_PREFIX'
|
|
@@ -36,8 +36,19 @@ export type EnvVar =
|
|
|
36
36
|
| 'TX_GOSSIP_VERSION'
|
|
37
37
|
| 'P2P_QUERY_FOR_IP'
|
|
38
38
|
| 'P2P_TX_POOL_KEEP_PROVEN_FOR'
|
|
39
|
+
| 'P2P_GOSSIPSUB_INTERVAL_MS'
|
|
40
|
+
| 'P2P_GOSSIPSUB_D'
|
|
41
|
+
| 'P2P_GOSSIPSUB_DLO'
|
|
42
|
+
| 'P2P_GOSSIPSUB_DHI'
|
|
43
|
+
| 'P2P_GOSSIPSUB_MCACHE_LENGTH'
|
|
44
|
+
| 'P2P_GOSSIPSUB_MCACHE_GOSSIP'
|
|
45
|
+
| 'P2P_SEVERE_PEER_PENALTY_BLOCK_LENGTH'
|
|
39
46
|
| 'P2P_REQRESP_OVERALL_REQUEST_TIMEOUT_MS'
|
|
40
47
|
| 'P2P_REQRESP_INDIVIDUAL_REQUEST_TIMEOUT_MS'
|
|
48
|
+
| 'P2P_GOSSIPSUB_TX_TOPIC_WEIGHT'
|
|
49
|
+
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_WEIGHT'
|
|
50
|
+
| 'P2P_GOSSIPSUB_TX_INVALID_MESSAGE_DELIVERIES_DECAY'
|
|
51
|
+
| 'P2P_PEER_PENALTY_VALUES'
|
|
41
52
|
| 'TELEMETRY'
|
|
42
53
|
| 'OTEL_SERVICE_NAME'
|
|
43
54
|
| 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
|
|
@@ -49,7 +60,6 @@ export type EnvVar =
|
|
|
49
60
|
| 'ARCHIVER_POLLING_INTERVAL_MS'
|
|
50
61
|
| 'ARCHIVER_VIEM_POLLING_INTERVAL_MS'
|
|
51
62
|
| 'ARCHIVER_MAX_LOGS'
|
|
52
|
-
| 'ARCHIVER_L1_START_BLOCK'
|
|
53
63
|
| 'SEQ_TX_POLLING_INTERVAL_MS'
|
|
54
64
|
| 'SEQ_MAX_TX_PER_BLOCK'
|
|
55
65
|
| 'SEQ_MIN_TX_PER_BLOCK'
|
|
@@ -109,6 +119,7 @@ export type EnvVar =
|
|
|
109
119
|
| 'PXE_PROVER_ENABLED'
|
|
110
120
|
| 'BOT_FOLLOW_CHAIN'
|
|
111
121
|
| 'BOT_FLUSH_SETUP_TRANSACTIONS'
|
|
122
|
+
| 'BOT_TOKEN_CONTRACT'
|
|
112
123
|
| 'VALIDATOR_PRIVATE_KEY'
|
|
113
124
|
| 'VALIDATOR_DISABLED'
|
|
114
125
|
| 'VALIDATOR_ATTESTATIONS_WAIT_TIMEOUT_MS'
|
package/src/crypto/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from './sha256/index.js';
|
|
|
6
6
|
export * from './sha512/index.js';
|
|
7
7
|
export * from './pedersen/index.js';
|
|
8
8
|
export * from './poseidon/index.js';
|
|
9
|
+
export * from './secp256k1-signer/index.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Init the bb singleton. This constructs (if not already) the barretenberg sync api within bb.js itself.
|
|
@@ -57,3 +57,25 @@ export function poseidon2Permutation(input: Fieldable[]): Fr[] {
|
|
|
57
57
|
// assert(res.length === 4, 'Output state must be of size 4');
|
|
58
58
|
return res.map(o => Fr.fromBuffer(Buffer.from(o.toBuffer())));
|
|
59
59
|
}
|
|
60
|
+
|
|
61
|
+
export function poseidon2HashBytes(input: Buffer): Fr {
|
|
62
|
+
const inputFields = [];
|
|
63
|
+
for (let i = 0; i < input.length; i += 31) {
|
|
64
|
+
const fieldBytes = Buffer.alloc(32, 0);
|
|
65
|
+
input.slice(i, i + 31).copy(fieldBytes);
|
|
66
|
+
|
|
67
|
+
// Noir builds the bytes as little-endian, so we need to reverse them.
|
|
68
|
+
fieldBytes.reverse();
|
|
69
|
+
inputFields.push(Fr.fromBuffer(fieldBytes));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return Fr.fromBuffer(
|
|
73
|
+
Buffer.from(
|
|
74
|
+
BarretenbergSync.getSingleton()
|
|
75
|
+
.poseidon2Hash(
|
|
76
|
+
inputFields.map(i => new FrBarretenberg(i.toBuffer())), // TODO(#4189): remove this stupid conversion
|
|
77
|
+
)
|
|
78
|
+
.toBuffer(),
|
|
79
|
+
),
|
|
80
|
+
);
|
|
81
|
+
}
|