@aztec/stdlib 0.87.7 → 1.0.0-nightly.20250605

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 (224) hide show
  1. package/dest/abi/abi.d.ts +3 -0
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +38 -0
  4. package/dest/avm/avm.d.ts +1318 -33
  5. package/dest/avm/avm.d.ts.map +1 -1
  6. package/dest/avm/avm.js +37 -14
  7. package/dest/avm/avm_accumulated_data.d.ts +77 -0
  8. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  9. package/dest/avm/avm_accumulated_data.js +67 -0
  10. package/dest/avm/avm_circuit_public_inputs.d.ts +103 -10
  11. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  12. package/dest/avm/avm_circuit_public_inputs.js +25 -10
  13. package/dest/avm/avm_proving_request.d.ts +648 -0
  14. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  15. package/dest/avm/gas.d.ts +7 -0
  16. package/dest/avm/gas.d.ts.map +1 -0
  17. package/dest/avm/gas.js +13 -0
  18. package/dest/avm/index.d.ts +1 -0
  19. package/dest/avm/index.d.ts.map +1 -1
  20. package/dest/avm/index.js +1 -0
  21. package/dest/block/body.d.ts +1 -1
  22. package/dest/block/body.d.ts.map +1 -1
  23. package/dest/block/body.js +2 -2
  24. package/dest/block/index.d.ts +1 -0
  25. package/dest/block/index.d.ts.map +1 -1
  26. package/dest/block/index.js +1 -0
  27. package/dest/block/l2_block.d.ts +3 -2
  28. package/dest/block/l2_block.d.ts.map +1 -1
  29. package/dest/block/l2_block.js +10 -5
  30. package/dest/block/l2_block_source.d.ts +9 -4
  31. package/dest/block/l2_block_source.d.ts.map +1 -1
  32. package/dest/block/l2_block_source.js +1 -0
  33. package/dest/block/proposal/committee_attestation.d.ts +34 -0
  34. package/dest/block/proposal/committee_attestation.d.ts.map +1 -0
  35. package/dest/block/proposal/committee_attestation.js +59 -0
  36. package/dest/block/proposal/index.d.ts +2 -0
  37. package/dest/block/proposal/index.d.ts.map +1 -0
  38. package/dest/block/proposal/index.js +1 -0
  39. package/dest/block/published_l2_block.d.ts +99 -69
  40. package/dest/block/published_l2_block.d.ts.map +1 -1
  41. package/dest/block/published_l2_block.js +38 -12
  42. package/dest/block/test/l2_tips_store_test_suite.js +1 -1
  43. package/dest/fees/transaction_fee.d.ts +5 -0
  44. package/dest/fees/transaction_fee.d.ts.map +1 -1
  45. package/dest/fees/transaction_fee.js +10 -3
  46. package/dest/interfaces/archiver.js +2 -2
  47. package/dest/interfaces/aztec-node.d.ts +3 -8
  48. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  49. package/dest/interfaces/aztec-node.js +3 -6
  50. package/dest/interfaces/block-builder.d.ts +41 -2
  51. package/dest/interfaces/block-builder.d.ts.map +1 -1
  52. package/dest/interfaces/block-builder.js +1 -1
  53. package/dest/interfaces/epoch-prover.d.ts +2 -2
  54. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  55. package/dest/interfaces/merkle_tree_operations.d.ts +14 -0
  56. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  57. package/dest/interfaces/p2p.d.ts +6 -3
  58. package/dest/interfaces/p2p.d.ts.map +1 -1
  59. package/dest/interfaces/p2p.js +1 -2
  60. package/dest/interfaces/proving-job.d.ts +652 -4
  61. package/dest/interfaces/proving-job.d.ts.map +1 -1
  62. package/dest/interfaces/proving-job.js +2 -2
  63. package/dest/interfaces/server_circuit_prover.d.ts +3 -2
  64. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  65. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
  66. package/dest/kernel/hints/key_validation_hint.d.ts +2 -6
  67. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  68. package/dest/kernel/hints/key_validation_hint.js +5 -7
  69. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +7 -7
  70. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  71. package/dest/kernel/hints/private_kernel_reset_hints.js +8 -4
  72. package/dest/kernel/hints/read_request_hints.d.ts +8 -8
  73. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  74. package/dest/kernel/index.d.ts +1 -0
  75. package/dest/kernel/index.d.ts.map +1 -1
  76. package/dest/kernel/index.js +1 -0
  77. package/dest/kernel/padded_side_effects.d.ts +26 -0
  78. package/dest/kernel/padded_side_effects.d.ts.map +1 -0
  79. package/dest/kernel/padded_side_effects.js +51 -0
  80. package/dest/kernel/private_kernel_data.d.ts +6 -25
  81. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  82. package/dest/kernel/private_kernel_data.js +8 -19
  83. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +7 -4
  84. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  85. package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +10 -6
  86. package/dest/kernel/private_kernel_reset_dimensions.d.ts +10 -10
  87. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  88. package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
  89. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  90. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  91. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +8 -3
  92. package/dest/kernel/private_to_avm_accumulated_data.d.ts +1 -0
  93. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  94. package/dest/kernel/private_to_avm_accumulated_data.js +4 -0
  95. package/dest/kernel/public_call_request.d.ts +54 -0
  96. package/dest/kernel/public_call_request.d.ts.map +1 -1
  97. package/dest/kernel/public_call_request.js +58 -0
  98. package/dest/logs/contract_class_log.d.ts +0 -4
  99. package/dest/logs/contract_class_log.d.ts.map +1 -1
  100. package/dest/logs/contract_class_log.js +0 -33
  101. package/dest/logs/log_with_tx_data.d.ts +13 -3
  102. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  103. package/dest/logs/log_with_tx_data.js +26 -14
  104. package/dest/logs/private_log.d.ts +1 -0
  105. package/dest/logs/private_log.d.ts.map +1 -1
  106. package/dest/logs/private_log.js +3 -0
  107. package/dest/logs/public_log.d.ts +1 -0
  108. package/dest/logs/public_log.d.ts.map +1 -1
  109. package/dest/logs/public_log.js +3 -0
  110. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  111. package/dest/logs/tx_scoped_l2_log.js +1 -0
  112. package/dest/messaging/index.d.ts +1 -0
  113. package/dest/messaging/index.d.ts.map +1 -1
  114. package/dest/messaging/index.js +1 -0
  115. package/dest/messaging/l2_to_l1_membership.d.ts +11 -0
  116. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -0
  117. package/dest/messaging/l2_to_l1_membership.js +70 -0
  118. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  119. package/dest/rollup/avm_proof_data.d.ts +7 -5
  120. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  121. package/dest/rollup/avm_proof_data.js +12 -4
  122. package/dest/rollup/base_rollup_hints.d.ts +4 -4
  123. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  124. package/dest/rollup/base_rollup_hints.js +8 -8
  125. package/dest/rollup/previous_rollup_block_data.d.ts +6 -15
  126. package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -1
  127. package/dest/rollup/previous_rollup_block_data.js +8 -13
  128. package/dest/rollup/previous_rollup_data.d.ts +6 -15
  129. package/dest/rollup/previous_rollup_data.d.ts.map +1 -1
  130. package/dest/rollup/previous_rollup_data.js +8 -13
  131. package/dest/rollup/private_tube_data.d.ts +3 -3
  132. package/dest/rollup/private_tube_data.d.ts.map +1 -1
  133. package/dest/rollup/private_tube_data.js +3 -3
  134. package/dest/rollup/public_tube_data.d.ts +3 -3
  135. package/dest/rollup/public_tube_data.d.ts.map +1 -1
  136. package/dest/rollup/public_tube_data.js +3 -3
  137. package/dest/rollup/root_rollup.d.ts +9 -10
  138. package/dest/rollup/root_rollup.d.ts.map +1 -1
  139. package/dest/rollup/root_rollup.js +9 -20
  140. package/dest/tests/factories.d.ts +2 -1
  141. package/dest/tests/factories.d.ts.map +1 -1
  142. package/dest/tests/factories.js +53 -28
  143. package/dest/tests/mocks.d.ts.map +1 -1
  144. package/dest/tests/mocks.js +4 -3
  145. package/dest/tx/processed_tx.d.ts.map +1 -1
  146. package/dest/tx/processed_tx.js +2 -5
  147. package/dest/tx/tx.d.ts +10 -25
  148. package/dest/tx/tx.d.ts.map +1 -1
  149. package/dest/tx/tx.js +25 -50
  150. package/dest/tx/tx_effect.d.ts +1 -1
  151. package/dest/tx/tx_effect.d.ts.map +1 -1
  152. package/dest/tx/tx_effect.js +2 -2
  153. package/dest/tx/tx_hash.d.ts +1 -0
  154. package/dest/tx/tx_hash.d.ts.map +1 -1
  155. package/dest/tx/tx_hash.js +3 -0
  156. package/dest/validators/types.d.ts +4 -0
  157. package/dest/validators/types.d.ts.map +1 -1
  158. package/dest/vks/index.d.ts +1 -1
  159. package/dest/vks/index.d.ts.map +1 -1
  160. package/dest/vks/index.js +1 -1
  161. package/dest/vks/{vk_witness_data.d.ts → vk_data.d.ts} +8 -8
  162. package/dest/vks/vk_data.d.ts.map +1 -0
  163. package/dest/vks/{vk_witness_data.js → vk_data.js} +10 -10
  164. package/package.json +7 -7
  165. package/src/abi/abi.ts +37 -0
  166. package/src/avm/avm.ts +37 -4
  167. package/src/avm/avm_accumulated_data.ts +93 -0
  168. package/src/avm/avm_circuit_public_inputs.ts +33 -3
  169. package/src/avm/gas.ts +26 -0
  170. package/src/avm/index.ts +1 -0
  171. package/src/block/body.ts +7 -2
  172. package/src/block/index.ts +1 -0
  173. package/src/block/l2_block.ts +8 -3
  174. package/src/block/l2_block_source.ts +9 -3
  175. package/src/block/proposal/committee_attestation.ts +70 -0
  176. package/src/block/proposal/index.ts +1 -0
  177. package/src/block/published_l2_block.ts +38 -24
  178. package/src/block/test/l2_tips_store_test_suite.ts +1 -1
  179. package/src/fees/transaction_fee.ts +12 -3
  180. package/src/interfaces/archiver.ts +2 -2
  181. package/src/interfaces/aztec-node.ts +8 -16
  182. package/src/interfaces/block-builder.ts +49 -2
  183. package/src/interfaces/epoch-prover.ts +2 -2
  184. package/src/interfaces/merkle_tree_operations.ts +20 -0
  185. package/src/interfaces/p2p.ts +9 -4
  186. package/src/interfaces/proving-job.ts +3 -3
  187. package/src/interfaces/server_circuit_prover.ts +3 -2
  188. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
  189. package/src/kernel/hints/key_validation_hint.ts +4 -6
  190. package/src/kernel/hints/private_kernel_reset_hints.ts +34 -43
  191. package/src/kernel/hints/read_request_hints.ts +27 -15
  192. package/src/kernel/index.ts +1 -0
  193. package/src/kernel/padded_side_effects.ts +73 -0
  194. package/src/kernel/private_kernel_data.ts +7 -29
  195. package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +16 -13
  196. package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
  197. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +10 -2
  198. package/src/kernel/private_to_avm_accumulated_data.ts +9 -0
  199. package/src/kernel/public_call_request.ts +66 -0
  200. package/src/logs/contract_class_log.ts +0 -36
  201. package/src/logs/log_with_tx_data.ts +26 -12
  202. package/src/logs/private_log.ts +4 -0
  203. package/src/logs/public_log.ts +4 -0
  204. package/src/logs/tx_scoped_l2_log.ts +1 -0
  205. package/src/messaging/index.ts +1 -0
  206. package/src/messaging/l2_to_l1_membership.ts +113 -0
  207. package/src/p2p/consensus_payload.ts +3 -1
  208. package/src/rollup/avm_proof_data.ts +14 -7
  209. package/src/rollup/base_rollup_hints.ts +4 -4
  210. package/src/rollup/previous_rollup_block_data.ts +6 -12
  211. package/src/rollup/previous_rollup_data.ts +6 -12
  212. package/src/rollup/private_tube_data.ts +4 -4
  213. package/src/rollup/public_tube_data.ts +4 -4
  214. package/src/rollup/root_rollup.ts +6 -19
  215. package/src/tests/factories.ts +82 -43
  216. package/src/tests/mocks.ts +6 -3
  217. package/src/tx/processed_tx.ts +4 -5
  218. package/src/tx/tx.ts +28 -54
  219. package/src/tx/tx_effect.ts +23 -5
  220. package/src/tx/tx_hash.ts +4 -0
  221. package/src/validators/types.ts +2 -0
  222. package/src/vks/index.ts +1 -1
  223. package/src/vks/{vk_witness_data.ts → vk_data.ts} +6 -6
  224. package/dest/vks/vk_witness_data.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"avm_proving_request.d.ts","sourceRoot":"","sources":["../../src/avm/avm_proving_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC"}
