@aztec/stdlib 4.0.0-spartan.20260217 → 4.0.1

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.
Files changed (149) hide show
  1. package/dest/abi/decoder.d.ts +1 -1
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +1 -4
  4. package/dest/abi/encoder.d.ts +1 -1
  5. package/dest/abi/encoder.d.ts.map +1 -1
  6. package/dest/abi/encoder.js +9 -5
  7. package/dest/auth_witness/auth_witness.js +3 -3
  8. package/dest/avm/revert_code.d.ts +16 -1
  9. package/dest/avm/revert_code.d.ts.map +1 -1
  10. package/dest/avm/revert_code.js +15 -5
  11. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  12. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  13. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  14. package/dest/config/sequencer-config.d.ts +5 -3
  15. package/dest/config/sequencer-config.d.ts.map +1 -1
  16. package/dest/config/sequencer-config.js +13 -0
  17. package/dest/contract/contract_address.js +4 -4
  18. package/dest/contract/contract_class.d.ts +2 -3
  19. package/dest/contract/contract_class.d.ts.map +1 -1
  20. package/dest/contract/contract_class_id.js +3 -3
  21. package/dest/contract/private_function.js +2 -2
  22. package/dest/file-store/local.d.ts +3 -3
  23. package/dest/file-store/local.d.ts.map +1 -1
  24. package/dest/file-store/local.js +13 -4
  25. package/dest/file-store/s3.d.ts +1 -1
  26. package/dest/file-store/s3.d.ts.map +1 -1
  27. package/dest/file-store/s3.js +11 -3
  28. package/dest/hash/hash.js +11 -11
  29. package/dest/hash/map_slot.js +2 -2
  30. package/dest/interfaces/aztec-node-admin.d.ts +27 -5
  31. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  32. package/dest/interfaces/aztec-node-admin.js +9 -3
  33. package/dest/interfaces/configs.d.ts +7 -2
  34. package/dest/interfaces/configs.d.ts.map +1 -1
  35. package/dest/interfaces/configs.js +1 -0
  36. package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
  37. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  38. package/dest/interfaces/validator.d.ts +5 -2
  39. package/dest/interfaces/validator.d.ts.map +1 -1
  40. package/dest/interfaces/validator.js +1 -0
  41. package/dest/kernel/hints/index.d.ts +2 -2
  42. package/dest/kernel/hints/index.js +2 -2
  43. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  44. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  45. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  46. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  47. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  48. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  49. package/dest/kernel/private_circuit_public_inputs.d.ts +6 -6
  50. package/dest/kernel/private_circuit_public_inputs.js +11 -11
  51. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +2 -2
  52. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +2 -2
  53. package/dest/kernel/private_validation_requests.d.ts +3 -3
  54. package/dest/kernel/private_validation_requests.js +9 -9
  55. package/dest/keys/derivation.js +8 -8
  56. package/dest/keys/key_types.d.ts +3 -3
  57. package/dest/keys/key_types.d.ts.map +1 -1
  58. package/dest/keys/public_keys.js +2 -2
  59. package/dest/keys/utils.js +5 -5
  60. package/dest/logs/debug_log_store.d.ts +30 -0
  61. package/dest/logs/debug_log_store.d.ts.map +1 -0
  62. package/dest/logs/debug_log_store.js +30 -0
  63. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  64. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  65. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  66. package/dest/logs/index.d.ts +3 -2
  67. package/dest/logs/index.d.ts.map +1 -1
  68. package/dest/logs/index.js +2 -1
  69. package/dest/logs/pre_tag.d.ts +16 -11
  70. package/dest/logs/pre_tag.d.ts.map +1 -1
  71. package/dest/logs/pre_tag.js +2 -2
  72. package/dest/logs/private_log.d.ts +2 -2
  73. package/dest/logs/private_log.d.ts.map +1 -1
  74. package/dest/logs/siloed_tag.d.ts +5 -3
  75. package/dest/logs/siloed_tag.d.ts.map +1 -1
  76. package/dest/logs/siloed_tag.js +6 -1
  77. package/dest/logs/tag.js +1 -1
  78. package/dest/p2p/attestation_utils.d.ts +11 -1
  79. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  80. package/dest/p2p/attestation_utils.js +45 -0
  81. package/dest/tests/factories.d.ts +3 -1
  82. package/dest/tests/factories.d.ts.map +1 -1
  83. package/dest/tests/factories.js +18 -10
  84. package/dest/tests/mocks.d.ts +2 -2
  85. package/dest/tests/mocks.d.ts.map +1 -1
  86. package/dest/tests/mocks.js +5 -5
  87. package/dest/tx/block_header.js +2 -2
  88. package/dest/tx/profiling.d.ts +4 -4
  89. package/dest/tx/profiling.d.ts.map +1 -1
  90. package/dest/tx/profiling.js +3 -3
  91. package/dest/tx/protocol_contracts.d.ts +1 -1
  92. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  93. package/dest/tx/protocol_contracts.js +2 -2
  94. package/dest/tx/public_simulation_output.d.ts +4 -2
  95. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  96. package/dest/tx/public_simulation_output.js +7 -3
  97. package/dest/tx/tx_receipt.d.ts +16 -2
  98. package/dest/tx/tx_receipt.d.ts.map +1 -1
  99. package/dest/tx/tx_receipt.js +11 -3
  100. package/dest/tx/tx_request.js +2 -2
  101. package/package.json +9 -9
  102. package/src/abi/decoder.ts +1 -4
  103. package/src/abi/encoder.ts +8 -5
  104. package/src/auth_witness/auth_witness.ts +3 -3
  105. package/src/avm/revert_code.ts +15 -0
  106. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  107. package/src/config/sequencer-config.ts +20 -2
  108. package/src/contract/contract_address.ts +4 -4
  109. package/src/contract/contract_class.ts +3 -3
  110. package/src/contract/contract_class_id.ts +3 -3
  111. package/src/contract/private_function.ts +2 -2
  112. package/src/file-store/local.ts +15 -5
  113. package/src/file-store/s3.ts +12 -3
  114. package/src/hash/hash.ts +11 -11
  115. package/src/hash/map_slot.ts +2 -2
  116. package/src/interfaces/aztec-node-admin.ts +23 -0
  117. package/src/interfaces/configs.ts +4 -0
  118. package/src/interfaces/merkle_tree_operations.ts +1 -1
  119. package/src/interfaces/validator.ts +2 -1
  120. package/src/kernel/hints/index.ts +2 -2
  121. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  122. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  123. package/src/kernel/private_circuit_public_inputs.ts +10 -10
  124. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +2 -2
  125. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +2 -2
  126. package/src/kernel/private_validation_requests.ts +8 -8
  127. package/src/keys/derivation.ts +8 -8
  128. package/src/keys/key_types.ts +6 -2
  129. package/src/keys/public_keys.ts +2 -2
  130. package/src/keys/utils.ts +5 -5
  131. package/src/logs/debug_log_store.ts +54 -0
  132. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  133. package/src/logs/index.ts +2 -1
  134. package/src/logs/pre_tag.ts +5 -5
  135. package/src/logs/siloed_tag.ts +8 -2
  136. package/src/logs/tag.ts +1 -1
  137. package/src/p2p/attestation_utils.ts +56 -0
  138. package/src/tests/factories.ts +20 -11
  139. package/src/tests/mocks.ts +7 -3
  140. package/src/tx/block_header.ts +2 -2
  141. package/src/tx/profiling.ts +5 -5
  142. package/src/tx/protocol_contracts.ts +2 -2
  143. package/src/tx/public_simulation_output.ts +4 -0
  144. package/src/tx/tx_receipt.ts +10 -0
  145. package/src/tx/tx_request.ts +2 -2
  146. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  147. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  148. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  149. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
