@aztec/stdlib 0.0.1-commit.c949de6bc → 0.0.1-commit.cb6bed7c2

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 (146) hide show
  1. package/dest/abi/decoder.d.ts +2 -2
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +6 -1
  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 +28 -1
  7. package/dest/abi/event_metadata_definition.d.ts +3 -1
  8. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  9. package/dest/abi/event_metadata_definition.js +1 -1
  10. package/dest/abi/utils.d.ts +14 -1
  11. package/dest/abi/utils.d.ts.map +1 -1
  12. package/dest/abi/utils.js +15 -0
  13. package/dest/block/l2_block.d.ts +9 -1
  14. package/dest/block/l2_block.d.ts.map +1 -1
  15. package/dest/block/l2_block.js +12 -2
  16. package/dest/block/l2_block_source.d.ts +6 -1
  17. package/dest/block/l2_block_source.d.ts.map +1 -1
  18. package/dest/checkpoint/checkpoint.d.ts +2 -1
  19. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  20. package/dest/checkpoint/checkpoint.js +9 -4
  21. package/dest/checkpoint/index.d.ts +2 -1
  22. package/dest/checkpoint/index.d.ts.map +1 -1
  23. package/dest/checkpoint/index.js +1 -0
  24. package/dest/checkpoint/validate.d.ts +36 -0
  25. package/dest/checkpoint/validate.d.ts.map +1 -0
  26. package/dest/checkpoint/validate.js +120 -0
  27. package/dest/config/sequencer-config.d.ts +4 -2
  28. package/dest/config/sequencer-config.d.ts.map +1 -1
  29. package/dest/config/sequencer-config.js +6 -0
  30. package/dest/gas/gas_fees.d.ts +1 -1
  31. package/dest/gas/gas_fees.d.ts.map +1 -1
  32. package/dest/gas/gas_fees.js +4 -1
  33. package/dest/ha-signing/config.d.ts +49 -14
  34. package/dest/ha-signing/config.d.ts.map +1 -1
  35. package/dest/ha-signing/config.js +20 -15
  36. package/dest/ha-signing/index.d.ts +3 -2
  37. package/dest/ha-signing/index.d.ts.map +1 -1
  38. package/dest/ha-signing/index.js +2 -1
  39. package/dest/ha-signing/local_config.d.ts +63 -0
  40. package/dest/ha-signing/local_config.d.ts.map +1 -0
  41. package/dest/ha-signing/local_config.js +24 -0
  42. package/dest/interfaces/allowed_element.d.ts +26 -20
  43. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  44. package/dest/interfaces/allowed_element.js +8 -8
  45. package/dest/interfaces/archiver.d.ts +1 -1
  46. package/dest/interfaces/archiver.d.ts.map +1 -1
  47. package/dest/interfaces/archiver.js +1 -0
  48. package/dest/interfaces/aztec-node-admin.d.ts +70 -30
  49. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  50. package/dest/interfaces/aztec-node.d.ts +10 -5
  51. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  52. package/dest/interfaces/aztec-node.js +3 -2
  53. package/dest/interfaces/block-builder.d.ts +11 -5
  54. package/dest/interfaces/block-builder.d.ts.map +1 -1
  55. package/dest/interfaces/block-builder.js +7 -2
  56. package/dest/interfaces/configs.d.ts +57 -32
  57. package/dest/interfaces/configs.d.ts.map +1 -1
  58. package/dest/interfaces/configs.js +5 -2
  59. package/dest/interfaces/validator.d.ts +103 -41
  60. package/dest/interfaces/validator.d.ts.map +1 -1
  61. package/dest/interfaces/validator.js +8 -4
  62. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +2 -1
  63. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  64. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +4 -0
  65. package/dest/kv-store/config.d.ts +17 -0
  66. package/dest/kv-store/config.d.ts.map +1 -0
  67. package/dest/kv-store/config.js +26 -0
  68. package/dest/kv-store/index.d.ts +2 -0
  69. package/dest/kv-store/index.d.ts.map +1 -0
  70. package/dest/kv-store/index.js +1 -0
  71. package/dest/logs/public_log.d.ts +4 -3
  72. package/dest/logs/public_log.d.ts.map +1 -1
  73. package/dest/logs/public_log.js +2 -1
  74. package/dest/p2p/checkpoint_proposal.d.ts +1 -6
  75. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  76. package/dest/p2p/checkpoint_proposal.js +0 -12
  77. package/dest/p2p/peer_error.d.ts +3 -1
  78. package/dest/p2p/peer_error.d.ts.map +1 -1
  79. package/dest/p2p/peer_error.js +5 -0
  80. package/dest/slashing/tally.d.ts +7 -2
  81. package/dest/slashing/tally.d.ts.map +1 -1
  82. package/dest/slashing/tally.js +30 -2
  83. package/dest/tests/mocks.d.ts +4 -2
  84. package/dest/tests/mocks.d.ts.map +1 -1
  85. package/dest/tests/mocks.js +13 -8
  86. package/dest/tx/block_header.d.ts +3 -1
  87. package/dest/tx/block_header.d.ts.map +1 -1
  88. package/dest/tx/block_header.js +4 -0
  89. package/dest/tx/simulated_tx.d.ts +5 -2
  90. package/dest/tx/simulated_tx.d.ts.map +1 -1
  91. package/dest/tx/simulated_tx.js +4 -1
  92. package/dest/tx/tx.d.ts +6 -5
  93. package/dest/tx/tx.d.ts.map +1 -1
  94. package/dest/tx/tx.js +18 -6
  95. package/dest/tx/validator/error_texts.d.ts +5 -1
  96. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  97. package/dest/tx/validator/error_texts.js +4 -0
  98. package/dest/update-checker/index.d.ts +3 -2
  99. package/dest/update-checker/index.d.ts.map +1 -1
  100. package/dest/update-checker/index.js +2 -1
  101. package/dest/update-checker/package_version.d.ts +3 -0
  102. package/dest/update-checker/package_version.d.ts.map +1 -0
  103. package/dest/update-checker/package_version.js +11 -0
  104. package/dest/update-checker/version_checker.d.ts +25 -0
  105. package/dest/update-checker/version_checker.d.ts.map +1 -0
  106. package/dest/update-checker/version_checker.js +50 -0
  107. package/package.json +10 -9
  108. package/src/abi/decoder.ts +14 -2
  109. package/src/abi/encoder.ts +41 -1
  110. package/src/abi/event_metadata_definition.ts +2 -0
  111. package/src/abi/utils.ts +25 -0
  112. package/src/block/l2_block.ts +13 -1
  113. package/src/block/l2_block_source.ts +6 -0
  114. package/src/checkpoint/checkpoint.ts +12 -3
  115. package/src/checkpoint/index.ts +1 -0
  116. package/src/checkpoint/validate.ts +230 -0
  117. package/src/config/sequencer-config.ts +9 -1
  118. package/src/gas/gas_fees.ts +7 -1
  119. package/src/ha-signing/config.ts +45 -38
  120. package/src/ha-signing/index.ts +9 -0
  121. package/src/ha-signing/local_config.ts +46 -0
  122. package/src/interfaces/allowed_element.ts +29 -9
  123. package/src/interfaces/archiver.ts +1 -0
  124. package/src/interfaces/aztec-node.ts +14 -4
  125. package/src/interfaces/block-builder.ts +25 -5
  126. package/src/interfaces/configs.ts +22 -8
  127. package/src/interfaces/validator.ts +50 -28
  128. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +9 -0
  129. package/src/kv-store/config.ts +36 -0
  130. package/src/kv-store/index.ts +1 -0
  131. package/src/logs/public_log.ts +4 -2
  132. package/src/p2p/checkpoint_proposal.ts +0 -17
  133. package/src/p2p/peer_error.ts +7 -0
  134. package/src/slashing/tally.ts +34 -1
  135. package/src/tests/mocks.ts +18 -7
  136. package/src/tx/block_header.ts +6 -0
  137. package/src/tx/simulated_tx.ts +8 -1
  138. package/src/tx/tx.ts +20 -11
  139. package/src/tx/validator/error_texts.ts +4 -0
  140. package/src/update-checker/index.ts +2 -1
  141. package/src/update-checker/package_version.ts +17 -0
  142. package/src/update-checker/version_checker.ts +65 -0
  143. package/dest/update-checker/update-checker.d.ts +0 -49
  144. package/dest/update-checker/update-checker.d.ts.map +0 -1
  145. package/dest/update-checker/update-checker.js +0 -130
  146. package/src/update-checker/update-checker.ts +0 -166