1
+ {"version":3,"file":"avm_proving_request.d.ts","sourceRoot":"","sources":["../../src/avm/avm_proving_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Gas } from '../gas/gas.js';
2
+ import { GasSettings } from '../gas/gas_settings.js';
3
+ /**
4
+ * Apply L2 gas maximum to the gas settings.
5
+ */
6
+ export declare function clampGasSettingsForAVM(gasSettings: GasSettings, gasUsedByPrivate: Gas): GasSettings;
7
+ //# sourceMappingURL=gas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/avm/gas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,GAAG,WAAW,CAOnG"}
@@ -0,0 +1,13 @@
1
+ import { MAX_L2_GAS_PER_TX_PUBLIC_PORTION } from '@aztec/constants';
2
+ import { Gas } from '../gas/gas.js';
3
+ import { GasSettings } from '../gas/gas_settings.js';
4
+ /**
5
+ * Apply L2 gas maximum to the gas settings.
6
+ */ export function clampGasSettingsForAVM(gasSettings, gasUsedByPrivate) {
7
+ return new GasSettings(clampGasLimitsForAVM(gasSettings.gasLimits, gasUsedByPrivate), clampGasLimitsForAVM(gasSettings.teardownGasLimits, new Gas(0, 0)), gasSettings.maxFeesPerGas, gasSettings.maxPriorityFeesPerGas);
8
+ }
9
+ /**
10
+ * Apply L2 gas maximum to the gas limits.
11
+ */ function clampGasLimitsForAVM(gasLimits, gasUsedByPrivate) {
12
+ return new Gas(/*daGas=*/ gasLimits.daGas, /*l2Gas=*/ Math.min(gasLimits.l2Gas, gasUsedByPrivate.l2Gas + MAX_L2_GAS_PER_TX_PUBLIC_PORTION));
13
+ }
@@ -10,4 +10,5 @@ export * from './contract_storage_read.js';
10
10
  export * from './public_inner_call_request.js';
11
11
  export * from './public_call_stack_item_compressed.js';
12
12
  export * from './avm_proving_request.js';
13
+ export * from './gas.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/avm/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/avm/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,CAAC"}
package/dest/avm/index.js CHANGED
@@ -10,3 +10,4 @@ export * from './contract_storage_read.js';
10
10
  export * from './public_inner_call_request.js';
11
11
  export * from './public_call_stack_item_compressed.js';
12
12
  export * from './avm_proving_request.js';
13
+ export * from './gas.js';
@@ -27,7 +27,7 @@ export declare class Body {
27
27
  */
28
28
  static fromBlobFields(fields: Fr[]): Body;
29
29
  [inspect.custom](): string;
30
- static random(txsPerBlock?: number, numPublicCallsPerTx?: number, numPublicLogsPerCall?: number): Promise<Body>;
30
+ static random(txsPerBlock?: number, numPublicCallsPerTx?: number, numPublicLogsPerCall?: number, maxEffects?: number | undefined): Promise<Body>;
31
31
  static empty(): Body;
32
32
  }
33
33
  //# sourceMappingURL=body.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/block/body.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAkC,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,qBAAa,IAAI;IACI,SAAS,EAAE,QAAQ,EAAE;gBAArB,SAAS,EAAE,QAAQ,EAAE;IAQxC,MAAM,CAAC,KAAK,EAAE,IAAI;IAMlB,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAMhC;IAED;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAM5C;;OAEG;IACH,YAAY;IAgBZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE;IASlC,CAAC,OAAO,CAAC,MAAM,CAAC;WAMH,MAAM,CAAC,WAAW,SAAI,EAAE,mBAAmB,SAAI,EAAE,oBAAoB,SAAI;IAQtF,MAAM,CAAC,KAAK;CAGb"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/block/body.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAkC,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,qBAAa,IAAI;IACI,SAAS,EAAE,QAAQ,EAAE;gBAArB,SAAS,EAAE,QAAQ,EAAE;IAQxC,MAAM,CAAC,KAAK,EAAE,IAAI;IAMlB,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAMhC;IAED;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAM5C;;OAEG;IACH,YAAY;IAgBZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE;IASlC,CAAC,OAAO,CAAC,MAAM,CAAC;WAMH,MAAM,CACjB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,UAAU,GAAE,MAAM,GAAG,SAAqB;IAS5C,MAAM,CAAC,KAAK;CAGb"}
@@ -62,8 +62,8 @@ export class Body {
62
62
  txEffects: ${inspect(this.txEffects)},
63
63
  }`;
64
64
  }
65
- static async random(txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1) {
66
- const txEffects = await timesParallel(txsPerBlock, ()=>TxEffect.random(numPublicCallsPerTx, numPublicLogsPerCall));
65
+ static async random(txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, maxEffects = undefined) {
66
+ const txEffects = await timesParallel(txsPerBlock, ()=>TxEffect.random(numPublicCallsPerTx, numPublicLogsPerCall, maxEffects));
67
67
  return new Body(txEffects);
68
68
  }
69
69
  static empty() {
@@ -6,4 +6,5 @@ export * from './l2_block_number.js';
6
6
  export * from './l2_block_source.js';
7
7
  export * from './block_hash.js';
8
8
  export * from './published_l2_block.js';
9
+ export * from './proposal/index.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC"}
@@ -6,3 +6,4 @@ export * from './l2_block_number.js';
6
6
  export * from './l2_block_source.js';
7
7
  export * from './block_hash.js';
8
8
  export * from './published_l2_block.js';
9
+ export * from './proposal/index.js';
@@ -14,13 +14,14 @@ export declare class L2Block {
14
14
  header: BlockHeader;
15
15
  /** L2 block body. */
16
16
  body: Body;
17
+ private blockHash;
17
18
  constructor(
18
19
  /** Snapshot of archive tree after the block is applied. */
19
20
  archive: AppendOnlyTreeSnapshot,
20
21
  /** L2 block header. */
21
22
  header: BlockHeader,
22
23
  /** L2 block body. */
23
- body: Body);
24
+ body: Body, blockHash?: Fr | undefined);
24
25
  static get schema(): z.ZodEffects<z.ZodObject<{
25
26
  archive: z.ZodEffects<z.ZodObject<{
26
27
  root: z.ZodType<Fr, any, string>;
@@ -86,7 +87,7 @@ export declare class L2Block {
86
87
  * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
87
88
  * @returns The L2 block.
88
89
  */
89
- static random(l2BlockNum: number, txsPerBlock?: number, numPublicCallsPerTx?: number, numPublicLogsPerCall?: number, inHash?: Buffer | undefined, slotNumber?: number | undefined): Promise<L2Block>;
90
+ static random(l2BlockNum: number, txsPerBlock?: number, numPublicCallsPerTx?: number, numPublicLogsPerCall?: number, inHash?: Buffer | undefined, slotNumber?: number | undefined, maxEffects?: number | undefined): Promise<L2Block>;
90
91
  /**
91
92
  * Creates an L2 block containing empty data.
92
93
  * @returns The L2 block.
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;GAEG;AACH,qBAAa,OAAO;IAEhB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;;IALjB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IAGnB,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAS5C;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;OAQG;WACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,MAAM,GAAE,MAAM,GAAG,SAAqB,EACtC,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,OAAO,CAAC;IAUnB;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO;IAIvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;IAI1B;;;OAGG;IACH,QAAQ;;;;;;;;;IAuBR,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB"}
1
+ {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;GAEG;AACH,qBAAa,OAAO;IAEhB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,OAAO,CAAC,SAAS;;IANjB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI,EACT,SAAS,GAAE,EAAE,GAAG,SAAqB;IAG/C,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAS5C;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;OAQG;WACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,MAAM,GAAE,MAAM,GAAG,SAAqB,EACtC,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,OAAO,CAAC;IAUnB;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO;IAIvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;IAOhC;;;OAGG;IACH,QAAQ;;;;;;;;;IAuBR,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB"}
@@ -11,10 +11,12 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
11
11
  archive;
12
12
  header;
13
13
  body;
14
- constructor(/** Snapshot of archive tree after the block is applied. */ archive, /** L2 block header. */ header, /** L2 block body. */ body){
14
+ blockHash;
15
+ constructor(/** Snapshot of archive tree after the block is applied. */ archive, /** L2 block header. */ header, /** L2 block body. */ body, blockHash = undefined){
15
16
  this.archive = archive;
16
17
  this.header = header;
17
18
  this.body = body;
19
+ this.blockHash = blockHash;
18
20
  }
19
21
  static get schema() {
20
22
  return z.object({
@@ -60,8 +62,8 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
60
62
  * @param numPublicLogsPerCall - The number of public logs per 1 public function invocation.
61
63
  * @param inHash - The hash of the L1 to L2 messages subtree which got inserted in this block.
62
64
  * @returns The L2 block.
63
- */ static async random(l2BlockNum, txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, inHash = undefined, slotNumber = undefined) {
64
- const body = await Body.random(txsPerBlock, numPublicCallsPerTx, numPublicLogsPerCall);
65
+ */ static async random(l2BlockNum, txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, inHash = undefined, slotNumber = undefined, maxEffects = undefined) {
66
+ const body = await Body.random(txsPerBlock, numPublicCallsPerTx, numPublicLogsPerCall, maxEffects);
65
67
  return new L2Block(makeAppendOnlyTreeSnapshot(l2BlockNum + 1), makeHeader(0, txsPerBlock, l2BlockNum, slotNumber ?? l2BlockNum, inHash), body);
66
68
  }
67
69
  /**
@@ -76,8 +78,11 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
76
78
  /**
77
79
  * Returns the block's hash (hash of block header).
78
80
  * @returns The block's hash.
79
- */ hash() {
80
- return this.header.hash();
81
+ */ async hash() {
82
+ if (this.blockHash === undefined) {
83
+ this.blockHash = await this.header.hash();
84
+ }
85
+ return this.blockHash;
81
86
  }
82
87
  /**
83
88
  * Returns stats used for logging.
@@ -1,5 +1,5 @@
1
1
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
- import type { EventEmitter } from 'events';
2
+ import type { TypedEventEmitter } from '@aztec/foundation/types';
3
3
  import { z } from 'zod';
4
4
  import type { L1RollupConstants } from '../epoch-helpers/index.js';
5
5
  import type { BlockHeader } from '../tx/block_header.js';
@@ -106,7 +106,11 @@ export interface L2BlockSource {
106
106
  * L2BlockSource that emits events upon pending / proven chain changes.
107
107
  * see L2BlockSourceEvents for the events emitted.
108
108
  */
109
- export interface L2BlockSourceEventEmitter extends L2BlockSource, EventEmitter {
109
+ export type ArchiverEmitter = TypedEventEmitter<{
110
+ [L2BlockSourceEvents.L2PruneDetected]: (args: L2BlockSourceEvent) => void;
111
+ [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockSourceEvent) => void;
112
+ }>;
113
+ export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitter {
110
114
  }
111
115
  /**
112
116
  * Identifier for L2 block tags.
@@ -244,10 +248,11 @@ export declare const L2TipsSchema: z.ZodObject<{
244
248
  };
245
249
  }>;
246
250
  export declare enum L2BlockSourceEvents {
247
- L2PruneDetected = "l2PruneDetected"
251
+ L2PruneDetected = "l2PruneDetected",
252
+ L2BlockProven = "l2BlockProven"
248
253
  }
249
254
  export type L2BlockSourceEvent = {
250
- type: 'l2PruneDetected';
255
+ type: 'l2PruneDetected' | 'l2BlockProven';
251
256
  blockNumber: bigint;
252
257
  slotNumber: bigint;
253
258
  epochNumber: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
@@ -26,5 +26,6 @@ export const L2TipsSchema = z.object({
26
26
  });
27
27
  export var L2BlockSourceEvents = /*#__PURE__*/ function(L2BlockSourceEvents) {
28
28
  L2BlockSourceEvents["L2PruneDetected"] = "l2PruneDetected";
29
+ L2BlockSourceEvents["L2BlockProven"] = "l2BlockProven";
29
30
  return L2BlockSourceEvents;
30
31
  }({});
@@ -0,0 +1,34 @@
1
+ import type { ViemCommitteeAttestation } from '@aztec/ethereum';
2
+ import { EthAddress } from '@aztec/foundation/eth-address';
3
+ import { Signature } from '@aztec/foundation/eth-signature';
4
+ import { z } from 'zod';
5
+ export { Signature };
6
+ export { EthAddress };
7
+ export declare class CommitteeAttestation {
8
+ readonly address: EthAddress;
9
+ readonly signature: Signature;
10
+ constructor(address: EthAddress, signature: Signature);
11
+ static get schema(): z.ZodEffects<z.ZodObject<{
12
+ address: z.ZodType<EthAddress, any, string>;
13
+ signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, Signature, string>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ address: EthAddress;
16
+ signature: Signature;
17
+ }, {
18
+ address: string;
19
+ signature: string;
20
+ }>, CommitteeAttestation, {
21
+ address: string;
22
+ signature: string;
23
+ }>;
24
+ static fromAddress(address: EthAddress): CommitteeAttestation;
25
+ static fromAddressAndSignature(address: EthAddress, signature: Signature): CommitteeAttestation;
26
+ static fromViem(viem: ViemCommitteeAttestation): CommitteeAttestation;
27
+ static fromBuffer(buffer: Buffer): CommitteeAttestation;
28
+ static random(): CommitteeAttestation;
29
+ static empty(): CommitteeAttestation;
30
+ toBuffer(): Buffer;
31
+ equals(other: CommitteeAttestation): boolean;
32
+ toViem(): ViemCommitteeAttestation;
33
+ }
34
+ //# sourceMappingURL=committee_attestation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"committee_attestation.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/committee_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,qBAAa,oBAAoB;aAEb,OAAO,EAAE,UAAU;aACnB,SAAS,EAAE,SAAS;gBADpB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS;IAGtC,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAGD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,oBAAoB;IAK7D,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAG,oBAAoB;IAI/F,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,oBAAoB;IAIrE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAOvD,MAAM,CAAC,MAAM,IAAI,oBAAoB;IAKrC,MAAM,CAAC,KAAK,IAAI,oBAAoB;IAIpC,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO;IAI5C,MAAM,IAAI,wBAAwB;CAMnC"}
@@ -0,0 +1,59 @@
1
+ import { EthAddress } from '@aztec/foundation/eth-address';
2
+ import { Signature } from '@aztec/foundation/eth-signature';
3
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
+ import { z } from 'zod';
5
+ export { Signature };
6
+ export { EthAddress };
7
+ export class CommitteeAttestation {
8
+ address;
9
+ signature;
10
+ constructor(address, signature){
11
+ this.address = address;
12
+ this.signature = signature;
13
+ }
14
+ static get schema() {
15
+ return z.object({
16
+ address: EthAddress.schema,
17
+ signature: Signature.schema
18
+ }).transform(({ address, signature })=>new CommitteeAttestation(address, signature));
19
+ }
20
+ // Create an empty attestation for an address that has not signed
21
+ static fromAddress(address) {
22
+ return new CommitteeAttestation(address, Signature.empty());
23
+ }
24
+ // Create an attestation from an address and a signature
25
+ static fromAddressAndSignature(address, signature) {
26
+ return new CommitteeAttestation(address, signature);
27
+ }
28
+ static fromViem(viem) {
29
+ return new CommitteeAttestation(EthAddress.fromString(viem.addr), Signature.fromViemSignature(viem.signature));
30
+ }
31
+ static fromBuffer(buffer) {
32
+ const reader = BufferReader.asReader(buffer);
33
+ const address = reader.readObject(EthAddress);
34
+ const signature = reader.readObject(Signature);
35
+ return new CommitteeAttestation(address, signature);
36
+ }
37
+ static random() {
38
+ // note: will be invalid
39
+ return new CommitteeAttestation(EthAddress.random(), Signature.random());
40
+ }
41
+ static empty() {
42
+ return new CommitteeAttestation(EthAddress.ZERO, Signature.empty());
43
+ }
44
+ toBuffer() {
45
+ return serializeToBuffer([
46
+ this.address,
47
+ this.signature
48
+ ]);
49
+ }
50
+ equals(other) {
51
+ return this.address.equals(other.address) && this.signature.equals(other.signature);
52
+ }
53
+ toViem() {
54
+ return {
55
+ addr: this.address.toString(),
56
+ signature: this.signature.toViemSignature()
57
+ };
58
+ }
59
+ }
@@ -0,0 +1,2 @@
1
+ export * from './committee_attestation.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './committee_attestation.js';
@@ -1,54 +1,13 @@
1
- import { Signature } from '@aztec/foundation/eth-signature';
2
- import { L2Block } from '@aztec/stdlib/block';
3
1
  import { z } from 'zod';
4
2
  import { BlockAttestation } from '../p2p/block_attestation.js';
5
- export type L1PublishedData = {
3
+ import { L2Block } from './l2_block.js';
4
+ import { CommitteeAttestation } from './proposal/committee_attestation.js';
5
+ export declare class L1PublishedData {
6
6
  blockNumber: bigint;
7
7
  timestamp: bigint;
8
8
  blockHash: string;
9
- };
10
- export type PublishedL2Block = {
11
- block: L2Block;
12
- l1: L1PublishedData;
13
- signatures: Signature[];
14
- };
15
- export declare const PublishedL2BlockSchema: z.ZodObject<{
16
- block: z.ZodEffects<z.ZodObject<{
17
- archive: z.ZodEffects<z.ZodObject<{
18
- root: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
19
- nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
20
- }, "strip", z.ZodTypeAny, {
21
- root: import("@aztec/foundation/schemas").Fr;
22
- nextAvailableLeafIndex: number;
23
- }, {
24
- root: string;
25
- nextAvailableLeafIndex: string | number | bigint;
26
- }>, import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot, {
27
- root: string;
28
- nextAvailableLeafIndex: string | number | bigint;
29
- }>;
30
- header: import("@aztec/foundation/schemas").ZodFor<import("../tx/block_header.js").BlockHeader>;
31
- body: import("@aztec/foundation/schemas").ZodFor<import("@aztec/stdlib/block").Body>;
32
- }, "strip", z.ZodTypeAny, {
33
- archive: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
34
- header: import("../tx/block_header.js").BlockHeader;
35
- body: import("@aztec/stdlib/block").Body;
36
- }, {
37
- archive: {
38
- root: string;
39
- nextAvailableLeafIndex: string | number | bigint;
40
- };
41
- header?: any;
42
- body?: any;
43
- }>, L2Block, {
44
- archive: {
45
- root: string;
46
- nextAvailableLeafIndex: string | number | bigint;
47
- };
48
- header?: any;
49
- body?: any;
50
- }>;
51
- l1: z.ZodObject<{
9
+ constructor(blockNumber: bigint, timestamp: bigint, blockHash: string);
10
+ static get schema(): z.ZodObject<{
52
11
  blockNumber: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
53
12
  timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
54
13
  blockHash: z.ZodString;
@@ -61,30 +20,101 @@ export declare const PublishedL2BlockSchema: z.ZodObject<{
61
20
  timestamp: string | number | bigint;
62
21
  blockHash: string;
63
22
  }>;
64
- signatures: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, Signature, string>, "many">;
65
- }, "strip", z.ZodTypeAny, {
23
+ }
24
+ export declare class PublishedL2Block {
66
25
  block: L2Block;
67
- l1: {
68
- blockNumber: bigint;
69
- timestamp: bigint;
70
- blockHash: string;
71
- };
72
- signatures: Signature[];
73
- }, {
74
- block: {
75
- archive: {
76
- root: string;
77
- nextAvailableLeafIndex: string | number | bigint;
26
+ l1: L1PublishedData;
27
+ attestations: CommitteeAttestation[];
28
+ constructor(block: L2Block, l1: L1PublishedData, attestations: CommitteeAttestation[]);
29
+ static get schema(): z.ZodObject<{
30
+ block: z.ZodEffects<z.ZodObject<{
31
+ archive: z.ZodEffects<z.ZodObject<{
32
+ root: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
33
+ nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ root: import("@aztec/foundation/schemas").Fr;
36
+ nextAvailableLeafIndex: number;
37
+ }, {
38
+ root: string;
39
+ nextAvailableLeafIndex: string | number | bigint;
40
+ }>, import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot, {
41
+ root: string;
42
+ nextAvailableLeafIndex: string | number | bigint;
43
+ }>;
44
+ header: import("@aztec/foundation/schemas").ZodFor<import("../tx/block_header.js").BlockHeader>;
45
+ body: import("@aztec/foundation/schemas").ZodFor<import("./body.js").Body>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ archive: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
48
+ header: import("../tx/block_header.js").BlockHeader;
49
+ body: import("./body.js").Body;
50
+ }, {
51
+ archive: {
52
+ root: string;
53
+ nextAvailableLeafIndex: string | number | bigint;
54
+ };
55
+ header?: any;
56
+ body?: any;
57
+ }>, L2Block, {
58
+ archive: {
59
+ root: string;
60
+ nextAvailableLeafIndex: string | number | bigint;
61
+ };
62
+ header?: any;
63
+ body?: any;
64
+ }>;
65
+ l1: z.ZodObject<{
66
+ blockNumber: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
67
+ timestamp: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
68
+ blockHash: z.ZodString;
69
+ }, "strip", z.ZodTypeAny, {
70
+ blockNumber: bigint;
71
+ timestamp: bigint;
72
+ blockHash: string;
73
+ }, {
74
+ blockNumber: string | number | bigint;
75
+ timestamp: string | number | bigint;
76
+ blockHash: string;
77
+ }>;
78
+ attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
79
+ address: z.ZodType<import("@aztec/foundation/schemas").EthAddress, any, string>;
80
+ signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, import("./proposal/committee_attestation.js").Signature, string>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ address: import("@aztec/foundation/schemas").EthAddress;
83
+ signature: import("./proposal/committee_attestation.js").Signature;
84
+ }, {
85
+ address: string;
86
+ signature: string;
87
+ }>, CommitteeAttestation, {
88
+ address: string;
89
+ signature: string;
90
+ }>, "many">;
91
+ }, "strip", z.ZodTypeAny, {
92
+ block: L2Block;
93
+ l1: {
94
+ blockNumber: bigint;
95
+ timestamp: bigint;
96
+ blockHash: string;
78
97
  };
79
- header?: any;
80
- body?: any;
81
- };
82
- l1: {
83
- blockNumber: string | number | bigint;
84
- timestamp: string | number | bigint;
85
- blockHash: string;
86
- };
87
- signatures: string[];
88
- }>;
98
+ attestations: CommitteeAttestation[];
99
+ }, {
100
+ block: {
101
+ archive: {
102
+ root: string;
103
+ nextAvailableLeafIndex: string | number | bigint;
104
+ };
105
+ header?: any;
106
+ body?: any;
107
+ };
108
+ l1: {
109
+ blockNumber: string | number | bigint;
110
+ timestamp: string | number | bigint;
111
+ blockHash: string;
112
+ };
113
+ attestations: {
114
+ address: string;
115
+ signature: string;
116
+ }[];
117
+ }>;
118
+ }
89
119
  export declare function getAttestationsFromPublishedL2Block(block: PublishedL2Block): BlockAttestation[];
90
120
  //# sourceMappingURL=published_l2_block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"published_l2_block.d.ts","sourceRoot":"","sources":["../../src/block/published_l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,eAAe,CAAC;IACpB,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQjC,CAAC;AAEH,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,gBAAgB,sBAK1E"}
1
+ {"version":3,"file":"published_l2_block.d.ts","sourceRoot":"","sources":["../../src/block/published_l2_block.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,qBAAa,eAAe;IAEjB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,MAAM;gBAFjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;IAG1B,MAAM,KAAK,MAAM;;;;;;;;;;;;OAMhB;CACF;AAED,qBAAa,gBAAgB;IAElB,KAAK,EAAE,OAAO;IACd,EAAE,EAAE,eAAe;IACnB,YAAY,EAAE,oBAAoB,EAAE;gBAFpC,KAAK,EAAE,OAAO,EACd,EAAE,EAAE,eAAe,EACnB,YAAY,EAAE,oBAAoB,EAAE;IAG7C,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAMhB;CACF;AAED,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,gBAAgB,sBAQ1E"}
@@ -1,19 +1,45 @@
1
- import { Signature } from '@aztec/foundation/eth-signature';
1
+ // Ignoring import issue to fix portable inferred type issue in zod schema
2
2
  import { schemas } from '@aztec/foundation/schemas';
3
- import { L2Block } from '@aztec/stdlib/block';
4
3
  import { z } from 'zod';
5
4
  import { BlockAttestation } from '../p2p/block_attestation.js';
6
5
  import { ConsensusPayload } from '../p2p/consensus_payload.js';
7
- export const PublishedL2BlockSchema = z.object({
8
- block: L2Block.schema,
9
- l1: z.object({
10
- blockNumber: schemas.BigInt,
11
- timestamp: schemas.BigInt,
12
- blockHash: z.string()
13
- }),
14
- signatures: z.array(Signature.schema)
15
- });
6
+ import { L2Block } from './l2_block.js';
7
+ import { CommitteeAttestation } from './proposal/committee_attestation.js';
8
+ export class L1PublishedData {
9
+ blockNumber;
10
+ timestamp;
11
+ blockHash;
12
+ constructor(blockNumber, timestamp, blockHash){
13
+ this.blockNumber = blockNumber;
14
+ this.timestamp = timestamp;
15
+ this.blockHash = blockHash;
16
+ }
17
+ static get schema() {
18
+ return z.object({
19
+ blockNumber: schemas.BigInt,
20
+ timestamp: schemas.BigInt,
21
+ blockHash: z.string()
22
+ });
23
+ }
24
+ }
25
+ export class PublishedL2Block {
26
+ block;
27
+ l1;
28
+ attestations;
29
+ constructor(block, l1, attestations){
30
+ this.block = block;
31
+ this.l1 = l1;
32
+ this.attestations = attestations;
33
+ }
34
+ static get schema() {
35
+ return z.object({
36
+ block: L2Block.schema,
37
+ l1: L1PublishedData.schema,
38
+ attestations: z.array(CommitteeAttestation.schema)
39
+ });
40
+ }
41
+ }
16
42
  export function getAttestationsFromPublishedL2Block(block) {
17
43
  const payload = ConsensusPayload.fromBlock(block.block);
18
- return block.signatures.filter((sig)=>!sig.isEmpty).map((signature)=>new BlockAttestation(block.block.header.globalVariables.blockNumber, payload, signature));
44
+ return block.attestations.filter((attestation)=>!attestation.signature.isEmpty()).map((attestation)=>new BlockAttestation(block.block.header.globalVariables.blockNumber, payload, attestation.signature));
19
45
  }
@@ -18,7 +18,7 @@ export function testL2TipsStore(makeTipsStore) {
18
18
  blockHash: `0x${number}`,
19
19
  timestamp: BigInt(number)
20
20
  },
21
- signatures: []
21
+ attestations: []
22
22
  });
23
23
  const makeBlockId = (number)=>({
24
24
  number,