@@ -55,4 +55,4 @@ export declare function decodeFunctionSignature(name: string, parameters: ABIPar
55
55
  * @returns - The user-friendly function signature.
56
56
  */
57
57
  export declare function decodeFunctionSignatureWithParameterNames(name: string, parameters: ABIParameter[]): string;
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFlLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUduRTs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsRUFBRSxHQUFHO0lBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQTtDQUFFLENBQUM7QUErRmpIOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxjQUV6RDtBQUVEOztHQUVHO0FBQ0gscUJBQWEsd0JBQXdCO0lBR2pDLE9BQU8sQ0FBQyxJQUFJO0lBQ1osT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLFlBQVk7SUFKdEIsT0FBTyxDQUFDLFNBQVMsQ0FBUztJQUMxQixZQUNVLElBQUksRUFBRSxNQUFNLEVBQ1osVUFBVSxFQUFFLFlBQVksRUFBRSxFQUMxQixZQUFZLFVBQVEsRUFHN0I7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtJQXNCeEI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxlQUFlO0lBS3ZCOzs7T0FHRztJQUNJLE1BQU0sSUFBSSxNQUFNLENBRXRCO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFFL0U7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQix5Q0FBeUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFFakcifQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9kZWNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFlLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUduRTs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsRUFBRSxHQUFHO0lBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FBQTtDQUFFLENBQUM7QUErRmpIOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxjQUV6RDtBQUVEOztHQUVHO0FBQ0gscUJBQWEsd0JBQXdCO0lBR2pDLE9BQU8sQ0FBQyxJQUFJO0lBQ1osT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLFlBQVk7SUFKdEIsT0FBTyxDQUFDLFNBQVMsQ0FBUztJQUMxQixZQUNVLElBQUksRUFBRSxNQUFNLEVBQ1osVUFBVSxFQUFFLFlBQVksRUFBRSxFQUMxQixZQUFZLFVBQVEsRUFHN0I7SUFFRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtJQW1CeEI7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxlQUFlO0lBS3ZCOzs7T0FHRztJQUNJLE1BQU0sSUFBSSxNQUFNLENBRXRCO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQix1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFFL0U7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFnQix5Q0FBeUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFFakcifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAe,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;AA+FjH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAEzD;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAGjC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,SAAS,CAAS;IAC1B,YACU,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,EAAE,EAC1B,YAAY,UAAQ,EAG7B;IAED;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACI,MAAM,IAAI,MAAM,CAEtB;CACF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAE/E;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAEjG"}
1
+ {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/abi/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAe,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;AA+FjH;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,cAEzD;AAED;;GAEG;AACH,qBAAa,wBAAwB;IAGjC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;IAJtB,OAAO,CAAC,SAAS,CAAS;IAC1B,YACU,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,YAAY,EAAE,EAC1B,YAAY,UAAQ,EAG7B;IAED;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmBxB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;IACI,MAAM,IAAI,MAAM,CAEtB;CACF;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAE/E;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAEjG"}
@@ -119,10 +119,7 @@ import { isAztecAddressStruct, parseSignedInt } from './utils.js';
119
119
  case 'field':
120
120
  return 'Field';
121
121
  case 'integer':
122
- if (param.sign === 'signed') {
123
- throw new Error('Unsupported type: signed integer');
124
- }
125
- return `u${param.width}`;
122
+ return param.sign === 'signed' ? `i${param.width}` : `u${param.width}`;
126
123
  case 'boolean':
127
124
  return 'bool';
128
125
  case 'array':
@@ -13,4 +13,4 @@ export declare function encodeArguments(abi: FunctionAbi, args: any[]): Fr[];
13
13
  * @returns The size of the arguments.
14
14
  */
15
15
  export declare function countArgumentsSize(abi: FunctionAbi): number;
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBVyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFrT3JEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFFNUQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxXQUFXLFVBRWxEIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2Rlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FiaS9lbmNvZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBVyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFxT3JEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFFNUQ7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxXQUFXLFVBRWxEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,UAAU,CAAC;AAkOrD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../src/abi/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAW,WAAW,EAAE,MAAM,UAAU,CAAC;AAqOrD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,QAE5D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,WAAW,UAElD"}
@@ -129,13 +129,17 @@ import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isWrappe
129
129
  break;
130
130
  }
131
131
  case 'integer':
132
- if (typeof arg === 'string') {
132
+ {
133
133
  const value = BigInt(arg);
134
- this.flattened.push(new Fr(value));
135
- } else {
136
- this.flattened.push(new Fr(arg));
134
+ if (abiType.sign === 'signed' && value < 0n) {
135
+ // Convert negative values to two's complement representation
136
+ const twosComplement = value + (1n << BigInt(abiType.width));
137
+ this.flattened.push(new Fr(twosComplement));
138
+ } else {
139
+ this.flattened.push(new Fr(value));
140
+ }
141
+ break;
137
142
  }
138
- break;
139
143
  default:
140
144
  throw new Error(`Unsupported type: ${abiType.kind}`);
141
145
  }
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -47,7 +47,7 @@ import { Vector } from '../types/shared.js';
47
47
  * @param args - The arguments to hash
48
48
  * @returns The inner hash for the witness
49
49
  */ export const computeInnerAuthWitHash = (args)=>{
50
- return poseidon2HashWithSeparator(args, GeneratorIndex.AUTHWIT_INNER);
50
+ return poseidon2HashWithSeparator(args, DomainSeparator.AUTHWIT_INNER);
51
51
  };
52
52
  /**
53
53
  * Compute the outer hash for an authentication witness.
@@ -66,5 +66,5 @@ import { Vector } from '../types/shared.js';
66
66
  chainId,
67
67
  version,
68
68
  innerHash
69
- ], GeneratorIndex.AUTHWIT_OUTER);
69
+ ], DomainSeparator.AUTHWIT_OUTER);
70
70
  };
@@ -2,10 +2,25 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { ZodFor } from '@aztec/foundation/schemas';
3
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
4
  import { inspect } from 'util';
5
+ /**
6
+ * Tracks which revertible phases of a transaction's public execution reverted.
7
+ *
8
+ * A transaction executes in three sequential phases:
9
+ * 1. SETUP – non-revertible; if this fails the entire transaction is rejected.
10
+ * 2. APP_LOGIC – revertible; its state changes are rolled back on failure.
11
+ * 3. TEARDOWN – revertible; always runs (even after app-logic revert) so the fee-payment contract can clean up.
12
+ *
13
+ * Only APP_LOGIC and TEARDOWN can produce a revert code. SETUP failures throw instead and discard the transaction
14
+ * entirely.
15
+ */
5
16
  export declare enum RevertCodeEnum {
17
+ /** All phases completed successfully; no state was rolled back. */
6
18
  OK = 0,
19
+ /** APP_LOGIC reverted; its state changes were discarded. If present, TEARDOWN still ran and succeeded. */
7
20
  APP_LOGIC_REVERTED = 1,
21
+ /** TEARDOWN reverted; its state changes were discarded. APP_LOGIC succeeded. */
8
22
  TEARDOWN_REVERTED = 2,
23
+ /** Both APP_LOGIC and TEARDOWN reverted; only SETUP effects are kept. */
9
24
  BOTH_REVERTED = 3
10
25
  }
11
26
  /**
@@ -52,4 +67,4 @@ export declare class RevertCode {
52
67
  static random(): RevertCode;
53
68
  [inspect.custom](): string;
54
69
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJ0X2NvZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdm0vcmV2ZXJ0X2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQixvQkFBWSxjQUFjO0lBQ3hCLEVBQUUsSUFBSTtJQUNOLGtCQUFrQixJQUFJO0lBQ3RCLGlCQUFpQixJQUFJO0lBQ3JCLGFBQWEsSUFBSTtDQUNsQjtBQVdEOztHQUVHO0FBQ0gscUJBQWEsVUFBVTtJQUNyQixPQUFPLENBQUMsSUFBSSxDQUFTO0lBQ3JCLE9BQU8sZUFFTjtJQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBcUM7SUFDbkUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLENBQXFEO0lBQ25HLE1BQU0sQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFvRDtJQUNqRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQWdEO0lBRWxGLE9BQU8sSUFBSSxjQUFjLENBRS9CO0lBRU0sTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUV4QztJQUVNLElBQUksSUFBSSxPQUFPLENBRXJCO0lBRU0sY0FBYyxXQWFwQjtJQUVNLE1BQU0sV0FFWjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUV0QztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyxVQUFVLENBUzNDO0lBRUQ7Ozs7O09BS0c7SUFFSCxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBTTtJQUM3QyxjQUFjLElBQUksTUFBTSxDQUc5QjtJQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFLO0lBQzFDLFFBQVEsSUFBSSxNQUFNLENBSXhCO0lBRU0sT0FBTyxJQUFJLEVBQUUsQ0FFbkI7SUFFTSxtQkFBbUIsSUFBSSxNQUFNLENBRW5DO0lBRUQsT0FBYyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxVQUFVLENBS2pEO0lBRUQsT0FBYyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxVQUFVLENBRTdDO0lBRUQsT0FBYyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsR0FBRyxVQUFVLENBRy9EO0lBRUQsT0FBYyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsVUFBVSxDQUlsRTtJQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBSztJQUN4QyxNQUFNLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FFMUI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtDQUNGIn0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2ZXJ0X2NvZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdm0vcmV2ZXJ0X2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvQjs7Ozs7Ozs7OztHQVVHO0FBQ0gsb0JBQVksY0FBYztJQUN4QixtRUFBbUU7SUFDbkUsRUFBRSxJQUFJO0lBQ04sMEdBQTBHO0lBQzFHLGtCQUFrQixJQUFJO0lBQ3RCLGdGQUFnRjtJQUNoRixpQkFBaUIsSUFBSTtJQUNyQix5RUFBeUU7SUFDekUsYUFBYSxJQUFJO0NBQ2xCO0FBV0Q7O0dBRUc7QUFDSCxxQkFBYSxVQUFVO0lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQVM7SUFDckIsT0FBTyxlQUVOO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFxQztJQUNuRSxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLFVBQVUsQ0FBcUQ7SUFDbkcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLENBQW9EO0lBQ2pHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBZ0Q7SUFFbEYsT0FBTyxJQUFJLGNBQWMsQ0FFL0I7SUFFTSxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBRXhDO0lBRU0sSUFBSSxJQUFJLE9BQU8sQ0FFckI7SUFFTSxjQUFjLFdBYXBCO0lBRU0sTUFBTSxXQUVaO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBRXRDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FTM0M7SUFFRDs7Ozs7T0FLRztJQUVILE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFNO0lBQzdDLGNBQWMsSUFBSSxNQUFNLENBRzlCO0lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUs7SUFDMUMsUUFBUSxJQUFJLE1BQU0sQ0FJeEI7SUFFTSxPQUFPLElBQUksRUFBRSxDQUVuQjtJQUVNLG1CQUFtQixJQUFJLE1BQU0sQ0FFbkM7SUFFRCxPQUFjLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLFVBQVUsQ0FLakQ7SUFFRCxPQUFjLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLFVBQVUsQ0FFN0M7SUFFRCxPQUFjLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxHQUFHLFVBQVUsQ0FHL0Q7SUFFRCxPQUFjLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxVQUFVLENBSWxFO0lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFLO0lBQ3hDLE1BQU0sQ0FBQyxNQUFNLElBQUksVUFBVSxDQUUxQjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"revert_code.d.ts","sourceRoot":"","sources":["../../src/avm/revert_code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,oBAAY,cAAc;IACxB,EAAE,IAAI;IACN,kBAAkB,IAAI;IACtB,iBAAiB,IAAI;IACrB,aAAa,IAAI;CAClB;AAWD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,eAEN;IACD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAqC;IACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAqD;IACnG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAoD;IACjG,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAgD;IAElF,OAAO,IAAI,cAAc,CAE/B;IAEM,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAExC;IAEM,IAAI,IAAI,OAAO,CAErB;IAEM,cAAc,WAapB;IAEM,MAAM,WAEZ;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAEtC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAS3C;IAED;;;;;OAKG;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAC7C,cAAc,IAAI,MAAM,CAG9B;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAC1C,QAAQ,IAAI,MAAM,CAIxB;IAEM,OAAO,IAAI,EAAE,CAEnB;IAEM,mBAAmB,IAAI,MAAM,CAEnC;IAED,OAAc,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKjD;IAED,OAAc,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAE7C;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CAG/D;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAIlE;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,MAAM,CAAC,MAAM,IAAI,UAAU,CAE1B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
1
+ {"version":3,"file":"revert_code.d.ts","sourceRoot":"","sources":["../../src/avm/revert_code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B;;;;;;;;;;GAUG;AACH,oBAAY,cAAc;IACxB,mEAAmE;IACnE,EAAE,IAAI;IACN,0GAA0G;IAC1G,kBAAkB,IAAI;IACtB,gFAAgF;IAChF,iBAAiB,IAAI;IACrB,yEAAyE;IACzE,aAAa,IAAI;CAClB;AAWD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,eAEN;IACD,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAqC;IACnE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,UAAU,CAAqD;IACnG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAoD;IACjG,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAgD;IAElF,OAAO,IAAI,cAAc,CAE/B;IAEM,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAExC;IAEM,IAAI,IAAI,OAAO,CAErB;IAEM,cAAc,WAapB;IAEM,MAAM,WAEZ;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,CAEtC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAS3C;IAED;;;;;OAKG;IAEH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAM;IAC7C,cAAc,IAAI,MAAM,CAG9B;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAC1C,QAAQ,IAAI,MAAM,CAIxB;IAEM,OAAO,IAAI,EAAE,CAEnB;IAEM,mBAAmB,IAAI,MAAM,CAEnC;IAED,OAAc,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKjD;IAED,OAAc,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,UAAU,CAE7C;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,UAAU,CAG/D;IAED,OAAc,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAIlE;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;IACxC,MAAM,CAAC,MAAM,IAAI,UAAU,CAE1B;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
@@ -3,11 +3,21 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
4
  import { inspect } from 'util';
5
5
  import { z } from 'zod';
6
- export var RevertCodeEnum = /*#__PURE__*/ function(RevertCodeEnum) {
7
- RevertCodeEnum[RevertCodeEnum["OK"] = 0] = "OK";
8
- RevertCodeEnum[RevertCodeEnum["APP_LOGIC_REVERTED"] = 1] = "APP_LOGIC_REVERTED";
9
- RevertCodeEnum[RevertCodeEnum["TEARDOWN_REVERTED"] = 2] = "TEARDOWN_REVERTED";
10
- RevertCodeEnum[RevertCodeEnum["BOTH_REVERTED"] = 3] = "BOTH_REVERTED";
6
+ /**
7
+ * Tracks which revertible phases of a transaction's public execution reverted.
8
+ *
9
+ * A transaction executes in three sequential phases:
10
+ * 1. SETUP – non-revertible; if this fails the entire transaction is rejected.
11
+ * 2. APP_LOGIC – revertible; its state changes are rolled back on failure.
12
+ * 3. TEARDOWN – revertible; always runs (even after app-logic revert) so the fee-payment contract can clean up.
13
+ *
14
+ * Only APP_LOGIC and TEARDOWN can produce a revert code. SETUP failures throw instead and discard the transaction
15
+ * entirely.
16
+ */ export var RevertCodeEnum = /*#__PURE__*/ function(RevertCodeEnum) {
17
+ /** All phases completed successfully; no state was rolled back. */ RevertCodeEnum[RevertCodeEnum["OK"] = 0] = "OK";
18
+ /** APP_LOGIC reverted; its state changes were discarded. If present, TEARDOWN still ran and succeeded. */ RevertCodeEnum[RevertCodeEnum["APP_LOGIC_REVERTED"] = 1] = "APP_LOGIC_REVERTED";
19
+ /** TEARDOWN reverted; its state changes were discarded. APP_LOGIC succeeded. */ RevertCodeEnum[RevertCodeEnum["TEARDOWN_REVERTED"] = 2] = "TEARDOWN_REVERTED";
20
+ /** Both APP_LOGIC and TEARDOWN reverted; only SETUP effects are kept. */ RevertCodeEnum[RevertCodeEnum["BOTH_REVERTED"] = 3] = "BOTH_REVERTED";
11
21
  return RevertCodeEnum;
12
22
  }({});
13
23
  function isRevertCodeEnum(value) {
@@ -37,4 +37,4 @@ export declare class L2BlockStream {
37
37
  private getBlockHashFromSource;
38
38
  private emitEvent;
39
39
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX2Jsb2NrX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQWtCLEtBQUssYUFBYSxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sS0FBSyxFQUFzQix5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJILHNHQUFzRztBQUN0RyxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qyx1SEFBdUg7QUFDdkgscUJBQWEsYUFBYTtJQU10QixPQUFPLENBQUMsYUFBYTtJQUlyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUNwQixPQUFPLENBQUMsSUFBSTtJQVpkLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFpQjtJQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxVQUFVLENBQVM7SUFFM0IsWUFDVSxhQUFhLEVBQUUsSUFBSSxDQUN6QixhQUFhLEVBQ2IsV0FBVyxHQUFHLGdCQUFnQixHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FDMUYsRUFDTyxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFDekIsR0FBRyx5Q0FBcUMsRUFDakQsSUFBSSxHQUFFO1FBQ1osY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3hCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkIsa0hBQWtIO1FBQ2xILGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUN4QiwySUFBMkk7UUFDM0ksaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDNUIsaUhBQWlIO1FBQ2pILHVCQUF1QixDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBT1A7SUFFTSxLQUFLLFNBR1g7SUFFWSxJQUFJLGtCQUVoQjtJQUVNLFNBQVMsWUFFZjtJQUVEOzs7O09BSUc7SUFDVSxJQUFJLGtCQUloQjtJQUVELFVBQWdCLElBQUksa0JBMEtuQjtZQU9hLHFCQUFxQjtJQXdCbkMsT0FBTyxDQUFDLHNCQUFzQjtZQU9oQixTQUFTO0NBU3hCIn0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX2Jsb2NrX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQWtCLEtBQUssYUFBYSxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sS0FBSyxFQUFzQix5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJILHNHQUFzRztBQUN0RyxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qyx1SEFBdUg7QUFDdkgscUJBQWEsYUFBYTtJQU10QixPQUFPLENBQUMsYUFBYTtJQUlyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUNwQixPQUFPLENBQUMsSUFBSTtJQVpkLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFpQjtJQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxVQUFVLENBQVM7SUFFM0IsWUFDVSxhQUFhLEVBQUUsSUFBSSxDQUN6QixhQUFhLEVBQ2IsV0FBVyxHQUFHLGdCQUFnQixHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FDMUYsRUFDTyxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFDekIsR0FBRyx5Q0FBcUMsRUFDakQsSUFBSSxHQUFFO1FBQ1osY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3hCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkIsa0hBQWtIO1FBQ2xILGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUN4QiwySUFBMkk7UUFDM0ksaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDNUIsaUhBQWlIO1FBQ2pILHVCQUF1QixDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBT1A7SUFFTSxLQUFLLFNBR1g7SUFFWSxJQUFJLGtCQUVoQjtJQUVNLFNBQVMsWUFFZjtJQUVEOzs7O09BSUc7SUFDVSxJQUFJLGtCQUloQjtJQUVELFVBQWdCLElBQUksa0JBK0xuQjtZQU9hLHFCQUFxQjtJQXdCbkMsT0FBTyxDQUFDLHNCQUFzQjtZQU9oQixTQUFTO0NBU3hCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,GAAG,uBAAuB,CAC1F,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iHAAiH;QACjH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBA0KnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
1
+ {"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IAZd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CACzB,aAAa,EACb,WAAW,GAAG,gBAAgB,GAAG,WAAW,GAAG,gBAAgB,GAAG,uBAAuB,CAC1F,EACO,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iHAAiH;QACjH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBA+LnB;YAOa,qBAAqB;IAwBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
@@ -88,6 +88,16 @@ import { makeL2BlockId } from '../l2_block_source.js';
88
88
  }
89
89
  let nextBlockNumber = latestBlockNumber + 1;
90
90
  let nextCheckpointToEmit = CheckpointNumber(localTips.checkpointed.checkpoint.number + 1);
91
+ // When startingBlock is set, also skip ahead for checkpoints.
92
+ if (this.opts.startingBlock !== undefined && this.opts.startingBlock >= 1 && nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number) {
93
+ const startingBlockCheckpoints = await this.l2BlockSource.getCheckpointedBlocks(BlockNumber(this.opts.startingBlock), 1);
94
+ if (startingBlockCheckpoints.length > 0) {
95
+ nextCheckpointToEmit = CheckpointNumber(Math.max(nextCheckpointToEmit, startingBlockCheckpoints[0].checkpointNumber));
96
+ } else {
97
+ // startingBlock is past all checkpointed blocks; skip Loop 1 entirely.
98
+ nextCheckpointToEmit = CheckpointNumber(sourceTips.checkpointed.checkpoint.number + 1);
99
+ }
100
+ }
91
101
  if (this.opts.skipFinalized) {
92
102
  // When skipping finalized blocks we need to provide reliable reorg detection while fetching as few blocks as
93
103
  // possible. Finalized blocks cannot be reorged by definition, so we can skip most of them. We do need the very
@@ -1,10 +1,12 @@
1
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
2
  import type { SequencerConfig } from '../interfaces/configs.js';
3
+ /** Default maximum number of transactions per block. */
4
+ export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
3
5
  /**
4
6
  * Partial sequencer config mappings for fields that need to be shared across packages.
5
7
  * The full sequencer config mappings remain in sequencer-client, but shared fields
6
8
  * (like blockDurationMs needed by both p2p and sequencer-client) are defined here
7
9
  * to avoid duplication.
8
10
  */
9
- export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs'>>;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sNkJBQTZCLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxDQVF0RyxDQUFDIn0=
11
+ export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>>;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFzQixNQUFNLDBCQUEwQixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFLHdEQUF3RDtBQUN4RCxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qzs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSw2QkFBNkIsRUFBRSxrQkFBa0IsQ0FDNUQsSUFBSSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsR0FBRywrQkFBK0IsR0FBRyxnQkFBZ0IsQ0FBQyxDQXNCOUYsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAQtG,CAAC"}
1
+ {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AAEvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,CAAC,CAsB9F,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { numberConfigHelper } from '@aztec/foundation/config';
2
+ /** Default maximum number of transactions per block. */ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
1
3
  /**
2
4
  * Partial sequencer config mappings for fields that need to be shared across packages.
3
5
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -8,5 +10,16 @@
8
10
  env: 'SEQ_BLOCK_DURATION_MS',
9
11
  description: 'Duration per block in milliseconds when building multiple blocks per slot. ' + 'If undefined (default), builds a single block per slot using the full slot duration.',
10
12
  parseEnv: (val)=>val ? parseInt(val, 10) : undefined
13
+ },
14
+ expectedBlockProposalsPerSlot: {
15
+ env: 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT',
16
+ description: 'Expected number of block proposals per slot for P2P peer scoring. ' + '0 (default) disables block proposal scoring. Set to a positive value to enable.',
17
+ parseEnv: (val)=>val ? parseInt(val, 10) : 0,
18
+ defaultValue: 0
19
+ },
20
+ maxTxsPerBlock: {
21
+ env: 'SEQ_MAX_TX_PER_BLOCK',
22
+ description: 'The maximum number of txs to include in a block.',
23
+ ...numberConfigHelper(DEFAULT_MAX_TXS_PER_BLOCK)
11
24
  }
12
25
  };
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { FunctionSelector, encodeArguments } from '../abi/index.js';
@@ -25,7 +25,7 @@ import { computeAddress } from '../keys/index.js';
25
25
  return poseidon2HashWithSeparator([
26
26
  instance.originalContractClassId,
27
27
  saltedInitializationHash
28
- ], GeneratorIndex.PARTIAL_ADDRESS);
28
+ ], DomainSeparator.PARTIAL_ADDRESS);
29
29
  }
30
30
  /**
31
31
  * Computes the salted initialization hash for an address, defined as the hash of the salt and initialization hash.
@@ -35,7 +35,7 @@ import { computeAddress } from '../keys/index.js';
35
35
  instance.salt,
36
36
  instance.initializationHash,
37
37
  instance.deployer
38
- ], GeneratorIndex.PARTIAL_ADDRESS);
38
+ ], DomainSeparator.PARTIAL_ADDRESS);
39
39
  }
40
40
  /**
41
41
  * Computes the initialization hash for an instance given its constructor function and arguments.
@@ -60,5 +60,5 @@ import { computeAddress } from '../keys/index.js';
60
60
  return poseidon2HashWithSeparator([
61
61
  initFn,
62
62
  argsHash
63
- ], GeneratorIndex.INITIALIZER);
63
+ ], DomainSeparator.INITIALIZER);
64
64
  }
@@ -3,7 +3,7 @@ import { type ContractArtifact, type FunctionArtifact } from '../abi/index.js';
3
3
  import { type ContractClassIdPreimage } from './contract_class_id.js';
4
4
  import type { ContractClass, ContractClassWithId } from './interfaces/index.js';
5
5
  /** Contract artifact including its artifact hash */
6
- type ContractArtifactWithHash = ContractArtifact & {
6
+ export type ContractArtifactWithHash = ContractArtifact & {
7
7
  artifactHash: Fr;
8
8
  };
9
9
  /** Creates a ContractClass from a contract compilation artifact. */
@@ -13,5 +13,4 @@ export declare function getContractClassPrivateFunctionFromArtifact(f: FunctionA
13
13
  * For a given private function, computes the hash of its vk.
14
14
  */
15
15
  export declare function computeVerificationKeyHash(f: FunctionArtifact): Promise<Fr>;
16
- export {};
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsS0FBSyxnQkFBZ0IsRUFBa0MsTUFBTSxpQkFBaUIsQ0FBQztBQUcvRyxPQUFPLEVBQUUsS0FBSyx1QkFBdUIsRUFBc0MsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRixvREFBb0Q7QUFDcEQsS0FBSyx3QkFBd0IsR0FBRyxnQkFBZ0IsR0FBRztJQUFFLFlBQVksRUFBRSxFQUFFLENBQUE7Q0FBRSxDQUFDO0FBS3hFLG9FQUFvRTtBQUNwRSx3QkFBc0IsNEJBQTRCLENBQ2hELFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyx3QkFBd0IsR0FDcEQsT0FBTyxDQUFDLG1CQUFtQixHQUFHLHVCQUF1QixDQUFDLENBMEJ4RDtBQUVELHdCQUFzQiwyQ0FBMkMsQ0FDL0QsQ0FBQyxFQUFFLGdCQUFnQixHQUNsQixPQUFPLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FLcEQ7QUFFRDs7R0FFRztBQUNILHdCQUFzQiwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLGVBS25FIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsS0FBSyxnQkFBZ0IsRUFBa0MsTUFBTSxpQkFBaUIsQ0FBQztBQUcvRyxPQUFPLEVBQUUsS0FBSyx1QkFBdUIsRUFBc0MsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRyxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRixvREFBb0Q7QUFDcEQsTUFBTSxNQUFNLHdCQUF3QixHQUFHLGdCQUFnQixHQUFHO0lBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQTtDQUFFLENBQUM7QUFLL0Usb0VBQW9FO0FBQ3BFLHdCQUFzQiw0QkFBNEIsQ0FDaEQsUUFBUSxFQUFFLGdCQUFnQixHQUFHLHdCQUF3QixHQUNwRCxPQUFPLENBQUMsbUJBQW1CLEdBQUcsdUJBQXVCLENBQUMsQ0EwQnhEO0FBRUQsd0JBQXNCLDJDQUEyQyxDQUMvRCxDQUFDLEVBQUUsZ0JBQWdCLEdBQ2xCLE9BQU8sQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUtwRDtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLDBCQUEwQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsZUFLbkUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"contract_class.d.ts","sourceRoot":"","sources":["../../src/contract/contract_class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAkC,MAAM,iBAAiB,CAAC;AAG/G,OAAO,EAAE,KAAK,uBAAuB,EAAsC,MAAM,wBAAwB,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,oDAAoD;AACpD,KAAK,wBAAwB,GAAG,gBAAgB,GAAG;IAAE,YAAY,EAAE,EAAE,CAAA;CAAE,CAAC;AAKxE,oEAAoE;AACpE,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,gBAAgB,GAAG,wBAAwB,GACpD,OAAO,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,CA0BxD;AAED,wBAAsB,2CAA2C,CAC/D,CAAC,EAAE,gBAAgB,GAClB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAKpD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,gBAAgB,eAKnE"}
1
+ {"version":3,"file":"contract_class.d.ts","sourceRoot":"","sources":["../../src/contract/contract_class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAkC,MAAM,iBAAiB,CAAC;AAG/G,OAAO,EAAE,KAAK,uBAAuB,EAAsC,MAAM,wBAAwB,CAAC;AAC1G,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEhF,oDAAoD;AACpD,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG;IAAE,YAAY,EAAE,EAAE,CAAA;CAAE,CAAC;AAK/E,oEAAoE;AACpE,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,gBAAgB,GAAG,wBAAwB,GACpD,OAAO,CAAC,mBAAmB,GAAG,uBAAuB,CAAC,CA0BxD;AAED,wBAAsB,2CAA2C,CAC/D,CAAC,EAAE,gBAAgB,GAClB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,CAKpD;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,EAAE,gBAAgB,eAKnE"}
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS } from '@aztec/constants';
1
+ import { DomainSeparator, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { strict as assert } from 'assert';
@@ -27,7 +27,7 @@ import { computePrivateFunctionsRoot } from './private_function.js';
27
27
  artifactHash,
28
28
  privateFunctionsRoot,
29
29
  publicBytecodeCommitment
30
- ], GeneratorIndex.CONTRACT_CLASS_ID);
30
+ ], DomainSeparator.CONTRACT_CLASS_ID);
31
31
  return {
32
32
  id,
33
33
  artifactHash,
@@ -52,6 +52,6 @@ export async function computePublicBytecodeCommitment(packedBytecode) {
52
52
  assert(bytecodeLength < MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, 'Bytecode exceeds maximum deployable size');
53
53
  // NOTE: hash the bytecode here only up to the actual length of the bytecode.
54
54
  // We do not hash the entire max bytecode length!
55
- const sep = BigInt(GeneratorIndex.PUBLIC_BYTECODE) + (bytecodeLengthAsField.toBigInt() << 32n);
55
+ const sep = BigInt(DomainSeparator.PUBLIC_BYTECODE) + (bytecodeLengthAsField.toBigInt() << 32n);
56
56
  return await poseidon2HashWithSeparator(bytecodeAsFields.slice(0, bytecodeLength), new Fr(sep).toNumber());
57
57
  }
@@ -1,4 +1,4 @@
1
- import { FUNCTION_TREE_HEIGHT, GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator, FUNCTION_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { MerkleTreeCalculator } from '@aztec/foundation/trees';
@@ -25,7 +25,7 @@ function computePrivateFunctionLeaves(fns) {
25
25
  return (await poseidon2HashWithSeparator([
26
26
  fn.selector,
27
27
  fn.vkHash
28
- ], GeneratorIndex.PRIVATE_FUNCTION_LEAF)).toBuffer();
28
+ ], DomainSeparator.PRIVATE_FUNCTION_LEAF)).toBuffer();
29
29
  }
30
30
  async function getPrivateFunctionTreeCalculator() {
31
31
  if (!privateFunctionTreeCalculator) {
@@ -1,8 +1,8 @@
1
- import type { FileStore } from './interface.js';
1
+ import type { FileStore, FileStoreSaveOptions } from './interface.js';
2
2
  export declare class LocalFileStore implements FileStore {
3
3
  private readonly basePath;
4
4
  constructor(basePath: string);
5
- save(path: string, data: Buffer): Promise<string>;
5
+ save(path: string, data: Buffer, opts?: FileStoreSaveOptions): Promise<string>;
6
6
  upload(destPath: string, srcPath: string, _opts: {
7
7
  compress: boolean;
8
8
  }): Promise<string>;
@@ -11,4 +11,4 @@ export declare class LocalFileStore implements FileStore {
11
11
  exists(pathOrUrlStr: string): Promise<boolean>;
12
12
  private getFullPath;
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL2xvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELHFCQUFhLGNBQWUsWUFBVyxTQUFTO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUFyQyxZQUE2QixRQUFRLEVBQUUsTUFBTSxFQUFJO0lBRXBDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUs3RDtJQUVZLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1FBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUdwRztJQUVNLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FHakQ7SUFFWSxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJM0U7SUFFTSxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBS3BEO0lBRUQsT0FBTyxDQUFDLFdBQVc7Q0FPcEIifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL2xvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3RFLHFCQUFhLGNBQWUsWUFBVyxTQUFTO0lBQ2xDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUFyQyxZQUE2QixRQUFRLEVBQUUsTUFBTSxFQUFJO0lBRXBDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQU0xRjtJQUVZLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1FBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUdwRztJQUVZLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FPdkQ7SUFFWSxRQUFRLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJM0U7SUFFTSxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBS3BEO0lBRUQsT0FBTyxDQUFDLFdBQVc7Q0FPcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/file-store/local.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,qBAAa,cAAe,YAAW,SAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEpC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK7D;IAEY,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpG;IAEM,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGjD;IAEY,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3E;IAEM,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKpD;IAED,OAAO,CAAC,WAAW;CAOpB"}
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/file-store/local.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAKtE,qBAAa,cAAe,YAAW,SAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAArC,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEpC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM1F;IAEY,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpG;IAEY,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvD;IAEY,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3E;IAEM,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKpD;IAED,OAAO,CAAC,WAAW;CAOpB"}
@@ -1,25 +1,34 @@
1
1
  import { access, mkdir, readFile, writeFile } from 'fs/promises';
2
2
  import { dirname, resolve } from 'path';
3
+ import { promisify } from 'util';
4
+ import { gunzip as gunzipCb, gzip as gzipCb } from 'zlib';
5
+ const gzip = promisify(gzipCb);
6
+ const gunzip = promisify(gunzipCb);
3
7
  export class LocalFileStore {
4
8
  basePath;
5
9
  constructor(basePath){
6
10
  this.basePath = basePath;
7
11
  }
8
- async save(path, data) {
12
+ async save(path, data, opts) {
9
13
  const fullPath = this.getFullPath(path);
10
14
  await mkdir(dirname(fullPath), {
11
15
  recursive: true
12
16
  });
13
- await writeFile(fullPath, data);
17
+ const toWrite = opts?.compress ? await gzip(data) : data;
18
+ await writeFile(fullPath, toWrite);
14
19
  return `file://${fullPath}`;
15
20
  }
16
21
  async upload(destPath, srcPath, _opts) {
17
22
  const data = await readFile(srcPath);
18
23
  return this.save(destPath, data);
19
24
  }
20
- read(pathOrUrlStr) {
25
+ async read(pathOrUrlStr) {
21
26
  const fullPath = this.getFullPath(pathOrUrlStr);
22
- return readFile(fullPath);
27
+ const data = await readFile(fullPath);
28
+ if (data.length >= 2 && data[0] === 0x1f && data[1] === 0x8b) {
29
+ return await gunzip(data);
30
+ }
31
+ return data;
23
32
  }
24
33
  async download(pathOrUrlStr, destPath) {
25
34
  const data = await this.read(pathOrUrlStr);
@@ -23,4 +23,4 @@ export declare class S3FileStore implements FileStore {
23
23
  private getBucketAndKey;
24
24
  private getFullPath;
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL3MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQWlCbEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNdEUscUJBQWEsV0FBWSxZQUFXLFNBQVM7SUFPekMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVO0lBQzNCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUV6QixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7SUFUdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQVc7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQVM7SUFDaEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFTO0lBRXhDLFlBQ21CLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFFBQVEsRUFBRSxNQUFNLEVBQ2pDLElBQUksRUFBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQ2xDLEdBQUcsR0FBRSxNQUE2QyxFQWVwRTtJQUVZLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFFLG9CQUF5QixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FrQjlGO0lBRVksTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUUsb0JBQXlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQXdEdkc7SUFFWSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBU3ZEO0lBRVksUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSzNFO0lBRVksTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWExRDtJQUVELE9BQU8sQ0FBQyxtQkFBbUI7SUFRM0IsT0FBTyxDQUFDLGlCQUFpQjtJQXNCekIsT0FBTyxDQUFDLGdCQUFnQjtJQTBCeEIsT0FBTyxDQUFDLGVBQWU7SUEyQnZCLE9BQU8sQ0FBQyxXQUFXO0NBS3BCIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL3MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQWtCbEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTdEUscUJBQWEsV0FBWSxZQUFXLFNBQVM7SUFPekMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVO0lBQzNCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUV6QixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7SUFUdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQVc7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQVM7SUFDaEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBUztJQUNuQyxPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFTO0lBRXhDLFlBQ21CLFVBQVUsRUFBRSxNQUFNLEVBQ2xCLFFBQVEsRUFBRSxNQUFNLEVBQ2pDLElBQUksRUFBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQ2xDLEdBQUcsR0FBRSxNQUE2QyxFQWVwRTtJQUVZLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxHQUFFLG9CQUF5QixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FtQjlGO0lBRVksTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUUsb0JBQXlCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQXdEdkc7SUFFWSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBYXZEO0lBRVksUUFBUSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSzNFO0lBRVksTUFBTSxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWExRDtJQUVELE9BQU8sQ0FBQyxtQkFBbUI7SUFRM0IsT0FBTyxDQUFDLGlCQUFpQjtJQXNCekIsT0FBTyxDQUFDLGdCQUFnQjtJQTBCeEIsT0FBTyxDQUFDLGVBQWU7SUEyQnZCLE9BQU8sQ0FBQyxXQUFXO0NBS3BCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/file-store/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAiBlE,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAMtE,qBAAa,WAAY,YAAW,SAAS;IAOzC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IAExC,YACmB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACjC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAClC,GAAG,GAAE,MAA6C,EAepE;IAEY,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB9F;IAEY,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDvG;IAEY,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASvD;IAEY,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;IAEY,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1D;IAED,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/file-store/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAkBlE,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAStE,qBAAa,WAAY,YAAW,SAAS;IAOzC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IATtB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IAExC,YACmB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACjC,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,EAClC,GAAG,GAAE,MAA6C,EAepE;IAEY,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAmB9F;IAEY,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAwDvG;IAEY,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAavD;IAEY,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3E;IAEY,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1D;IAED,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,WAAW;CAKpB"}
@@ -5,7 +5,10 @@ import { mkdir, mkdtemp, stat, unlink } from 'fs/promises';
5
5
  import { tmpdir } from 'os';
6
6
  import { basename, dirname, join } from 'path';
7
7
  import { pipeline } from 'stream/promises';
8
- import { createGzip } from 'zlib';
8
+ import { promisify } from 'util';
9
+ import { createGzip, gunzip as gunzipCb, gzip as gzipCb } from 'zlib';
10
+ const gzip = promisify(gzipCb);
11
+ const gunzip = promisify(gunzipCb);
9
12
  function normalizeBasePath(path) {
10
13
  return path?.replace(/^\/+|\/+$/g, '') ?? '';
11
14
  }
@@ -37,7 +40,7 @@ export class S3FileStore {
37
40
  async save(path, data, opts = {}) {
38
41
  const key = this.getFullPath(path);
39
42
  const shouldCompress = !!opts.compress;
40
- const body = shouldCompress ? (await import('zlib')).gzipSync(data) : data;
43
+ const body = shouldCompress ? await gzip(data) : data;
41
44
  const contentLength = body.length;
42
45
  const contentType = this.detectContentType(key, shouldCompress);
43
46
  const put = new PutObjectCommand({
@@ -45,6 +48,7 @@ export class S3FileStore {
45
48
  Key: key,
46
49
  Body: body,
47
50
  ContentType: contentType,
51
+ ContentEncoding: shouldCompress ? 'gzip' : undefined,
48
52
  CacheControl: opts.metadata?.['Cache-control'],
49
53
  Metadata: this.extractUserMetadata(opts.metadata),
50
54
  ContentLength: contentLength
@@ -119,7 +123,11 @@ export class S3FileStore {
119
123
  for await (const chunk of stream){
120
124
  chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
121
125
  }
122
- return Buffer.concat(chunks);
126
+ const buffer = Buffer.concat(chunks);
127
+ if (out.ContentEncoding === 'gzip') {
128
+ return await gunzip(buffer);
129
+ }
130
+ return buffer;
123
131
  }
124
132
  async download(pathOrUrlStr, destPath) {
125
133
  const { bucket, key } = this.getBucketAndKey(pathOrUrlStr);
package/dest/hash/hash.js CHANGED
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
1
+ import { DomainSeparator, NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
2
2
  import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { sha256ToField } from '@aztec/foundation/crypto/sha256';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
@@ -20,7 +20,7 @@ import { AztecAddress } from '../aztec-address/index.js';
20
20
  return poseidon2HashWithSeparator([
21
21
  nullifierZero,
22
22
  noteHashIndex
23
- ], GeneratorIndex.NOTE_HASH_NONCE);
23
+ ], DomainSeparator.NOTE_HASH_NONCE);
24
24
  }
25
25
  /**
26
26
  * Computes a siloed note hash, given the contract address and the note hash itself.
@@ -32,7 +32,7 @@ import { AztecAddress } from '../aztec-address/index.js';
32
32
  return poseidon2HashWithSeparator([
33
33
  contract,
34
34
  noteHash
35
- ], GeneratorIndex.SILOED_NOTE_HASH);
35
+ ], DomainSeparator.SILOED_NOTE_HASH);
36
36
  }
37
37
  /**
38
38
  * Computes a unique note hash.
@@ -43,7 +43,7 @@ import { AztecAddress } from '../aztec-address/index.js';
43
43
  return poseidon2HashWithSeparator([
44
44
  noteNonce,
45
45
  siloedNoteHash
46
- ], GeneratorIndex.UNIQUE_NOTE_HASH);
46
+ ], DomainSeparator.UNIQUE_NOTE_HASH);
47
47
  }
48
48
  /**
49
49
  * Computes a siloed nullifier, given the contract address and the inner nullifier.
@@ -55,7 +55,7 @@ import { AztecAddress } from '../aztec-address/index.js';
55
55
  return poseidon2HashWithSeparator([
56
56
  contract,
57
57
  innerNullifier
58
- ], GeneratorIndex.SILOED_NULLIFIER);
58
+ ], DomainSeparator.SILOED_NULLIFIER);
59
59
  }
60
60
  /**
61
61
  * Computes the protocol nullifier, which is the hash of the initial tx request siloed with the null msg sender address.
@@ -70,7 +70,7 @@ export function computeSiloedPrivateLogFirstField(contract, field) {
70
70
  return poseidon2HashWithSeparator([
71
71
  contract,
72
72
  field
73
- ], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
73
+ ], DomainSeparator.PRIVATE_LOG_FIRST_FIELD);
74
74
  }
75
75
  /**
76
76
  * Computes a public data tree value ready for insertion.
@@ -90,7 +90,7 @@ export function computeSiloedPrivateLogFirstField(contract, field) {
90
90
  return poseidon2HashWithSeparator([
91
91
  contractAddress,
92
92
  storageSlot
93
- ], GeneratorIndex.PUBLIC_LEAF_SLOT);
93
+ ], DomainSeparator.PUBLIC_LEAF_SLOT);
94
94
  }
95
95
  /**
96
96
  * Computes the hash of a list of arguments.
@@ -101,14 +101,14 @@ export function computeSiloedPrivateLogFirstField(contract, field) {
101
101
  if (args.length === 0) {
102
102
  return Promise.resolve(Fr.ZERO);
103
103
  }
104
- return poseidon2HashWithSeparator(args, GeneratorIndex.FUNCTION_ARGS);
104
+ return poseidon2HashWithSeparator(args, DomainSeparator.FUNCTION_ARGS);
105
105
  }
106
106
  /**
107
107
  * Computes the hash of a public function's calldata.
108
108
  * @param calldata - Calldata to hash.
109
109
  * @returns Hash of the calldata.
110
110
  */ export function computeCalldataHash(calldata) {
111
- return poseidon2HashWithSeparator(calldata, GeneratorIndex.PUBLIC_CALLDATA);
111
+ return poseidon2HashWithSeparator(calldata, DomainSeparator.PUBLIC_CALLDATA);
112
112
  }
113
113
  /**
114
114
  * Computes a hash of a secret.
@@ -118,13 +118,13 @@ export function computeSiloedPrivateLogFirstField(contract, field) {
118
118
  */ export function computeSecretHash(secret) {
119
119
  return poseidon2HashWithSeparator([
120
120
  secret
121
- ], GeneratorIndex.SECRET_HASH);
121
+ ], DomainSeparator.SECRET_HASH);
122
122
  }
123
123
  export async function computeL1ToL2MessageNullifier(contract, messageHash, secret) {
124
124
  const innerMessageNullifier = await poseidon2HashWithSeparator([
125
125
  messageHash,
126
126
  secret
127
- ], GeneratorIndex.MESSAGE_NULLIFIER);
127
+ ], DomainSeparator.MESSAGE_NULLIFIER);
128
128
  return siloNullifier(contract, innerMessageNullifier);
129
129
  }
130
130
  /**
@@ -1,4 +1,4 @@
1
- import { GeneratorIndex } from '@aztec/constants';
1
+ import { DomainSeparator } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  /**
4
4
  * Computes the resulting storage slot for an entry in a map.
@@ -9,5 +9,5 @@ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
9
9
  return poseidon2HashWithSeparator([
10
10
  mapSlot,
11
11
  key.toField()
12
- ], GeneratorIndex.PUBLIC_STORAGE_MAP_SLOT);
12
+ ], DomainSeparator.PUBLIC_STORAGE_MAP_SLOT);
13
13
  }