@@ -5,6 +5,7 @@ import { type ContractArtifact } from '../abi/abi.js';
5
5
  import { type ContractInstanceWithAddress } from '../contract/interfaces/contract_instance.js';
6
6
  import type { GasUsed } from '../gas/gas_used.js';
7
7
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
8
+ import type { OffchainEffect } from './offchain_effect.js';
8
9
  import { PrivateExecutionResult } from './private_execution_result.js';
9
10
  import { type SimulationStats } from './profiling.js';
10
11
  import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
@@ -1201,9 +1202,11 @@ export declare class TxSimulationResult {
1201
1202
  publicOutput?: PublicSimulationOutput | undefined;
1202
1203
  stats?: SimulationStats | undefined;
1203
1204
  constructor(privateExecutionResult: PrivateExecutionResult, publicInputs: PrivateKernelTailCircuitPublicInputs, publicOutput?: PublicSimulationOutput | undefined, stats?: SimulationStats | undefined);
1205
+ /** Returns offchain effects collected from private execution. */
1206
+ get offchainEffects(): OffchainEffect[];
1204
1207
  get gasUsed(): GasUsed;
1205
1208
  static get schema(): ZodFor<TxSimulationResult>;
1206
- static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed'>): TxSimulationResult;
1209
+ static from(fields: Omit<FieldsOf<TxSimulationResult>, 'gasUsed' | 'offchainEffects'>): TxSimulationResult;
1207
1210
  static fromPrivateSimulationResultAndPublicOutput(privateSimulationResult: PrivateSimulationResult, publicOutput?: PublicSimulationOutput, stats?: SimulationStats): TxSimulationResult;
1208
1211
  static random(): Promise<TxSimulationResult>;
1209
1212
  getPrivateReturnValues(): NestedProcessReturnValues;
@@ -1217,4 +1220,4 @@ export declare class TxSimulationResult {
1217
1220
  * @returns
1218
1221
  */
1219
1222
  export declare function accumulatePrivateReturnValues(executionResult: PrivateExecutionResult): NestedProcessReturnValues;
1220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdGVkX3R4LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvc2ltdWxhdGVkX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFDTCxLQUFLLDJCQUEyQixFQUVqQyxNQUFNLDZDQUE2QyxDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRTlHLE9BQU8sRUFFTCxzQkFBc0IsRUFFdkIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU83QixNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUNwQyxNQUFNLEVBQ047SUFBRSxRQUFRLEVBQUUsMkJBQTJCLENBQUM7SUFBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUE7Q0FBRSxDQUN0RSxDQUFDO0FBTUYscUJBQWEsbUJBQW1CO0lBQ1gsU0FBUyxDQUFDO0lBQTdCLFlBQW1CLFNBQVMsQ0FBQywrQkFBbUIsRUFBSTtJQUVwRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BYWhCO0NBQ0Y7QUFFRCxxQkFBYSx1QkFBdUI7SUFFekIsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLFlBQVksRUFBRSxvQ0FBb0M7SUFGM0QsWUFDUyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsWUFBWSxFQUFFLG9DQUFvQyxFQUN2RDtJQUVKLHNCQUFzQiw4QkFFckI7SUFFSyxhQUFhLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVNqQztDQUNGO0FBRUQscUJBQWEsa0JBQWtCO0lBRXBCLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxZQUFZLEVBQUUsb0NBQW9DO0lBQ2xELFlBQVksQ0FBQztJQUNiLEtBQUssQ0FBQztJQUpmLFlBQ1Msc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFlBQVksRUFBRSxvQ0FBb0MsRUFDbEQsWUFBWSxDQUFDLG9DQUF3QixFQUNyQyxLQUFLLENBQUMsNkJBQWlCLEVBQzVCO0lBRUosSUFBSSxPQUFPLElBQUksT0FBTyxDQVNyQjtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBUzlDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxzQkFPaEU7SUFFRCxNQUFNLENBQUMsMENBQTBDLENBQy9DLHVCQUF1QixFQUFFLHVCQUF1QixFQUNoRCxZQUFZLENBQUMsRUFBRSxzQkFBc0IsRUFDckMsS0FBSyxDQUFDLEVBQUUsZUFBZSxzQkFReEI7SUFFRCxPQUFhLE1BQU0sZ0NBTWxCO0lBRUQsc0JBQXNCLDhCQUVyQjtJQUVELGFBQWEsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBRTNCO0lBRUQscUJBQXFCLGdDQUVwQjtDQUNGO0FBRUQ7Ozs7O0dBS0c7QUFDSCx3QkFBZ0IsNkJBQTZCLENBQUMsZUFBZSxFQUFFLHNCQUFzQixHQUFHLHlCQUF5QixDQVdoSCJ9
1223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdGVkX3R4LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvc2ltdWxhdGVkX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFDTCxLQUFLLDJCQUEyQixFQUVqQyxNQUFNLDZDQUE2QyxDQUFDO0FBRXJELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBRTlHLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFFTCxzQkFBc0IsRUFHdkIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXlCLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU83QixNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUNwQyxNQUFNLEVBQ047SUFBRSxRQUFRLEVBQUUsMkJBQTJCLENBQUM7SUFBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUE7Q0FBRSxDQUN0RSxDQUFDO0FBTUYscUJBQWEsbUJBQW1CO0lBQ1gsU0FBUyxDQUFDO0lBQTdCLFlBQW1CLFNBQVMsQ0FBQywrQkFBbUIsRUFBSTtJQUVwRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BYWhCO0NBQ0Y7QUFFRCxxQkFBYSx1QkFBdUI7SUFFekIsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLFlBQVksRUFBRSxvQ0FBb0M7SUFGM0QsWUFDUyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsWUFBWSxFQUFFLG9DQUFvQyxFQUN2RDtJQUVKLHNCQUFzQiw4QkFFckI7SUFFSyxhQUFhLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQVNqQztDQUNGO0FBRUQscUJBQWEsa0JBQWtCO0lBRXBCLHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxZQUFZLEVBQUUsb0NBQW9DO0lBQ2xELFlBQVksQ0FBQztJQUNiLEtBQUssQ0FBQztJQUpmLFlBQ1Msc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLFlBQVksRUFBRSxvQ0FBb0MsRUFDbEQsWUFBWSxDQUFDLG9DQUF3QixFQUNyQyxLQUFLLENBQUMsNkJBQWlCLEVBQzVCO0lBRUosaUVBQWlFO0lBQ2pFLElBQUksZUFBZSxJQUFJLGNBQWMsRUFBRSxDQUV0QztJQUVELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FTckI7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQVM5QztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsc0JBT3BGO0lBRUQsTUFBTSxDQUFDLDBDQUEwQyxDQUMvQyx1QkFBdUIsRUFBRSx1QkFBdUIsRUFDaEQsWUFBWSxDQUFDLEVBQUUsc0JBQXNCLEVBQ3JDLEtBQUssQ0FBQyxFQUFFLGVBQWUsc0JBUXhCO0lBRUQsT0FBYSxNQUFNLGdDQU1sQjtJQUVELHNCQUFzQiw4QkFFckI7SUFFRCxhQUFhLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUUzQjtJQUVELHFCQUFxQixnQ0FFcEI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQWdCLDZCQUE2QixDQUFDLGVBQWUsRUFBRSxzQkFBc0IsR0FBRyx5QkFBeUIsQ0FXaEgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simulated_tx.d.ts","sourceRoot":"","sources":["../../src/tx/simulated_tx.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { ContractInstanceWithAddressSchema } from '../contract/interfaces/contra
5
5
  import { Gas } from '../gas/gas.js';
6
6
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
7
7
  import { ChonkProof } from '../proofs/chonk_proof.js';
8
- import { PrivateExecutionResult, collectSortedContractClassLogs } from './private_execution_result.js';
8
+ import { PrivateExecutionResult, collectOffchainEffects, collectSortedContractClassLogs } from './private_execution_result.js';
9
9
  import { SimulationStatsSchema } from './profiling.js';
10
10
  import { NestedProcessReturnValues, PublicSimulationOutput } from './public_simulation_output.js';
11
11
  import { Tx } from './tx.js';
@@ -59,6 +59,9 @@ export class TxSimulationResult {
59
59
  this.publicOutput = publicOutput;
60
60
  this.stats = stats;
61
61
  }
62
+ /** Returns offchain effects collected from private execution. */ get offchainEffects() {
63
+ return collectOffchainEffects(this.privateExecutionResult);
64
+ }
62
65
  get gasUsed() {
63
66
  return this.publicOutput?.gasUsed ?? {
64
67
  totalGas: this.publicInputs.gasUsed,
package/dest/tx/tx.d.ts CHANGED
@@ -2,7 +2,7 @@ import { Buffer32 } from '@aztec/foundation/buffer';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import type { ZodFor } from '@aztec/foundation/schemas';
4
4
  import { BufferReader } from '@aztec/foundation/serialize';
5
- import type { FieldsOf } from '@aztec/foundation/types';
5
+ import { type FieldsOf } from '@aztec/foundation/types';
6
6
  import type { GasSettings } from '../gas/gas_settings.js';
7
7
  import type { GetPublicLogsResponse } from '../interfaces/get_logs_response.js';
8
8
  import type { L2LogsSource } from '../interfaces/l2_logs_source.js';
@@ -131,10 +131,11 @@ export declare class Tx extends Gossipable {
131
131
  private sizeCache;
132
132
  getSize(): number;
133
133
  /**
134
- * Estimates the tx size based on its private effects. Note that the actual size of the tx
135
- * after processing will probably be larger, as public execution would generate more data.
134
+ * Returns the number of fields this tx's effects will occupy in the blob,
135
+ * based on its private side effects only. Accurate for txs without public calls.
136
+ * For txs with public calls, the actual size will be larger due to public execution outputs.
136
137
  */
137
- getEstimatedPrivateTxEffectsSize(): number;
138
+ getPrivateTxEffectsSizeInFields(): number;
138
139
  /**
139
140
  * Clones a tx, making a deep copy of all fields.
140
141
  * @param tx - The transaction to be cloned.
@@ -161,4 +162,4 @@ export declare class TxArray extends Array<Tx> {
161
162
  static fromBuffer(buffer: Buffer | BufferReader): TxArray;
162
163
  toBuffer(): Buffer;
163
164
  }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC90eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQXlELE1BQU0sNkJBQTZCLENBQUM7QUFDbEgsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0Qzs7R0FFRztBQUVILHFC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
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC90eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQXlELE1BQU0sNkJBQTZCLENBQUM7QUFDbEgsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFZLE1BQU0seUJBQXlCLENBQUM7QUFJbEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUM5RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV0Qzs7R0FFRztBQUVILHFC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
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../../src/tx/tx.ts"],"names":[],"mappings":"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"}
package/dest/tx/tx.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { DA_GAS_PER_FIELD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
1
2
  import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import { BufferReader, serializeArrayOfBufferableToVector, serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import { unfreeze } from '@aztec/foundation/types';
4
5
  import { z } from 'zod';
5
6
  import { PrivateKernelTailCircuitPublicInputs } from '../kernel/private_kernel_tail_circuit_public_inputs.js';
6
7
  import { ContractClassLog, ContractClassLogFields } from '../logs/contract_class_log.js';
@@ -194,10 +195,21 @@ export class Tx extends Gossipable {
194
195
  return this.sizeCache;
195
196
  }
196
197
  /**
197
- * Estimates the tx size based on its private effects. Note that the actual size of the tx
198
- * after processing will probably be larger, as public execution would generate more data.
199
- */ getEstimatedPrivateTxEffectsSize() {
200
- return this.data.getNonEmptyNoteHashes().length * Fr.SIZE_IN_BYTES + this.data.getNonEmptyNullifiers().length * Fr.SIZE_IN_BYTES + this.data.getEmittedPrivateLogsLength() * Fr.SIZE_IN_BYTES + this.data.getEmittedContractClassLogsLength() * Fr.SIZE_IN_BYTES;
198
+ * Returns the number of fields this tx's effects will occupy in the blob,
199
+ * based on its private side effects only. Accurate for txs without public calls.
200
+ * For txs with public calls, the actual size will be larger due to public execution outputs.
201
+ */ getPrivateTxEffectsSizeInFields() {
202
+ // 3 fields overhead: tx_start_marker, tx_hash, tx_fee.
203
+ // TX_DA_GAS_OVERHEAD is defined as N * DA_GAS_PER_FIELD, so this division is always exact.
204
+ const overheadFields = TX_DA_GAS_OVERHEAD / DA_GAS_PER_FIELD;
205
+ const noteHashes = this.data.getNonEmptyNoteHashes().length;
206
+ const nullifiers = this.data.getNonEmptyNullifiers().length;
207
+ const l2ToL1Msgs = this.data.getNonEmptyL2ToL1Msgs().length;
208
+ // Each private log occupies (emittedLength + 1) fields: content + length field
209
+ const privateLogFields = this.data.getNonEmptyPrivateLogs().reduce((acc, log)=>acc + log.emittedLength + 1, 0);
210
+ // Each contract class log occupies (length + 1) fields: content + contract address
211
+ const contractClassLogFields = this.data.getNonEmptyContractClassLogsHashes().reduce((acc, log)=>acc + log.logHash.length + 1, 0);
212
+ return overheadFields + noteHashes + nullifiers + l2ToL1Msgs + privateLogFields + contractClassLogFields;
201
213
  }
202
214
  /**
203
215
  * Clones a tx, making a deep copy of all fields.
@@ -230,7 +242,7 @@ export class Tx extends Gossipable {
230
242
  });
231
243
  }
232
244
  /** Recomputes the tx hash. Used for testing purposes only when a property of the tx was mutated. */ async recomputeHash() {
233
- this.txHash = await Tx.computeTxHash(this);
245
+ unfreeze(this).txHash = await Tx.computeTxHash(this);
234
246
  return this.txHash;
235
247
  }
236
248
  #combinePublicCallRequestWithCallData(request) {
@@ -3,6 +3,10 @@ export declare const TX_ERROR_INSUFFICIENT_FEE_PAYER_BALANCE = "Insufficient fee
3
3
  export declare const TX_ERROR_INSUFFICIENT_GAS_LIMIT = "Gas limit is below the minimum fixed cost";
4
4
  export declare const TX_ERROR_GAS_LIMIT_TOO_HIGH = "Gas limit is higher than the amount of gas that the AVM can process";
5
5
  export declare const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = "Setup function not on allow list";
6
+ export declare const TX_ERROR_SETUP_FUNCTION_UNKNOWN_CONTRACT = "Setup function targets unknown contract";
7
+ export declare const TX_ERROR_SETUP_ONLY_SELF_WRONG_SENDER = "Setup only_self function called with incorrect msg_sender";
8
+ export declare const TX_ERROR_SETUP_NULL_MSG_SENDER = "Setup function called with null msg sender";
9
+ export declare const TX_ERROR_SETUP_WRONG_CALLDATA_LENGTH = "Setup function called with wrong calldata length";
6
10
  export declare const TX_ERROR_DUPLICATE_NULLIFIER_IN_TX = "Duplicate nullifier in tx";
7
11
  export declare const TX_ERROR_EXISTING_NULLIFIER = "Existing nullifier";
8
12
  export declare const TX_ERROR_INVALID_EXPIRATION_TIMESTAMP = "Invalid expiration timestamp";
@@ -22,4 +26,4 @@ export declare const TX_ERROR_INCORRECT_HASH = "Incorrect tx hash";
22
26
  export declare const TX_ERROR_SIZE_ABOVE_LIMIT = "Transaction size above size limit";
23
27
  export declare const TX_ERROR_BLOCK_HEADER = "Block header not found";
24
28
  export declare const TX_ERROR_DURING_VALIDATION = "Unexpected error during validation";
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JfdGV4dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eC92YWxpZGF0b3IvZXJyb3JfdGV4dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsZUFBTyxNQUFNLGlDQUFpQyw2QkFBNkIsQ0FBQztBQUM1RSxlQUFPLE1BQU0sdUNBQXVDLG1DQUFtQyxDQUFDO0FBQ3hGLGVBQU8sTUFBTSwrQkFBK0IsOENBQThDLENBQUM7QUFDM0YsZUFBTyxNQUFNLDJCQUEyQix3RUFBd0UsQ0FBQztBQUdqSCxlQUFPLE1BQU0sbUNBQW1DLHFDQUFxQyxDQUFDO0FBR3RGLGVBQU8sTUFBTSxrQ0FBa0MsOEJBQThCLENBQUM7QUFDOUUsZUFBTyxNQUFNLDJCQUEyQix1QkFBdUIsQ0FBQztBQUdoRSxlQUFPLE1BQU0scUNBQXFDLGlDQUFpQyxDQUFDO0FBQ3BGLGVBQU8sTUFBTSw4QkFBOEIsMEJBQTBCLENBQUM7QUFDdEUsZUFBTyxNQUFNLGlDQUFpQyw2QkFBNkIsQ0FBQztBQUM1RSxlQUFPLE1BQU0sK0JBQStCLDBDQUEwQyxDQUFDO0FBQ3ZGLGVBQU8sTUFBTSwwQ0FBMEMsc0NBQXNDLENBQUM7QUFHOUYsZUFBTyxNQUFNLHNCQUFzQixrQkFBa0IsQ0FBQztBQUd0RCxlQUFPLE1BQU0sMkJBQTJCLHVDQUF1QyxDQUFDO0FBQ2hGLGVBQU8sTUFBTSxnQ0FBZ0MsOENBQThDLENBQUM7QUFDNUYsZUFBTyxNQUFNLGlDQUFpQyx1REFBdUQsQ0FBQztBQUN0RyxlQUFPLE1BQU0saUNBQWlDLDZDQUE2QyxDQUFDO0FBQzVGLGVBQU8sTUFBTSxrQ0FBa0MseUNBQXlDLENBQUM7QUFDekYsZUFBTyxNQUFNLDRCQUE0QixtQ0FBbUMsQ0FBQztBQUM3RSxlQUFPLE1BQU0sbUNBQW1DLDJDQUEyQyxDQUFDO0FBQzVGLGVBQU8sTUFBTSx1QkFBdUIsc0JBQXNCLENBQUM7QUFHM0QsZUFBTyxNQUFNLHlCQUF5QixzQ0FBc0MsQ0FBQztBQUc3RSxlQUFPLE1BQU0scUJBQXFCLDJCQUEyQixDQUFDO0FBRzlELGVBQU8sTUFBTSwwQkFBMEIsdUNBQXVDLENBQUMifQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JfdGV4dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eC92YWxpZGF0b3IvZXJyb3JfdGV4dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsZUFBTyxNQUFNLGlDQUFpQyw2QkFBNkIsQ0FBQztBQUM1RSxlQUFPLE1BQU0sdUNBQXVDLG1DQUFtQyxDQUFDO0FBQ3hGLGVBQU8sTUFBTSwrQkFBK0IsOENBQThDLENBQUM7QUFDM0YsZUFBTyxNQUFNLDJCQUEyQix3RUFBd0UsQ0FBQztBQUdqSCxlQUFPLE1BQU0sbUNBQW1DLHFDQUFxQyxDQUFDO0FBQ3RGLGVBQU8sTUFBTSx3Q0FBd0MsNENBQTRDLENBQUM7QUFDbEcsZUFBTyxNQUFNLHFDQUFxQyw4REFBOEQsQ0FBQztBQUNqSCxlQUFPLE1BQU0sOEJBQThCLCtDQUErQyxDQUFDO0FBQzNGLGVBQU8sTUFBTSxvQ0FBb0MscURBQXFELENBQUM7QUFHdkcsZUFBTyxNQUFNLGtDQUFrQyw4QkFBOEIsQ0FBQztBQUM5RSxlQUFPLE1BQU0sMkJBQTJCLHVCQUF1QixDQUFDO0FBR2hFLGVBQU8sTUFBTSxxQ0FBcUMsaUNBQWlDLENBQUM7QUFDcEYsZUFBTyxNQUFNLDhCQUE4QiwwQkFBMEIsQ0FBQztBQUN0RSxlQUFPLE1BQU0saUNBQWlDLDZCQUE2QixDQUFDO0FBQzVFLGVBQU8sTUFBTSwrQkFBK0IsMENBQTBDLENBQUM7QUFDdkYsZUFBTyxNQUFNLDBDQUEwQyxzQ0FBc0MsQ0FBQztBQUc5RixlQUFPLE1BQU0sc0JBQXNCLGtCQUFrQixDQUFDO0FBR3RELGVBQU8sTUFBTSwyQkFBMkIsdUNBQXVDLENBQUM7QUFDaEYsZUFBTyxNQUFNLGdDQUFnQyw4Q0FBOEMsQ0FBQztBQUM1RixlQUFPLE1BQU0saUNBQWlDLHVEQUF1RCxDQUFDO0FBQ3RHLGVBQU8sTUFBTSxpQ0FBaUMsNkNBQTZDLENBQUM7QUFDNUYsZUFBTyxNQUFNLGtDQUFrQyx5Q0FBeUMsQ0FBQztBQUN6RixlQUFPLE1BQU0sNEJBQTRCLG1DQUFtQyxDQUFDO0FBQzdFLGVBQU8sTUFBTSxtQ0FBbUMsMkNBQTJDLENBQUM7QUFDNUYsZUFBTyxNQUFNLHVCQUF1QixzQkFBc0IsQ0FBQztBQUczRCxlQUFPLE1BQU0seUJBQXlCLHNDQUFzQyxDQUFDO0FBRzdFLGVBQU8sTUFBTSxxQkFBcUIsMkJBQTJCLENBQUM7QUFHOUQsZUFBTyxNQUFNLDBCQUEwQix1Q0FBdUMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAC3F,eAAO,MAAM,2BAA2B,wEAAwE,CAAC;AAGjH,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AAGtF,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,qCAAqC,iCAAiC,CAAC;AACpF,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,0CAA0C,sCAAsC,CAAC;AAG9F,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,iCAAiC,uDAAuD,CAAC;AACtG,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAC5F,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AACzF,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,mCAAmC,2CAA2C,CAAC;AAC5F,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAG3D,eAAO,MAAM,yBAAyB,sCAAsC,CAAC;AAG7E,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
1
+ {"version":3,"file":"error_texts.d.ts","sourceRoot":"","sources":["../../../src/tx/validator/error_texts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,uCAAuC,mCAAmC,CAAC;AACxF,eAAO,MAAM,+BAA+B,8CAA8C,CAAC;AAC3F,eAAO,MAAM,2BAA2B,wEAAwE,CAAC;AAGjH,eAAO,MAAM,mCAAmC,qCAAqC,CAAC;AACtF,eAAO,MAAM,wCAAwC,4CAA4C,CAAC;AAClG,eAAO,MAAM,qCAAqC,8DAA8D,CAAC;AACjH,eAAO,MAAM,8BAA8B,+CAA+C,CAAC;AAC3F,eAAO,MAAM,oCAAoC,qDAAqD,CAAC;AAGvG,eAAO,MAAM,kCAAkC,8BAA8B,CAAC;AAC9E,eAAO,MAAM,2BAA2B,uBAAuB,CAAC;AAGhE,eAAO,MAAM,qCAAqC,iCAAiC,CAAC;AACpF,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,+BAA+B,0CAA0C,CAAC;AACvF,eAAO,MAAM,0CAA0C,sCAAsC,CAAC;AAG9F,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAGtD,eAAO,MAAM,2BAA2B,uCAAuC,CAAC;AAChF,eAAO,MAAM,gCAAgC,8CAA8C,CAAC;AAC5F,eAAO,MAAM,iCAAiC,uDAAuD,CAAC;AACtG,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAC5F,eAAO,MAAM,kCAAkC,yCAAyC,CAAC;AACzF,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAC7E,eAAO,MAAM,mCAAmC,2CAA2C,CAAC;AAC5F,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAG3D,eAAO,MAAM,yBAAyB,sCAAsC,CAAC;AAG7E,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAG9D,eAAO,MAAM,0BAA0B,uCAAuC,CAAC"}
@@ -5,6 +5,10 @@ export const TX_ERROR_INSUFFICIENT_GAS_LIMIT = 'Gas limit is below the minimum f
5
5
  export const TX_ERROR_GAS_LIMIT_TOO_HIGH = 'Gas limit is higher than the amount of gas that the AVM can process';
6
6
  // Phases
7
7
  export const TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED = 'Setup function not on allow list';
8
+ export const TX_ERROR_SETUP_FUNCTION_UNKNOWN_CONTRACT = 'Setup function targets unknown contract';
9
+ export const TX_ERROR_SETUP_ONLY_SELF_WRONG_SENDER = 'Setup only_self function called with incorrect msg_sender';
10
+ export const TX_ERROR_SETUP_NULL_MSG_SENDER = 'Setup function called with null msg sender';
11
+ export const TX_ERROR_SETUP_WRONG_CALLDATA_LENGTH = 'Setup function called with wrong calldata length';
8
12
  // Nullifiers
9
13
  export const TX_ERROR_DUPLICATE_NULLIFIER_IN_TX = 'Duplicate nullifier in tx';
10
14
  export const TX_ERROR_EXISTING_NULLIFIER = 'Existing nullifier';
@@ -1,2 +1,3 @@
1
- export { UpdateChecker, getPackageVersion } from './update-checker.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGRhdGUtY2hlY2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUMifQ==
1
+ export * from './package_version.js';
2
+ export * from './version_checker.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cGRhdGUtY2hlY2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/update-checker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/update-checker/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -1 +1,2 @@
1
- export { UpdateChecker, getPackageVersion } from './update-checker.js';
1
+ export * from './package_version.js';
2
+ export * from './version_checker.js';
@@ -0,0 +1,3 @@
1
+ /** Returns the package version from the release-please manifest, or undefined if not found. */
2
+ export declare function getPackageVersion(): string | undefined;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZV92ZXJzaW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXBkYXRlLWNoZWNrZXIvcGFja2FnZV92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLCtGQUErRjtBQUMvRix3QkFBZ0IsaUJBQWlCLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FVdEQifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package_version.d.ts","sourceRoot":"","sources":["../../src/update-checker/package_version.ts"],"names":[],"mappings":"AAKA,+FAA+F;AAC/F,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAUtD"}
@@ -0,0 +1,11 @@
1
+ import { fileURLToPath } from '@aztec/foundation/url';
2
+ import { readFileSync } from 'fs';
3
+ import { dirname, resolve } from 'path';
4
+ /** Returns the package version from the release-please manifest, or undefined if not found. */ export function getPackageVersion() {
5
+ try {
6
+ const releasePleaseManifestPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../.release-please-manifest.json');
7
+ return JSON.parse(readFileSync(releasePleaseManifestPath).toString())['.'];
8
+ } catch {
9
+ return undefined;
10
+ }
11
+ }
@@ -0,0 +1,25 @@
1
+ import { EventEmitter } from 'node:events';
2
+ export type EventMap = {
3
+ newVersion: [{
4
+ name: string;
5
+ currentVersion: string;
6
+ latestVersion: string;
7
+ }];
8
+ };
9
+ export type VersionCheck = {
10
+ name: string;
11
+ currentVersion: string;
12
+ getLatestVersion: () => Promise<string | undefined>;
13
+ };
14
+ export declare class VersionChecker extends EventEmitter<EventMap> {
15
+ private checks;
16
+ private logger;
17
+ private runningPromise;
18
+ constructor(checks: Array<VersionCheck>, intervalCheckMs?: number, logger?: import("@aztec/foundation/log").Logger);
19
+ start(): void;
20
+ trigger(): Promise<void>;
21
+ stop(): Promise<void>;
22
+ private run;
23
+ private checkVersion;
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbl9jaGVja2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXBkYXRlLWNoZWNrZXIvdmVyc2lvbl9jaGVja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0MsTUFBTSxNQUFNLFFBQVEsR0FBRztJQUNyQixVQUFVLEVBQUUsQ0FBQztRQUFFLElBQUksRUFBRSxNQUFNLENBQUM7UUFBQyxjQUFjLEVBQUUsTUFBTSxDQUFDO1FBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUMsQ0FBQztDQUMvRSxDQUFDO0FBRUYsTUFBTSxNQUFNLFlBQVksR0FBRztJQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUM7Q0FDckQsQ0FBQztBQUVGLHFCQUFhLGNBQWUsU0FBUSxZQUFZLENBQUMsUUFBUSxDQUFDO0lBR3RELE9BQU8sQ0FBQyxNQUFNO0lBRWQsT0FBTyxDQUFDLE1BQU07SUFKaEIsT0FBTyxDQUFDLGNBQWMsQ0FBaUI7SUFDdkMsWUFDVSxNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUNuQyxlQUFlLFNBQVMsRUFDaEIsTUFBTSx5Q0FBa0MsRUFJakQ7SUFFTSxLQUFLLElBQUksSUFBSSxDQVFuQjtJQUVNLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRTlCO0lBRVksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FRakM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUVUO1lBRVksWUFBWTtDQVUzQiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version_checker.d.ts","sourceRoot":"","sources":["../../src/update-checker/version_checker.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrD,CAAC;AAEF,qBAAa,cAAe,SAAQ,YAAY,CAAC,QAAQ,CAAC;IAGtD,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,cAAc,CAAiB;IACvC,YACU,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EACnC,eAAe,SAAS,EAChB,MAAM,yCAAkC,EAIjD;IAEM,KAAK,IAAI,IAAI,CAQnB;IAEM,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9B;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAQjC;IAED,OAAO,CAAC,GAAG,CAET;YAEY,YAAY;CAU3B"}
@@ -0,0 +1,50 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ import { RunningPromise } from '@aztec/foundation/promise';
3
+ import { EventEmitter } from 'node:events';
4
+ export class VersionChecker extends EventEmitter {
5
+ checks;
6
+ logger;
7
+ runningPromise;
8
+ constructor(checks, intervalCheckMs = 60_000, logger = createLogger('version_checker')){
9
+ super(), this.checks = checks, this.logger = logger, this.run = async ()=>{
10
+ await Promise.allSettled(this.checks.map((check)=>this.checkVersion(check)));
11
+ };
12
+ this.runningPromise = new RunningPromise(this.run, logger, intervalCheckMs);
13
+ }
14
+ start() {
15
+ if (this.runningPromise.isRunning()) {
16
+ this.logger.warn('VersionChecker is already running');
17
+ return;
18
+ }
19
+ this.runningPromise.start();
20
+ this.logger.info('Version check started');
21
+ }
22
+ trigger() {
23
+ return this.runningPromise.trigger();
24
+ }
25
+ async stop() {
26
+ if (!this.runningPromise.isRunning()) {
27
+ this.logger.warn('VersionChecker is not running');
28
+ return;
29
+ }
30
+ await this.runningPromise.stop();
31
+ this.logger.info('Version checker stopped');
32
+ }
33
+ run;
34
+ async checkVersion({ name, currentVersion, getLatestVersion }) {
35
+ try {
36
+ const latestVersion = await getLatestVersion();
37
+ if (latestVersion && latestVersion !== currentVersion) {
38
+ this.emit('newVersion', {
39
+ name,
40
+ latestVersion,
41
+ currentVersion
42
+ });
43
+ }
44
+ } catch (err) {
45
+ this.logger.warn(`Error checking for new ${name} versions: ${err}`, {
46
+ err
47
+ });
48
+ }
49
+ }
50
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/stdlib",
3
- "version": "0.0.1-commit.c949de6bc",
3
+ "version": "0.0.1-commit.cb6bed7c2",
4
4
  "type": "module",
5
5
  "inherits": [
6
6
  "../package.common.json",
@@ -63,7 +63,8 @@
63
63
  "./slashing": "./dest/slashing/index.js",
64
64
  "./l1-contracts": "./dest/l1-contracts/index.js",
65
65
  "./world-state": "./dest/world-state/index.js",
66
- "./timetable": "./dest/timetable/index.js"
66
+ "./timetable": "./dest/timetable/index.js",
67
+ "./kv-store": "./dest/kv-store/index.js"
67
68
  },
68
69
  "typedocOptions": {
69
70
  "entryPoints": [
@@ -91,13 +92,13 @@
91
92
  },
92
93
  "dependencies": {
93
94
  "@aws-sdk/client-s3": "^3.892.0",
94
- "@aztec/bb.js": "0.0.1-commit.c949de6bc",
95
- "@aztec/blob-lib": "0.0.1-commit.c949de6bc",
96
- "@aztec/constants": "0.0.1-commit.c949de6bc",
97
- "@aztec/ethereum": "0.0.1-commit.c949de6bc",
98
- "@aztec/foundation": "0.0.1-commit.c949de6bc",
99
- "@aztec/l1-artifacts": "0.0.1-commit.c949de6bc",
100
- "@aztec/noir-noirc_abi": "0.0.1-commit.c949de6bc",
95
+ "@aztec/bb.js": "0.0.1-commit.cb6bed7c2",
96
+ "@aztec/blob-lib": "0.0.1-commit.cb6bed7c2",
97
+ "@aztec/constants": "0.0.1-commit.cb6bed7c2",
98
+ "@aztec/ethereum": "0.0.1-commit.cb6bed7c2",
99
+ "@aztec/foundation": "0.0.1-commit.cb6bed7c2",
100
+ "@aztec/l1-artifacts": "0.0.1-commit.cb6bed7c2",
101
+ "@aztec/noir-noirc_abi": "0.0.1-commit.cb6bed7c2",
101
102
  "@google-cloud/storage": "^7.15.0",
102
103
  "axios": "^1.13.5",
103
104
  "json-stringify-deterministic": "1.0.12",
@@ -2,12 +2,19 @@ import { Fr } from '@aztec/foundation/curves/bn254';
2
2
 
3
3
  import { AztecAddress } from '../aztec-address/index.js';
4
4
  import type { ABIParameter, ABIVariable, AbiType } from './abi.js';
5
- import { isAztecAddressStruct, parseSignedInt } from './utils.js';
5
+ import { isAztecAddressStruct, isOptionStruct, parseSignedInt } from './utils.js';
6
6
 
7
7
  /**
8
8
  * The type of our decoded ABI.
9
9
  */
10
- export type AbiDecoded = bigint | boolean | string | AztecAddress | AbiDecoded[] | { [key: string]: AbiDecoded };
10
+ export type AbiDecoded =
11
+ | bigint
12
+ | boolean
13
+ | string
14
+ | AztecAddress
15
+ | AbiDecoded[]
16
+ | { [key: string]: AbiDecoded }
17
+ | undefined;
11
18
 
12
19
  /**
13
20
  * Decodes values using a provided ABI.
@@ -51,6 +58,11 @@ class AbiDecoder {
51
58
  if (isAztecAddressStruct(abiType)) {
52
59
  return new AztecAddress(this.getNextField().toBuffer());
53
60
  }
61
+ if (isOptionStruct(abiType)) {
62
+ const isSome = this.decodeNext(abiType.fields[0].type);
63
+ const value = this.decodeNext(abiType.fields[1].type);
64
+ return isSome ? value : undefined;
65
+ }
54
66
 
55
67
  for (const field of abiType.fields) {
56
68
  struct[field.name] = this.decodeNext(field.type);
@@ -1,7 +1,13 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
 
3
3
  import type { AbiType, FunctionAbi } from './abi.js';
4
- import { isAddressStruct, isBoundedVecStruct, isFunctionSelectorStruct, isWrappedFieldStruct } from './utils.js';
4
+ import {
5
+ isAddressStruct,
6
+ isBoundedVecStruct,
7
+ isFunctionSelectorStruct,
8
+ isOptionStruct,
9
+ isWrappedFieldStruct,
10
+ } from './utils.js';
5
11
 
6
12
  /**
7
13
  * Encodes arguments for a function call.
@@ -43,6 +49,32 @@ class ArgumentEncoder {
43
49
  * @param name - Name.
44
50
  */
45
51
  private encodeArgument(abiType: AbiType, arg: any, name?: string) {
52
+ if (isOptionStruct(abiType)) {
53
+ const optionType = abiType as Extract<AbiType, { kind: 'struct' }>;
54
+ const [isSomeField, valueField] = optionType.fields;
55
+
56
+ if (arg === undefined || arg === null) {
57
+ this.encodeArgument(isSomeField.type, false, `${name}._is_some`);
58
+ this.#encodeDefaultValue(valueField.type);
59
+ return;
60
+ }
61
+
62
+ if (typeof arg === 'object' && '_is_some' in arg) {
63
+ this.encodeArgument(isSomeField.type, arg._is_some, `${name}._is_some`);
64
+
65
+ if (arg._is_some) {
66
+ this.encodeArgument(valueField.type, arg._value, `${name}._value`);
67
+ } else {
68
+ this.#encodeDefaultValue(valueField.type);
69
+ }
70
+ return;
71
+ }
72
+
73
+ this.encodeArgument(isSomeField.type, true, `${name}._is_some`);
74
+ this.encodeArgument(valueField.type, arg, `${name}._value`);
75
+ return;
76
+ }
77
+
46
78
  if (arg === undefined || arg == null) {
47
79
  throw new Error(`Undefined argument ${name ?? 'unnamed'} of type ${abiType.kind}`);
48
80
  }
@@ -227,6 +259,14 @@ class ArgumentEncoder {
227
259
  this.encodeArgument(lenField.type, arg.length, 'len');
228
260
  }
229
261
  }
262
+
263
+ /**
264
+ * Appends the flattened zero value for an ABI type.
265
+ * Option::None still serializes the wrapped value, so we need to zero-fill its footprint.
266
+ */
267
+ #encodeDefaultValue(abiType: AbiType) {
268
+ this.flattened.push(...new Array(ArgumentEncoder.typeSize(abiType)).fill(Fr.ZERO));
269
+ }
230
270
  }
231
271
 
232
272
  /**
@@ -1,8 +1,10 @@
1
1
  import type { AbiType } from './abi.js';
2
2
  import type { EventSelector } from './event_selector.js';
3
3
 
4
+ /** Metadata for a contract event, used to decode emitted event logs back into structured data. */
4
5
  export type EventMetadataDefinition = {
5
6
  eventSelector: EventSelector;
6
7
  abiType: AbiType;
8
+ /** Names of the event's struct members (not serialized Noir Field elements). */
7
9
  fieldNames: string[];
8
10
  };
package/src/abi/utils.ts CHANGED
@@ -81,6 +81,31 @@ export function isBoundedVecStruct(abiType: AbiType) {
81
81
  );
82
82
  }
83
83
 
84
+ /**
85
+ * Returns whether the ABI type is Noir's std::option::Option lowered to a struct.
86
+ * @param abiType - Type to check.
87
+ * @returns A boolean indicating whether the ABI type is an Option struct.
88
+ */
89
+ export function isOptionStruct(abiType: AbiType) {
90
+ return (
91
+ abiType.kind === 'struct' &&
92
+ abiType.path === 'std::option::Option' &&
93
+ abiType.fields.length === 2 &&
94
+ abiType.fields[0].name === '_is_some' &&
95
+ abiType.fields[1].name === '_value'
96
+ );
97
+ }
98
+
99
+ /**
100
+ * Returns whether `null` or `undefined` can be mapped to a valid ABI value for this type.
101
+ *
102
+ * @param abiType - Type to check.
103
+ * @returns A boolean indicating whether nullish values are valid shorthand for this ABI type.
104
+ */
105
+ export function canBeMappedFromNullOrUndefined(abiType: AbiType) {
106
+ return isOptionStruct(abiType);
107
+ }
108
+
84
109
  /**
85
110
  * Returns a bigint by parsing a serialized 2's complement signed int.
86
111
  * @param b - The signed int as a buffer
@@ -1,4 +1,5 @@
1
1
  import { type BlockBlobData, encodeBlockBlobData } from '@aztec/blob-lib/encoding';
2
+ import { DA_GAS_PER_FIELD } from '@aztec/constants';
2
3
  import {
3
4
  BlockNumber,
4
5
  CheckpointNumber,
@@ -175,7 +176,7 @@ export class L2Block {
175
176
  } & Partial<Parameters<typeof BlockHeader.random>[0]> = {},
176
177
  ): Promise<L2Block> {
177
178
  const archive = new AppendOnlyTreeSnapshot(Fr.random(), blockNumber + 1);
178
- const header = BlockHeader.random({ blockNumber, ...blockHeaderOverrides });
179
+ const header = BlockHeader.random({ ...blockHeaderOverrides, blockNumber });
179
180
  const body = await Body.random({ txsPerBlock, makeTxOptions, ...txOptions });
180
181
  return new L2Block(archive, header, body, checkpointNumber, indexWithinCheckpoint);
181
182
  }
@@ -221,4 +222,15 @@ export class L2Block {
221
222
  timestamp: this.header.globalVariables.timestamp,
222
223
  };
223
224
  }
225
+
226
+ /**
227
+ * Compute how much DA gas this block uses.
228
+ *
229
+ * @remarks This assumes DA gas is computed solely based on the number of blob fields in transactions.
230
+ * This may change in the future, but we cannot access the actual DA gas used in a block since it's not exposed
231
+ * in the L2BlockHeader, so we have to rely on recomputing it.
232
+ */
233
+ computeDAGasUsed(): number {
234
+ return this.body.txEffects.reduce((total, txEffect) => total + txEffect.getNumBlobFields(), 0) * DA_GAS_PER_FIELD;
235
+ }
224
236
  }
@@ -49,6 +49,12 @@ export interface L2BlockSource {
49
49
  */
50
50
  getBlockNumber(): Promise<BlockNumber>;
51
51
 
52
+ /**
53
+ * Gets the number of the latest L2 checkpoint processed by the block source implementation.
54
+ * @returns The number of the latest L2 checkpoint processed by the block source implementation.
55
+ */
56
+ getCheckpointNumber(): Promise<CheckpointNumber>;
57
+
52
58
  /**
53
59
  * Gets the number of the latest L2 block proven seen by the block source implementation.
54
60
  * @returns The number of the latest L2 block proven seen by the block source implementation.
@@ -6,7 +6,7 @@ import {
6
6
  IndexWithinCheckpoint,
7
7
  SlotNumber,
8
8
  } from '@aztec/foundation/branded-types';
9
- import { sum } from '@aztec/foundation/collection';
9
+ import { pick, sum } from '@aztec/foundation/collection';
10
10
  import { Fr } from '@aztec/foundation/curves/bn254';
11
11
  import { BufferReader, serializeSignedBigInt, serializeToBuffer } from '@aztec/foundation/serialize';
12
12
  import type { FieldsOf } from '@aztec/foundation/types';
@@ -152,10 +152,12 @@ export class Checkpoint {
152
152
  startBlockNumber?: number;
153
153
  previousArchive?: AppendOnlyTreeSnapshot;
154
154
  feeAssetPriceModifier?: bigint;
155
+ archive?: AppendOnlyTreeSnapshot;
155
156
  } & Partial<Parameters<typeof CheckpointHeader.random>[0]> &
156
157
  Partial<Parameters<typeof L2Block.random>[1]> = {},
157
158
  ) {
158
- const header = CheckpointHeader.random(options);
159
+ const headerOptions = previousArchive ? { lastArchiveRoot: previousArchive.root, ...options } : options;
160
+ const header = CheckpointHeader.random(headerOptions);
159
161
 
160
162
  // Create blocks sequentially to chain archive roots properly.
161
163
  // Each block's header.lastArchive must equal the previous block's archive.
@@ -166,11 +168,18 @@ export class Checkpoint {
166
168
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
167
169
  ...options,
168
170
  ...(lastArchive ? { lastArchive } : {}),
171
+ ...pick(header, 'slotNumber', 'timestamp', 'coinbase', 'feeRecipient', 'gasFees'),
169
172
  });
170
173
  lastArchive = block.archive;
171
174
  blocks.push(block);
172
175
  }
173
176
 
174
- return new Checkpoint(AppendOnlyTreeSnapshot.random(), header, blocks, checkpointNumber, feeAssetPriceModifier);
177
+ return new Checkpoint(
178
+ options.archive ?? AppendOnlyTreeSnapshot.random(),
179
+ header,
180
+ blocks,
181
+ checkpointNumber,
182
+ feeAssetPriceModifier,
183
+ );
175
184
  }
176
185
  }