@aztec/stdlib 0.0.1-commit.9ef841308 → 0.0.1-commit.a4600f49

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 (1069) hide show
  1. package/dest/abi/abi.d.ts +121 -1197
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +31 -16
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +6 -2
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +13 -1
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/encoder.d.ts +1 -1
  13. package/dest/abi/encoder.d.ts.map +1 -1
  14. package/dest/abi/encoder.js +32 -6
  15. package/dest/abi/event_selector.d.ts +4 -7
  16. package/dest/abi/event_selector.d.ts.map +1 -1
  17. package/dest/abi/function_call.d.ts +7 -25
  18. package/dest/abi/function_call.d.ts.map +1 -1
  19. package/dest/abi/function_selector.d.ts +3 -6
  20. package/dest/abi/function_selector.d.ts.map +1 -1
  21. package/dest/abi/function_selector.js +1 -3
  22. package/dest/abi/note_selector.d.ts +4 -7
  23. package/dest/abi/note_selector.d.ts.map +1 -1
  24. package/dest/abi/note_selector.js +1 -3
  25. package/dest/abi/selector.d.ts +2 -2
  26. package/dest/abi/selector.d.ts.map +1 -1
  27. package/dest/abi/selector.js +1 -1
  28. package/dest/abi/utils.d.ts +1 -1
  29. package/dest/abi/utils.d.ts.map +1 -1
  30. package/dest/abi/utils.js +1 -1
  31. package/dest/auth_witness/auth_witness.d.ts +2 -2
  32. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  33. package/dest/avm/avm.d.ts +1756 -10463
  34. package/dest/avm/avm.d.ts.map +1 -1
  35. package/dest/avm/avm.js +7 -4
  36. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  37. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  38. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  39. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  40. package/dest/avm/avm_proving_request.d.ts +674 -5467
  41. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  42. package/dest/avm/index.d.ts +1 -6
  43. package/dest/avm/index.d.ts.map +1 -1
  44. package/dest/avm/index.js +0 -5
  45. package/dest/avm/message_pack.js +12 -3
  46. package/dest/avm/public_data_write.d.ts +6 -12
  47. package/dest/avm/public_data_write.d.ts.map +1 -1
  48. package/dest/avm/revert_code.d.ts +5 -21
  49. package/dest/avm/revert_code.d.ts.map +1 -1
  50. package/dest/avm/revert_code.js +12 -30
  51. package/dest/aztec-address/index.d.ts +42 -12
  52. package/dest/aztec-address/index.d.ts.map +1 -1
  53. package/dest/aztec-address/index.js +40 -13
  54. package/dest/block/attestation_info.d.ts +3 -2
  55. package/dest/block/attestation_info.d.ts.map +1 -1
  56. package/dest/block/attestation_info.js +10 -5
  57. package/dest/block/block_data.d.ts +13 -38
  58. package/dest/block/block_data.d.ts.map +1 -1
  59. package/dest/block/block_data.js +2 -2
  60. package/dest/block/block_hash.d.ts +11 -10
  61. package/dest/block/block_hash.d.ts.map +1 -1
  62. package/dest/block/block_hash.js +10 -9
  63. package/dest/block/block_parameter.d.ts +37 -4
  64. package/dest/block/block_parameter.d.ts.map +1 -1
  65. package/dest/block/block_parameter.js +53 -2
  66. package/dest/block/in_block.d.ts +5 -24
  67. package/dest/block/in_block.d.ts.map +1 -1
  68. package/dest/block/index.d.ts +1 -2
  69. package/dest/block/index.d.ts.map +1 -1
  70. package/dest/block/index.js +0 -1
  71. package/dest/block/l2_block.d.ts +13 -41
  72. package/dest/block/l2_block.d.ts.map +1 -1
  73. package/dest/block/l2_block_info.d.ts +10 -29
  74. package/dest/block/l2_block_info.d.ts.map +1 -1
  75. package/dest/block/l2_block_info.js +6 -5
  76. package/dest/block/l2_block_source.d.ts +228 -354
  77. package/dest/block/l2_block_source.d.ts.map +1 -1
  78. package/dest/block/l2_block_source.js +81 -1
  79. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  80. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  81. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  82. package/dest/block/l2_block_stream/index.d.ts +2 -1
  83. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  84. package/dest/block/l2_block_stream/index.js +1 -0
  85. package/dest/block/l2_block_stream/interfaces.d.ts +83 -10
  86. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  87. package/dest/block/l2_block_stream/interfaces.js +25 -1
  88. package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
  89. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  90. package/dest/block/l2_block_stream/l2_block_stream.js +159 -135
  91. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  92. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  93. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  94. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  95. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  96. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  97. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  98. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  99. package/dest/block/proposal/attestations_and_signers.js +73 -25
  100. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  101. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  102. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  103. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  104. package/dest/block/test/l2_tips_store_test_suite.js +296 -36
  105. package/dest/block/validate_block_result.d.ts +16 -1
  106. package/dest/block/validate_block_result.d.ts.map +1 -1
  107. package/dest/block/validate_block_result.js +18 -3
  108. package/dest/checkpoint/checkpoint.d.ts +30 -96
  109. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  110. package/dest/checkpoint/checkpoint.js +11 -3
  111. package/dest/checkpoint/checkpoint_data.d.ts +68 -91
  112. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  113. package/dest/checkpoint/checkpoint_data.js +12 -0
  114. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  115. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  116. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  117. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  118. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  119. package/dest/checkpoint/digest.d.ts +18 -0
  120. package/dest/checkpoint/digest.d.ts.map +1 -0
  121. package/dest/checkpoint/digest.js +12 -0
  122. package/dest/checkpoint/index.d.ts +5 -1
  123. package/dest/checkpoint/index.d.ts.map +1 -1
  124. package/dest/checkpoint/index.js +4 -0
  125. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  126. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  127. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  128. package/dest/checkpoint/published_checkpoint.d.ts +42 -194
  129. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  130. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  131. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  132. package/dest/checkpoint/simulation_overrides.js +98 -0
  133. package/dest/checkpoint/validate.d.ts +11 -3
  134. package/dest/checkpoint/validate.d.ts.map +1 -1
  135. package/dest/checkpoint/validate.js +9 -6
  136. package/dest/config/chain-config.d.ts +4 -9
  137. package/dest/config/chain-config.d.ts.map +1 -1
  138. package/dest/config/chain-config.js +13 -12
  139. package/dest/config/index.d.ts +2 -2
  140. package/dest/config/index.d.ts.map +1 -1
  141. package/dest/config/index.js +1 -1
  142. package/dest/config/network-consensus-config.d.ts +72 -0
  143. package/dest/config/network-consensus-config.d.ts.map +1 -0
  144. package/dest/config/network-consensus-config.js +223 -0
  145. package/dest/config/sequencer-config.d.ts +7 -3
  146. package/dest/config/sequencer-config.d.ts.map +1 -1
  147. package/dest/config/sequencer-config.js +38 -5
  148. package/dest/contract/complete_address.d.ts +3 -2
  149. package/dest/contract/complete_address.d.ts.map +1 -1
  150. package/dest/contract/complete_address.js +6 -2
  151. package/dest/contract/contract_address.d.ts +9 -8
  152. package/dest/contract/contract_address.d.ts.map +1 -1
  153. package/dest/contract/contract_address.js +5 -4
  154. package/dest/contract/contract_class.d.ts +1 -1
  155. package/dest/contract/contract_class.d.ts.map +1 -1
  156. package/dest/contract/contract_class.js +3 -2
  157. package/dest/contract/contract_deployment_data.d.ts +15 -61
  158. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  159. package/dest/contract/contract_instance.d.ts +19 -3
  160. package/dest/contract/contract_instance.d.ts.map +1 -1
  161. package/dest/contract/contract_instance.js +55 -3
  162. package/dest/contract/index.d.ts +1 -2
  163. package/dest/contract/index.d.ts.map +1 -1
  164. package/dest/contract/index.js +0 -1
  165. package/dest/contract/interfaces/contract_class.d.ts +15 -86
  166. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  167. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  168. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  169. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  170. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  171. package/dest/contract/interfaces/contract_instance.js +11 -4
  172. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  173. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  174. package/dest/contract/interfaces/node-info.d.ts +11 -1
  175. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  176. package/dest/contract/interfaces/node-info.js +7 -1
  177. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  178. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  179. package/dest/contract/partial_address.d.ts +9 -3
  180. package/dest/contract/partial_address.d.ts.map +1 -1
  181. package/dest/contract/partial_address.js +8 -2
  182. package/dest/contract/private_function.d.ts +1 -1
  183. package/dest/contract/private_function.d.ts.map +1 -1
  184. package/dest/contract/private_function.js +2 -4
  185. package/dest/database-version/database_version.d.ts +5 -11
  186. package/dest/database-version/database_version.d.ts.map +1 -1
  187. package/dest/database-version/version_manager.d.ts +22 -4
  188. package/dest/database-version/version_manager.d.ts.map +1 -1
  189. package/dest/database-version/version_manager.js +87 -6
  190. package/dest/deserialization/index.d.ts +35 -3
  191. package/dest/deserialization/index.d.ts.map +1 -1
  192. package/dest/deserialization/index.js +32 -1
  193. package/dest/epoch-helpers/index.d.ts +6 -22
  194. package/dest/epoch-helpers/index.d.ts.map +1 -1
  195. package/dest/epoch-helpers/index.js +3 -0
  196. package/dest/file-store/factory.d.ts +1 -1
  197. package/dest/file-store/factory.d.ts.map +1 -1
  198. package/dest/file-store/factory.js +7 -0
  199. package/dest/file-store/index.d.ts +2 -1
  200. package/dest/file-store/index.d.ts.map +1 -1
  201. package/dest/file-store/index.js +1 -0
  202. package/dest/file-store/memory.d.ts +24 -0
  203. package/dest/file-store/memory.d.ts.map +1 -0
  204. package/dest/file-store/memory.js +80 -0
  205. package/dest/gas/fee_math.d.ts +49 -0
  206. package/dest/gas/fee_math.d.ts.map +1 -0
  207. package/dest/gas/fee_math.js +80 -0
  208. package/dest/gas/gas.d.ts +9 -14
  209. package/dest/gas/gas.d.ts.map +1 -1
  210. package/dest/gas/gas.js +6 -3
  211. package/dest/gas/gas_fees.d.ts +13 -14
  212. package/dest/gas/gas_fees.d.ts.map +1 -1
  213. package/dest/gas/gas_fees.js +17 -4
  214. package/dest/gas/gas_settings.d.ts +60 -86
  215. package/dest/gas/gas_settings.d.ts.map +1 -1
  216. package/dest/gas/gas_settings.js +49 -9
  217. package/dest/gas/index.d.ts +3 -1
  218. package/dest/gas/index.d.ts.map +1 -1
  219. package/dest/gas/index.js +2 -0
  220. package/dest/gas/tx_gas_limits.d.ts +72 -0
  221. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  222. package/dest/gas/tx_gas_limits.js +85 -0
  223. package/dest/ha-signing/config.d.ts +29 -79
  224. package/dest/ha-signing/config.d.ts.map +1 -1
  225. package/dest/ha-signing/config.js +18 -21
  226. package/dest/ha-signing/index.d.ts +2 -2
  227. package/dest/ha-signing/index.d.ts.map +1 -1
  228. package/dest/ha-signing/index.js +1 -1
  229. package/dest/ha-signing/local_config.d.ts +12 -35
  230. package/dest/ha-signing/local_config.d.ts.map +1 -1
  231. package/dest/ha-signing/local_config.js +9 -3
  232. package/dest/ha-signing/types.d.ts +37 -32
  233. package/dest/ha-signing/types.d.ts.map +1 -1
  234. package/dest/ha-signing/types.js +13 -6
  235. package/dest/hash/hash.d.ts +16 -1
  236. package/dest/hash/hash.d.ts.map +1 -1
  237. package/dest/hash/hash.js +34 -2
  238. package/dest/interfaces/allowed_element.d.ts +4 -28
  239. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  240. package/dest/interfaces/api_limit.d.ts +1 -1
  241. package/dest/interfaces/api_limit.js +1 -1
  242. package/dest/interfaces/archiver.d.ts +20 -32
  243. package/dest/interfaces/archiver.d.ts.map +1 -1
  244. package/dest/interfaces/archiver.js +215 -70
  245. package/dest/interfaces/aztec-node-admin.d.ts +74 -302
  246. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  247. package/dest/interfaces/aztec-node-admin.js +60 -17
  248. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  249. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  250. package/dest/interfaces/aztec-node-debug.js +49 -0
  251. package/dest/interfaces/aztec-node.d.ts +160 -116
  252. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  253. package/dest/interfaces/aztec-node.js +350 -74
  254. package/dest/interfaces/block-builder.d.ts +5 -1
  255. package/dest/interfaces/block-builder.d.ts.map +1 -1
  256. package/dest/interfaces/block_response.d.ts +90 -0
  257. package/dest/interfaces/block_response.d.ts.map +1 -0
  258. package/dest/interfaces/block_response.js +30 -0
  259. package/dest/interfaces/chain_tips.d.ts +11 -0
  260. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  261. package/dest/interfaces/chain_tips.js +6 -0
  262. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  263. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  264. package/dest/interfaces/checkpoint_parameter.js +18 -0
  265. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  266. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  267. package/dest/interfaces/checkpoint_response.js +26 -0
  268. package/dest/interfaces/client.d.ts +9 -2
  269. package/dest/interfaces/client.d.ts.map +1 -1
  270. package/dest/interfaces/client.js +7 -1
  271. package/dest/interfaces/configs.d.ts +66 -134
  272. package/dest/interfaces/configs.d.ts.map +1 -1
  273. package/dest/interfaces/configs.js +14 -2
  274. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  275. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  276. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  277. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  278. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  279. package/dest/interfaces/l1_publish_info.js +26 -0
  280. package/dest/interfaces/l2_logs_source.d.ts +14 -36
  281. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  282. package/dest/interfaces/l2_logs_source.js +5 -0
  283. package/dest/interfaces/merkle_tree_operations.d.ts +11 -5
  284. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  285. package/dest/interfaces/p2p-bootstrap.js +8 -2
  286. package/dest/interfaces/p2p.d.ts +46 -7
  287. package/dest/interfaces/p2p.d.ts.map +1 -1
  288. package/dest/interfaces/p2p.js +41 -6
  289. package/dest/interfaces/private_kernel_prover.d.ts +131 -12
  290. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  291. package/dest/interfaces/prover-agent.d.ts +5 -23
  292. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  293. package/dest/interfaces/prover-agent.js +4 -1
  294. package/dest/interfaces/prover-client.d.ts +7 -29
  295. package/dest/interfaces/prover-client.d.ts.map +1 -1
  296. package/dest/interfaces/prover-client.js +0 -3
  297. package/dest/interfaces/prover-node.d.ts +12 -8
  298. package/dest/interfaces/prover-node.d.ts.map +1 -1
  299. package/dest/interfaces/prover-node.js +37 -16
  300. package/dest/interfaces/proving-job-source.js +24 -4
  301. package/dest/interfaces/proving-job.d.ts +727 -5778
  302. package/dest/interfaces/proving-job.d.ts.map +1 -1
  303. package/dest/interfaces/proving-job.js +3 -3
  304. package/dest/interfaces/public_storage_override.d.ts +22 -0
  305. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  306. package/dest/interfaces/public_storage_override.js +7 -0
  307. package/dest/interfaces/server.d.ts +6 -3
  308. package/dest/interfaces/server.d.ts.map +1 -1
  309. package/dest/interfaces/server.js +5 -2
  310. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  311. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  312. package/dest/interfaces/slasher.d.ts +25 -65
  313. package/dest/interfaces/slasher.d.ts.map +1 -1
  314. package/dest/interfaces/slasher.js +8 -4
  315. package/dest/interfaces/tx_provider.d.ts +6 -1
  316. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  317. package/dest/interfaces/validator.d.ts +58 -239
  318. package/dest/interfaces/validator.d.ts.map +1 -1
  319. package/dest/interfaces/validator.js +8 -1
  320. package/dest/interfaces/world_state.d.ts +15 -2
  321. package/dest/interfaces/world_state.d.ts.map +1 -1
  322. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  323. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  324. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  325. package/dest/kernel/hints/index.d.ts +1 -2
  326. package/dest/kernel/hints/index.d.ts.map +1 -1
  327. package/dest/kernel/hints/index.js +0 -1
  328. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  329. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  330. package/dest/kernel/hints/key_validation_request.js +20 -18
  331. package/dest/kernel/hints/read_request.js +1 -1
  332. package/dest/kernel/index.d.ts +10 -2
  333. package/dest/kernel/index.d.ts.map +1 -1
  334. package/dest/kernel/index.js +9 -1
  335. package/dest/kernel/log_hash.d.ts +6 -2
  336. package/dest/kernel/log_hash.d.ts.map +1 -1
  337. package/dest/kernel/log_hash.js +23 -11
  338. package/dest/kernel/note_hash.js +1 -1
  339. package/dest/kernel/nullifier.js +1 -1
  340. package/dest/kernel/private_circuit_public_inputs.d.ts +14 -4
  341. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  342. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  343. package/dest/kernel/private_context_inputs.d.ts +4 -3
  344. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  345. package/dest/kernel/private_context_inputs.js +7 -3
  346. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +8 -10
  347. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  348. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  349. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  350. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  351. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  352. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  353. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  354. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  355. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  356. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  357. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  358. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  359. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  360. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  361. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  362. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  363. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  364. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  365. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  366. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  367. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  368. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  369. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  370. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  371. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  372. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  373. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  374. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  375. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  376. package/dest/kernel/private_kernel_prover_output.d.ts +6 -29
  377. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  378. package/dest/kernel/private_kernel_prover_output.js +4 -1
  379. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  380. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  381. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  382. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  383. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  384. package/dest/kernel/private_kernel_simulated_output.d.ts +1 -7
  385. package/dest/kernel/private_kernel_simulated_output.d.ts.map +1 -1
  386. package/dest/kernel/private_kernel_simulated_output.js +2 -1
  387. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +9 -6
  388. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  389. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +22 -7
  390. package/dest/kernel/private_log_data.d.ts +1 -1
  391. package/dest/kernel/private_log_data.d.ts.map +1 -1
  392. package/dest/kernel/private_log_data.js +1 -1
  393. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  394. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  395. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  396. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  397. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  398. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  399. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +5 -4
  400. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  401. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -3
  402. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  403. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  404. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  405. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +5 -4
  406. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  407. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -3
  408. package/dest/kernel/public_call_request.d.ts +15 -30
  409. package/dest/kernel/public_call_request.d.ts.map +1 -1
  410. package/dest/kernel/public_call_request.js +16 -7
  411. package/dest/kernel/utils/index.d.ts +1 -2
  412. package/dest/kernel/utils/index.d.ts.map +1 -1
  413. package/dest/kernel/utils/index.js +0 -1
  414. package/dest/keys/derivation.d.ts +45 -5
  415. package/dest/keys/derivation.d.ts.map +1 -1
  416. package/dest/keys/derivation.js +59 -19
  417. package/dest/keys/public_key.d.ts +22 -3
  418. package/dest/keys/public_key.d.ts.map +1 -1
  419. package/dest/keys/public_key.js +20 -1
  420. package/dest/keys/public_keys.d.ts +55 -82
  421. package/dest/keys/public_keys.d.ts.map +1 -1
  422. package/dest/keys/public_keys.js +102 -74
  423. package/dest/kv-store/config.d.ts +3 -6
  424. package/dest/kv-store/config.d.ts.map +1 -1
  425. package/dest/kv-store/config.js +2 -7
  426. package/dest/l1-contracts/index.d.ts +2 -2
  427. package/dest/l1-contracts/index.d.ts.map +1 -1
  428. package/dest/l1-contracts/index.js +1 -1
  429. package/dest/logs/app_tagging_secret.d.ts +69 -0
  430. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  431. package/dest/logs/app_tagging_secret.js +125 -0
  432. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  433. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  434. package/dest/logs/app_tagging_secret_kind.js +17 -0
  435. package/dest/logs/contract_class_log.d.ts +16 -35
  436. package/dest/logs/contract_class_log.d.ts.map +1 -1
  437. package/dest/logs/contract_class_log.js +11 -13
  438. package/dest/logs/index.d.ts +7 -7
  439. package/dest/logs/index.d.ts.map +1 -1
  440. package/dest/logs/index.js +6 -6
  441. package/dest/logs/log_cursor.d.ts +51 -0
  442. package/dest/logs/log_cursor.d.ts.map +1 -0
  443. package/dest/logs/log_cursor.js +82 -0
  444. package/dest/logs/log_result.d.ts +54 -0
  445. package/dest/logs/log_result.d.ts.map +1 -0
  446. package/dest/logs/log_result.js +56 -0
  447. package/dest/logs/logs_query.d.ts +82 -0
  448. package/dest/logs/logs_query.d.ts.map +1 -0
  449. package/dest/logs/logs_query.js +50 -0
  450. package/dest/logs/message_context.d.ts +4 -13
  451. package/dest/logs/message_context.d.ts.map +1 -1
  452. package/dest/logs/message_context.js +1 -62
  453. package/dest/logs/pending_tagged_log.d.ts +6 -8
  454. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  455. package/dest/logs/pending_tagged_log.js +1 -31
  456. package/dest/logs/pre_tag.d.ts +11 -24
  457. package/dest/logs/pre_tag.d.ts.map +1 -1
  458. package/dest/logs/pre_tag.js +2 -2
  459. package/dest/logs/private_log.d.ts +7 -12
  460. package/dest/logs/private_log.d.ts.map +1 -1
  461. package/dest/logs/private_log.js +6 -3
  462. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  463. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  464. package/dest/logs/query_all_logs_by_tags.js +64 -0
  465. package/dest/logs/shared_secret_derivation.d.ts +19 -6
  466. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  467. package/dest/logs/shared_secret_derivation.js +26 -11
  468. package/dest/logs/siloed_tag.d.ts +5 -7
  469. package/dest/logs/siloed_tag.d.ts.map +1 -1
  470. package/dest/logs/siloed_tag.js +7 -1
  471. package/dest/logs/tag.d.ts +5 -6
  472. package/dest/logs/tag.d.ts.map +1 -1
  473. package/dest/logs/tag.js +4 -0
  474. package/dest/logs/tagging_index_range.d.ts +13 -31
  475. package/dest/logs/tagging_index_range.d.ts.map +1 -1
  476. package/dest/logs/tagging_index_range.js +2 -2
  477. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  478. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  479. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  480. package/dest/messaging/index.d.ts +2 -1
  481. package/dest/messaging/index.d.ts.map +1 -1
  482. package/dest/messaging/index.js +1 -0
  483. package/dest/messaging/l2_to_l1_membership.d.ts +43 -6
  484. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  485. package/dest/messaging/l2_to_l1_membership.js +72 -12
  486. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  487. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  488. package/dest/messaging/l2_to_l1_message.js +21 -12
  489. package/dest/noir/index.d.ts +3 -1
  490. package/dest/noir/index.d.ts.map +1 -1
  491. package/dest/note/note.d.ts +2 -2
  492. package/dest/note/note.d.ts.map +1 -1
  493. package/dest/p2p/attestation_utils.d.ts +1 -1
  494. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  495. package/dest/p2p/attestation_utils.js +8 -1
  496. package/dest/p2p/block_proposal.d.ts +31 -14
  497. package/dest/p2p/block_proposal.d.ts.map +1 -1
  498. package/dest/p2p/block_proposal.js +57 -39
  499. package/dest/p2p/checkpoint_attestation.d.ts +24 -9
  500. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  501. package/dest/p2p/checkpoint_attestation.js +33 -24
  502. package/dest/p2p/checkpoint_proposal.d.ts +36 -16
  503. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  504. package/dest/p2p/checkpoint_proposal.js +59 -51
  505. package/dest/p2p/consensus_payload.d.ts +27 -20
  506. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  507. package/dest/p2p/consensus_payload.js +38 -19
  508. package/dest/p2p/gossipable.d.ts +4 -4
  509. package/dest/p2p/gossipable.d.ts.map +1 -1
  510. package/dest/p2p/index.d.ts +1 -2
  511. package/dest/p2p/index.d.ts.map +1 -1
  512. package/dest/p2p/index.js +0 -1
  513. package/dest/p2p/signature_utils.d.ts +35 -17
  514. package/dest/p2p/signature_utils.d.ts.map +1 -1
  515. package/dest/p2p/signature_utils.js +125 -20
  516. package/dest/p2p/signed_txs.d.ts +15 -13
  517. package/dest/p2p/signed_txs.d.ts.map +1 -1
  518. package/dest/p2p/signed_txs.js +26 -24
  519. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  520. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  521. package/dest/parity/parity_base_private_inputs.js +7 -5
  522. package/dest/parity/parity_public_inputs.d.ts +8 -4
  523. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  524. package/dest/parity/parity_public_inputs.js +6 -3
  525. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  526. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  527. package/dest/proofs/chonk_proof.d.ts +17 -11
  528. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  529. package/dest/proofs/chonk_proof.js +44 -22
  530. package/dest/proofs/recursive_proof.d.ts +2 -2
  531. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  532. package/dest/rollup/avm_proof_data.d.ts +3 -3
  533. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  534. package/dest/rollup/block_headers_hash.d.ts +1 -1
  535. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  536. package/dest/rollup/block_headers_hash.js +8 -2
  537. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  538. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  539. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  540. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  541. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  542. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  543. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  544. package/dest/rollup/checkpoint_header.d.ts +8 -3
  545. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  546. package/dest/rollup/checkpoint_header.js +20 -10
  547. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  548. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  549. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  550. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  551. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  552. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  553. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  554. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  555. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  556. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  557. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  558. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  559. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  560. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  561. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  562. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  563. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  564. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  565. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  566. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  567. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  568. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  569. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  570. package/dest/schemas/schemas.d.ts +32 -78
  571. package/dest/schemas/schemas.d.ts.map +1 -1
  572. package/dest/schemas/schemas.js +2 -2
  573. package/dest/slashing/helpers.d.ts +2 -2
  574. package/dest/slashing/helpers.d.ts.map +1 -1
  575. package/dest/slashing/helpers.js +10 -7
  576. package/dest/slashing/index.d.ts +2 -3
  577. package/dest/slashing/index.d.ts.map +1 -1
  578. package/dest/slashing/index.js +1 -2
  579. package/dest/slashing/serialization.d.ts +2 -6
  580. package/dest/slashing/serialization.d.ts.map +1 -1
  581. package/dest/slashing/serialization.js +0 -60
  582. package/dest/slashing/types.d.ts +18 -112
  583. package/dest/slashing/types.d.ts.map +1 -1
  584. package/dest/slashing/types.js +16 -24
  585. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  586. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  587. package/dest/slashing/{tally.js → votes.js} +1 -1
  588. package/dest/snapshots/types.d.ts +15 -78
  589. package/dest/snapshots/types.d.ts.map +1 -1
  590. package/dest/stats/stats.d.ts +2 -2
  591. package/dest/stats/stats.d.ts.map +1 -1
  592. package/dest/tests/factories.d.ts +24 -55
  593. package/dest/tests/factories.d.ts.map +1 -1
  594. package/dest/tests/factories.js +81 -89
  595. package/dest/tests/mocks.d.ts +8 -5
  596. package/dest/tests/mocks.d.ts.map +1 -1
  597. package/dest/tests/mocks.js +45 -56
  598. package/dest/timetable/budgets.d.ts +57 -0
  599. package/dest/timetable/budgets.d.ts.map +1 -0
  600. package/dest/timetable/budgets.js +56 -0
  601. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  602. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  603. package/dest/timetable/build_proposer_timetable.js +17 -0
  604. package/dest/timetable/consensus_timetable.d.ts +70 -0
  605. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  606. package/dest/timetable/consensus_timetable.js +89 -0
  607. package/dest/timetable/index.d.ts +5 -37
  608. package/dest/timetable/index.d.ts.map +1 -1
  609. package/dest/timetable/index.js +4 -39
  610. package/dest/timetable/proposer_timetable.d.ts +106 -0
  611. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  612. package/dest/timetable/proposer_timetable.js +132 -0
  613. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  614. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  615. package/dest/trees/append_only_tree_snapshot.js +6 -3
  616. package/dest/trees/nullifier_leaf.d.ts +19 -42
  617. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  618. package/dest/trees/nullifier_leaf.js +3 -0
  619. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  620. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  621. package/dest/trees/nullifier_membership_witness.js +0 -21
  622. package/dest/trees/public_data_leaf.d.ts +21 -53
  623. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  624. package/dest/trees/public_data_witness.d.ts +19 -71
  625. package/dest/trees/public_data_witness.d.ts.map +1 -1
  626. package/dest/trees/public_data_witness.js +0 -27
  627. package/dest/tx/block_header.d.ts +5 -4
  628. package/dest/tx/block_header.d.ts.map +1 -1
  629. package/dest/tx/block_header.js +7 -4
  630. package/dest/tx/call_context.d.ts +4 -14
  631. package/dest/tx/call_context.d.ts.map +1 -1
  632. package/dest/tx/capsule.d.ts +2 -2
  633. package/dest/tx/capsule.d.ts.map +1 -1
  634. package/dest/tx/execution_payload.d.ts +1 -1
  635. package/dest/tx/execution_payload.d.ts.map +1 -1
  636. package/dest/tx/execution_payload.js +1 -1
  637. package/dest/tx/fee_provider.d.ts +10 -0
  638. package/dest/tx/fee_provider.d.ts.map +1 -0
  639. package/dest/tx/fee_provider.js +1 -0
  640. package/dest/tx/function_data.d.ts +4 -10
  641. package/dest/tx/function_data.d.ts.map +1 -1
  642. package/dest/tx/global_variable_builder.d.ts +4 -15
  643. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  644. package/dest/tx/global_variables.d.ts +16 -49
  645. package/dest/tx/global_variables.d.ts.map +1 -1
  646. package/dest/tx/global_variables.js +10 -14
  647. package/dest/tx/hashed_values.d.ts +4 -3
  648. package/dest/tx/hashed_values.d.ts.map +1 -1
  649. package/dest/tx/hashed_values.js +6 -3
  650. package/dest/tx/in_tx.d.ts +5 -17
  651. package/dest/tx/in_tx.d.ts.map +1 -1
  652. package/dest/tx/index.d.ts +2 -2
  653. package/dest/tx/index.d.ts.map +1 -1
  654. package/dest/tx/index.js +1 -1
  655. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  656. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  657. package/dest/tx/indexed_tx_effect.js +9 -6
  658. package/dest/tx/partial_state_reference.d.ts +22 -65
  659. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  660. package/dest/tx/partial_state_reference.js +6 -3
  661. package/dest/tx/private_execution_result.d.ts +6 -16
  662. package/dest/tx/private_execution_result.d.ts.map +1 -1
  663. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  664. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  665. package/dest/tx/private_tx_constant_data.js +13 -4
  666. package/dest/tx/profiling.d.ts +54 -352
  667. package/dest/tx/profiling.d.ts.map +1 -1
  668. package/dest/tx/profiling.js +6 -4
  669. package/dest/tx/protocol_contracts.d.ts +5 -9
  670. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  671. package/dest/tx/proven_tx.d.ts +30 -74
  672. package/dest/tx/proven_tx.d.ts.map +1 -1
  673. package/dest/tx/proven_tx.js +6 -0
  674. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  675. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  676. package/dest/tx/public_call_request_with_calldata.js +6 -3
  677. package/dest/tx/simulated_tx.d.ts +73 -1256
  678. package/dest/tx/simulated_tx.d.ts.map +1 -1
  679. package/dest/tx/simulated_tx.js +13 -11
  680. package/dest/tx/state_reference.d.ts +30 -117
  681. package/dest/tx/state_reference.d.ts.map +1 -1
  682. package/dest/tx/state_reference.js +6 -4
  683. package/dest/tx/tree_snapshots.d.ts +27 -84
  684. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  685. package/dest/tx/tree_snapshots.js +6 -4
  686. package/dest/tx/tx.d.ts +22 -13
  687. package/dest/tx/tx.d.ts.map +1 -1
  688. package/dest/tx/tx.js +44 -22
  689. package/dest/tx/tx_constant_data.d.ts +4 -3
  690. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  691. package/dest/tx/tx_constant_data.js +6 -3
  692. package/dest/tx/tx_context.d.ts +32 -131
  693. package/dest/tx/tx_context.d.ts.map +1 -1
  694. package/dest/tx/tx_context.js +6 -6
  695. package/dest/tx/tx_hash.d.ts +6 -4
  696. package/dest/tx/tx_hash.d.ts.map +1 -1
  697. package/dest/tx/tx_hash.js +13 -5
  698. package/dest/tx/tx_receipt.d.ts +144 -63
  699. package/dest/tx/tx_receipt.d.ts.map +1 -1
  700. package/dest/tx/tx_receipt.js +143 -60
  701. package/dest/tx/validator/error_texts.d.ts +2 -2
  702. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  703. package/dest/tx/validator/error_texts.js +1 -1
  704. package/dest/tx/validator/tx_validator.d.ts +5 -27
  705. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  706. package/dest/tx/validator/tx_validator.js +0 -4
  707. package/dest/types/shared.d.ts +4 -12
  708. package/dest/types/shared.d.ts.map +1 -1
  709. package/dest/types/shared.js +6 -12
  710. package/dest/update-checker/dev_version.d.ts +3 -0
  711. package/dest/update-checker/dev_version.d.ts.map +1 -0
  712. package/dest/update-checker/dev_version.js +1 -0
  713. package/dest/update-checker/index.d.ts +2 -1
  714. package/dest/update-checker/index.d.ts.map +1 -1
  715. package/dest/update-checker/index.js +1 -0
  716. package/dest/update-checker/package_version.d.ts +6 -3
  717. package/dest/update-checker/package_version.d.ts.map +1 -1
  718. package/dest/update-checker/package_version.js +8 -19
  719. package/dest/validators/schemas.d.ts +147 -614
  720. package/dest/validators/schemas.d.ts.map +1 -1
  721. package/dest/validators/schemas.js +6 -4
  722. package/dest/validators/types.d.ts +20 -3
  723. package/dest/validators/types.d.ts.map +1 -1
  724. package/dest/versioning/versioning.js +1 -1
  725. package/dest/vks/verification_key.d.ts +4 -139
  726. package/dest/vks/verification_key.d.ts.map +1 -1
  727. package/dest/vks/verification_key.js +5 -126
  728. package/dest/world-state/genesis_data.d.ts +13 -0
  729. package/dest/world-state/genesis_data.d.ts.map +1 -0
  730. package/dest/world-state/genesis_data.js +7 -0
  731. package/dest/world-state/index.d.ts +2 -1
  732. package/dest/world-state/index.d.ts.map +1 -1
  733. package/dest/world-state/index.js +1 -0
  734. package/dest/world-state/world_state_revision.d.ts +11 -39
  735. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  736. package/dest/world-state/world_state_revision.js +7 -21
  737. package/package.json +12 -11
  738. package/src/abi/abi.ts +53 -19
  739. package/src/abi/authorization_selector.ts +2 -8
  740. package/src/abi/buffer.ts +13 -1
  741. package/src/abi/contract_artifact.ts +11 -6
  742. package/src/abi/encoder.ts +42 -6
  743. package/src/abi/event_selector.ts +2 -8
  744. package/src/abi/function_selector.ts +3 -12
  745. package/src/abi/note_selector.ts +3 -12
  746. package/src/abi/selector.ts +1 -1
  747. package/src/abi/utils.ts +6 -4
  748. package/src/avm/avm.ts +6 -1
  749. package/src/avm/index.ts +0 -5
  750. package/src/avm/message_pack.ts +12 -3
  751. package/src/avm/revert_code.ts +19 -39
  752. package/src/aztec-address/index.ts +50 -17
  753. package/src/block/attestation_info.ts +16 -11
  754. package/src/block/block_data.ts +3 -4
  755. package/src/block/block_hash.ts +21 -14
  756. package/src/block/block_parameter.ts +72 -4
  757. package/src/block/index.ts +0 -1
  758. package/src/block/l2_block_info.ts +8 -6
  759. package/src/block/l2_block_source.ts +258 -144
  760. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  761. package/src/block/l2_block_stream/index.ts +1 -0
  762. package/src/block/l2_block_stream/interfaces.ts +99 -9
  763. package/src/block/l2_block_stream/l2_block_stream.ts +229 -177
  764. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  765. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  766. package/src/block/proposal/attestations_and_signers.ts +85 -24
  767. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  768. package/src/block/validate_block_result.ts +48 -2
  769. package/src/checkpoint/checkpoint.ts +13 -3
  770. package/src/checkpoint/checkpoint_data.ts +44 -4
  771. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  772. package/src/checkpoint/digest.ts +28 -0
  773. package/src/checkpoint/index.ts +4 -0
  774. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  775. package/src/checkpoint/simulation_overrides.ts +171 -0
  776. package/src/checkpoint/validate.ts +16 -6
  777. package/src/config/chain-config.ts +13 -16
  778. package/src/config/index.ts +1 -1
  779. package/src/config/network-consensus-config.ts +291 -0
  780. package/src/config/sequencer-config.ts +68 -9
  781. package/src/contract/complete_address.ts +7 -3
  782. package/src/contract/contract_address.ts +10 -9
  783. package/src/contract/contract_class.ts +3 -2
  784. package/src/contract/contract_instance.ts +73 -3
  785. package/src/contract/index.ts +0 -1
  786. package/src/contract/interfaces/contract_data_source.ts +2 -4
  787. package/src/contract/interfaces/contract_instance.ts +32 -10
  788. package/src/contract/interfaces/node-info.ts +11 -0
  789. package/src/contract/partial_address.ts +8 -2
  790. package/src/contract/private_function.ts +3 -1
  791. package/src/database-version/version_manager.ts +113 -6
  792. package/src/deserialization/index.ts +35 -2
  793. package/src/epoch-helpers/index.ts +5 -0
  794. package/src/file-store/factory.ts +7 -0
  795. package/src/file-store/index.ts +1 -0
  796. package/src/file-store/memory.ts +94 -0
  797. package/src/gas/README.md +123 -0
  798. package/src/gas/fee_math.ts +120 -0
  799. package/src/gas/gas.ts +8 -3
  800. package/src/gas/gas_fees.ts +26 -13
  801. package/src/gas/gas_settings.ts +63 -15
  802. package/src/gas/index.ts +2 -0
  803. package/src/gas/tx_gas_limits.ts +123 -0
  804. package/src/ha-signing/config.ts +37 -23
  805. package/src/ha-signing/index.ts +3 -1
  806. package/src/ha-signing/local_config.ts +21 -2
  807. package/src/ha-signing/types.ts +48 -34
  808. package/src/hash/hash.ts +29 -2
  809. package/src/interfaces/api_limit.ts +1 -1
  810. package/src/interfaces/archiver.ts +88 -93
  811. package/src/interfaces/aztec-node-admin.ts +36 -21
  812. package/src/interfaces/aztec-node-debug.ts +92 -0
  813. package/src/interfaces/aztec-node.ts +398 -271
  814. package/src/interfaces/block-builder.ts +4 -0
  815. package/src/interfaces/block_response.ts +92 -0
  816. package/src/interfaces/chain_tips.ts +16 -0
  817. package/src/interfaces/checkpoint_parameter.ts +20 -0
  818. package/src/interfaces/checkpoint_response.ts +84 -0
  819. package/src/interfaces/client.ts +8 -1
  820. package/src/interfaces/configs.ts +67 -7
  821. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  822. package/src/interfaces/l1_publish_info.ts +40 -0
  823. package/src/interfaces/l2_logs_source.ts +13 -42
  824. package/src/interfaces/merkle_tree_operations.ts +11 -4
  825. package/src/interfaces/p2p-bootstrap.ts +2 -2
  826. package/src/interfaces/p2p.ts +59 -19
  827. package/src/interfaces/private_kernel_prover.ts +192 -13
  828. package/src/interfaces/prover-agent.ts +1 -1
  829. package/src/interfaces/prover-client.ts +3 -8
  830. package/src/interfaces/prover-node.ts +36 -21
  831. package/src/interfaces/proving-job-source.ts +4 -4
  832. package/src/interfaces/proving-job.ts +6 -6
  833. package/src/interfaces/public_storage_override.ts +26 -0
  834. package/src/interfaces/server.ts +5 -2
  835. package/src/interfaces/server_circuit_prover.ts +2 -2
  836. package/src/interfaces/slasher.ts +17 -10
  837. package/src/interfaces/tx_provider.ts +6 -0
  838. package/src/interfaces/validator.ts +44 -10
  839. package/src/interfaces/world_state.ts +15 -1
  840. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  841. package/src/kernel/hints/index.ts +0 -1
  842. package/src/kernel/hints/key_validation_request.ts +18 -16
  843. package/src/kernel/hints/read_request.ts +1 -1
  844. package/src/kernel/index.ts +9 -1
  845. package/src/kernel/log_hash.ts +36 -13
  846. package/src/kernel/note_hash.ts +1 -1
  847. package/src/kernel/nullifier.ts +1 -1
  848. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  849. package/src/kernel/private_context_inputs.ts +10 -3
  850. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  851. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  852. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  853. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  854. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  855. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  856. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  857. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  858. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  859. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  860. package/src/kernel/private_kernel_prover_output.ts +4 -0
  861. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  862. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  863. package/src/kernel/private_kernel_simulated_output.ts +0 -7
  864. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +29 -14
  865. package/src/kernel/private_log_data.ts +4 -1
  866. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  867. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  868. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +10 -4
  869. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  870. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +9 -9
  871. package/src/kernel/public_call_request.ts +22 -7
  872. package/src/kernel/utils/index.ts +0 -1
  873. package/src/keys/derivation.ts +81 -19
  874. package/src/keys/public_key.ts +26 -2
  875. package/src/keys/public_keys.ts +124 -110
  876. package/src/kv-store/config.ts +3 -10
  877. package/src/l1-contracts/index.ts +1 -1
  878. package/src/logs/app_tagging_secret.ts +169 -0
  879. package/src/logs/app_tagging_secret_kind.ts +21 -0
  880. package/src/logs/contract_class_log.ts +15 -14
  881. package/src/logs/index.ts +6 -6
  882. package/src/logs/log_cursor.ts +110 -0
  883. package/src/logs/log_result.ts +104 -0
  884. package/src/logs/logs_query.ts +138 -0
  885. package/src/logs/message_context.ts +6 -60
  886. package/src/logs/pending_tagged_log.ts +6 -33
  887. package/src/logs/pre_tag.ts +3 -6
  888. package/src/logs/private_log.ts +9 -3
  889. package/src/logs/query_all_logs_by_tags.ts +98 -0
  890. package/src/logs/shared_secret_derivation.ts +31 -15
  891. package/src/logs/siloed_tag.ts +14 -10
  892. package/src/logs/tag.ts +8 -8
  893. package/src/logs/tagging_index_range.ts +4 -10
  894. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  895. package/src/messaging/index.ts +1 -0
  896. package/src/messaging/l2_to_l1_membership.ts +108 -19
  897. package/src/messaging/l2_to_l1_message.ts +29 -9
  898. package/src/noir/index.ts +2 -0
  899. package/src/p2p/attestation_utils.ts +8 -1
  900. package/src/p2p/block_proposal.ts +111 -36
  901. package/src/p2p/checkpoint_attestation.ts +38 -30
  902. package/src/p2p/checkpoint_proposal.ts +128 -73
  903. package/src/p2p/consensus_payload.ts +59 -28
  904. package/src/p2p/gossipable.ts +4 -4
  905. package/src/p2p/index.ts +0 -1
  906. package/src/p2p/signature_utils.ts +117 -23
  907. package/src/p2p/signed_txs.ts +46 -28
  908. package/src/parity/parity_base_private_inputs.ts +10 -4
  909. package/src/parity/parity_public_inputs.ts +9 -2
  910. package/src/proofs/chonk_proof.ts +49 -15
  911. package/src/rollup/avm_proof_data.ts +2 -2
  912. package/src/rollup/block_headers_hash.ts +11 -2
  913. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  914. package/src/rollup/checkpoint_header.ts +16 -2
  915. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  916. package/src/schemas/schemas.ts +6 -1
  917. package/src/slashing/helpers.ts +13 -9
  918. package/src/slashing/index.ts +1 -2
  919. package/src/slashing/serialization.ts +1 -81
  920. package/src/slashing/types.ts +24 -49
  921. package/src/slashing/{tally.ts → votes.ts} +1 -1
  922. package/src/stats/stats.ts +10 -2
  923. package/src/tests/factories.ts +111 -124
  924. package/src/tests/mocks.ts +72 -71
  925. package/src/timetable/README.md +609 -0
  926. package/src/timetable/budgets.ts +87 -0
  927. package/src/timetable/build_proposer_timetable.ts +42 -0
  928. package/src/timetable/consensus_timetable.ts +126 -0
  929. package/src/timetable/index.ts +4 -66
  930. package/src/timetable/proposer_timetable.ts +190 -0
  931. package/src/timetable/timetable-example.svg +108 -0
  932. package/src/trees/append_only_tree_snapshot.ts +8 -3
  933. package/src/trees/nullifier_leaf.ts +4 -0
  934. package/src/trees/nullifier_membership_witness.ts +0 -21
  935. package/src/trees/public_data_witness.ts +0 -31
  936. package/src/tx/block_header.ts +10 -5
  937. package/src/tx/execution_payload.ts +2 -1
  938. package/src/tx/fee_provider.ts +10 -0
  939. package/src/tx/global_variable_builder.ts +3 -20
  940. package/src/tx/global_variables.ts +12 -20
  941. package/src/tx/hashed_values.ts +8 -3
  942. package/src/tx/index.ts +1 -1
  943. package/src/tx/indexed_tx_effect.ts +18 -6
  944. package/src/tx/partial_state_reference.ts +8 -3
  945. package/src/tx/private_tx_constant_data.ts +25 -2
  946. package/src/tx/profiling.ts +6 -4
  947. package/src/tx/proven_tx.ts +6 -0
  948. package/src/tx/public_call_request_with_calldata.ts +8 -3
  949. package/src/tx/simulated_tx.ts +22 -21
  950. package/src/tx/state_reference.ts +9 -4
  951. package/src/tx/tree_snapshots.ts +9 -4
  952. package/src/tx/tx.ts +60 -24
  953. package/src/tx/tx_constant_data.ts +8 -3
  954. package/src/tx/tx_context.ts +8 -3
  955. package/src/tx/tx_hash.ts +20 -5
  956. package/src/tx/tx_receipt.ts +265 -85
  957. package/src/tx/validator/error_texts.ts +2 -1
  958. package/src/tx/validator/tx_validator.ts +1 -5
  959. package/src/types/shared.ts +8 -13
  960. package/src/update-checker/dev_version.ts +2 -0
  961. package/src/update-checker/index.ts +1 -0
  962. package/src/update-checker/package_version.ts +10 -23
  963. package/src/validators/schemas.ts +6 -4
  964. package/src/validators/types.ts +21 -2
  965. package/src/versioning/versioning.ts +1 -1
  966. package/src/vks/verification_key.ts +5 -184
  967. package/src/world-state/genesis_data.ts +27 -0
  968. package/src/world-state/index.ts +1 -0
  969. package/src/world-state/world_state_revision.ts +9 -34
  970. package/dest/abi/mocked_keys.d.ts +0 -2
  971. package/dest/abi/mocked_keys.d.ts.map +0 -1
  972. package/dest/abi/mocked_keys.js +0 -1
  973. package/dest/avm/contract_storage_read.d.ts +0 -58
  974. package/dest/avm/contract_storage_read.d.ts.map +0 -1
  975. package/dest/avm/contract_storage_read.js +0 -65
  976. package/dest/avm/contract_storage_update_request.d.ts +0 -65
  977. package/dest/avm/contract_storage_update_request.d.ts.map +0 -1
  978. package/dest/avm/contract_storage_update_request.js +0 -80
  979. package/dest/avm/public_call_stack_item_compressed.d.ts +0 -43
  980. package/dest/avm/public_call_stack_item_compressed.d.ts.map +0 -1
  981. package/dest/avm/public_call_stack_item_compressed.js +0 -70
  982. package/dest/avm/public_data_update_request.d.ts +0 -62
  983. package/dest/avm/public_data_update_request.d.ts.map +0 -1
  984. package/dest/avm/public_data_update_request.js +0 -67
  985. package/dest/avm/public_inner_call_request.d.ts +0 -50
  986. package/dest/avm/public_inner_call_request.d.ts.map +0 -1
  987. package/dest/avm/public_inner_call_request.js +0 -74
  988. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  989. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  990. package/dest/block/checkpointed_l2_block.js +0 -46
  991. package/dest/config/pipelining-config.d.ts +0 -19
  992. package/dest/config/pipelining-config.d.ts.map +0 -1
  993. package/dest/config/pipelining-config.js +0 -18
  994. package/dest/contract/deployment_info.d.ts +0 -24
  995. package/dest/contract/deployment_info.d.ts.map +0 -1
  996. package/dest/contract/deployment_info.js +0 -3
  997. package/dest/interfaces/epoch-prover.d.ts +0 -57
  998. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  999. package/dest/interfaces/epoch-prover.js +0 -1
  1000. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1001. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1002. package/dest/interfaces/get_logs_response.js +0 -12
  1003. package/dest/interfaces/prover-coordination.d.ts +0 -15
  1004. package/dest/interfaces/prover-coordination.d.ts.map +0 -1
  1005. package/dest/interfaces/prover-coordination.js +0 -1
  1006. package/dest/kernel/hints/tree_leaf_read_request.d.ts +0 -14
  1007. package/dest/kernel/hints/tree_leaf_read_request.d.ts.map +0 -1
  1008. package/dest/kernel/hints/tree_leaf_read_request.js +0 -33
  1009. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1010. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1011. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1012. package/dest/kernel/utils/optional_number.d.ts +0 -31
  1013. package/dest/kernel/utils/optional_number.d.ts.map +0 -1
  1014. package/dest/kernel/utils/optional_number.js +0 -42
  1015. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1016. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1017. package/dest/l1-contracts/slash_factory.js +0 -158
  1018. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1019. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1020. package/dest/logs/extended_contract_class_log.js +0 -67
  1021. package/dest/logs/extended_directional_app_tagging_secret.d.ts +0 -47
  1022. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +0 -1
  1023. package/dest/logs/extended_directional_app_tagging_secret.js +0 -72
  1024. package/dest/logs/extended_public_log.d.ts +0 -106
  1025. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1026. package/dest/logs/extended_public_log.js +0 -73
  1027. package/dest/logs/log_filter.d.ts +0 -25
  1028. package/dest/logs/log_filter.d.ts.map +0 -1
  1029. package/dest/logs/log_filter.js +0 -12
  1030. package/dest/logs/log_id.d.ts +0 -85
  1031. package/dest/logs/log_id.d.ts.map +0 -1
  1032. package/dest/logs/log_id.js +0 -94
  1033. package/dest/logs/tx_scoped_l2_log.d.ts +0 -51
  1034. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1035. package/dest/logs/tx_scoped_l2_log.js +0 -77
  1036. package/dest/p2p/interface.d.ts +0 -5
  1037. package/dest/p2p/interface.d.ts.map +0 -1
  1038. package/dest/p2p/interface.js +0 -1
  1039. package/dest/slashing/empire.d.ts +0 -31
  1040. package/dest/slashing/empire.d.ts.map +0 -1
  1041. package/dest/slashing/empire.js +0 -87
  1042. package/dest/tx/validator/empty_validator.d.ts +0 -5
  1043. package/dest/tx/validator/empty_validator.d.ts.map +0 -1
  1044. package/dest/tx/validator/empty_validator.js +0 -7
  1045. package/src/abi/mocked_keys.ts +0 -2
  1046. package/src/avm/contract_storage_read.ts +0 -77
  1047. package/src/avm/contract_storage_update_request.ts +0 -93
  1048. package/src/avm/public_call_stack_item_compressed.ts +0 -113
  1049. package/src/avm/public_data_update_request.ts +0 -106
  1050. package/src/avm/public_inner_call_request.ts +0 -85
  1051. package/src/block/checkpointed_l2_block.ts +0 -70
  1052. package/src/config/pipelining-config.ts +0 -31
  1053. package/src/contract/deployment_info.ts +0 -25
  1054. package/src/interfaces/epoch-prover.ts +0 -72
  1055. package/src/interfaces/get_logs_response.ts +0 -35
  1056. package/src/interfaces/prover-coordination.ts +0 -17
  1057. package/src/kernel/hints/tree_leaf_read_request.ts +0 -35
  1058. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1059. package/src/kernel/utils/optional_number.ts +0 -50
  1060. package/src/l1-contracts/slash_factory.ts +0 -180
  1061. package/src/logs/extended_contract_class_log.ts +0 -87
  1062. package/src/logs/extended_directional_app_tagging_secret.ts +0 -87
  1063. package/src/logs/extended_public_log.ts +0 -94
  1064. package/src/logs/log_filter.ts +0 -36
  1065. package/src/logs/log_id.ts +0 -125
  1066. package/src/logs/tx_scoped_l2_log.ts +0 -114
  1067. package/src/p2p/interface.ts +0 -4
  1068. package/src/slashing/empire.ts +0 -104
  1069. package/src/tx/validator/empty_validator.ts +0 -7
@@ -1,7 +1,7 @@
1
1
  import { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import { schemas } from '@aztec/foundation/schemas';
4
- import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
+ import { BufferReader, BufferSink, FieldReader, serializeToFields, serializeToSink } from '@aztec/foundation/serialize';
5
5
  import { z } from 'zod';
6
6
  import { AztecAddress } from '../aztec-address/index.js';
7
7
  export class L2ToL1Message {
@@ -39,11 +39,11 @@ export class L2ToL1Message {
39
39
  */ equals(other) {
40
40
  return this.recipient.equals(other.recipient) && this.content.equals(other.content);
41
41
  }
42
- /**
43
- * Serialize this as a buffer.
44
- * @returns The buffer.
45
- */ toBuffer() {
46
- return serializeToBuffer(this.recipient, this.content);
42
+ toBuffer(sink) {
43
+ if (!sink) {
44
+ return BufferSink.serialize(this);
45
+ }
46
+ serializeToSink(sink, this.recipient, this.content);
47
47
  }
48
48
  /**
49
49
  * Serializes the L2ToL1Message into an array of fields.
@@ -103,8 +103,11 @@ export class CountedL2ToL1Message {
103
103
  const reader = BufferReader.asReader(buffer);
104
104
  return new CountedL2ToL1Message(reader.readObject(L2ToL1Message), reader.readNumber());
105
105
  }
106
- toBuffer() {
107
- return serializeToBuffer(this.message, this.counter);
106
+ toBuffer(sink) {
107
+ if (!sink) {
108
+ return BufferSink.serialize(this);
109
+ }
110
+ serializeToSink(sink, this.message, this.counter);
108
111
  }
109
112
  static fromFields(fields) {
110
113
  const reader = FieldReader.asReader(fields);
@@ -149,8 +152,11 @@ export class ScopedL2ToL1Message {
149
152
  const reader = BufferReader.asReader(buffer);
150
153
  return new ScopedL2ToL1Message(reader.readObject(L2ToL1Message), reader.readObject(AztecAddress));
151
154
  }
152
- toBuffer() {
153
- return serializeToBuffer(this.message, this.contractAddress);
155
+ toBuffer(sink) {
156
+ if (!sink) {
157
+ return BufferSink.serialize(this);
158
+ }
159
+ serializeToSink(sink, this.message, this.contractAddress);
154
160
  }
155
161
  static fromFields(fields) {
156
162
  const reader = FieldReader.asReader(fields);
@@ -183,8 +189,11 @@ export class ScopedCountedL2ToL1Message {
183
189
  const reader = BufferReader.asReader(buffer);
184
190
  return new ScopedCountedL2ToL1Message(reader.readObject(CountedL2ToL1Message), reader.readObject(AztecAddress));
185
191
  }
186
- toBuffer() {
187
- return serializeToBuffer(this.inner, this.contractAddress);
192
+ toBuffer(sink) {
193
+ if (!sink) {
194
+ return BufferSink.serialize(this);
195
+ }
196
+ serializeToSink(sink, this.inner, this.contractAddress);
188
197
  }
189
198
  static fromFields(fields) {
190
199
  const reader = FieldReader.asReader(fields);
@@ -52,6 +52,8 @@ interface NoirFunctionEntry {
52
52
  export interface NoirCompiledContract {
53
53
  /** The name of the contract. */
54
54
  name: string;
55
+ /** The version of the Aztec stack that compiled this contract. */
56
+ aztec_version: string;
55
57
  /** Is the contract's public bytecode transpiled? */
56
58
  transpiled?: boolean;
57
59
  /** The functions of the contract. */
@@ -142,4 +144,4 @@ export declare function isNoirContractCompilationArtifacts(artifact: NoirCompila
142
144
  */
143
145
  export declare function isNoirProgramCompilationArtifacts(artifact: NoirCompilationResult): artifact is NoirProgramCompilationArtifacts;
144
146
  export {};
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUNWLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE9BQU8sRUFDUCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixlQUFPLE1BQU0sdUJBQXVCLGdCQUFnQixDQUFDO0FBQ3JELGVBQU8sTUFBTSxzQkFBc0IsZUFBZSxDQUFDO0FBQ25ELGVBQU8sTUFBTSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFDckQsZUFBTyxNQUFNLHlCQUF5QixrQkFBa0IsQ0FBQztBQUN6RCxlQUFPLE1BQU0sMkJBQTJCLG9CQUFvQixDQUFDO0FBQzdELGVBQU8sTUFBTSxvQkFBb0IsYUFBYSxDQUFDO0FBRS9DLHVDQUF1QztBQUN2QyxNQUFNLFdBQVcsZUFBZTtJQUM5QixzQ0FBc0M7SUFDdEMsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzNCLG1FQUFtRTtJQUNuRSxXQUFXLEVBQUU7UUFDWDs7V0FFRztRQUNILFFBQVEsRUFBRSxPQUFPLENBQUM7UUFDbEI7O1dBRUc7UUFDSCxVQUFVLEVBQUUsc0JBQXNCLENBQUM7S0FDcEMsR0FBRyxJQUFJLENBQUM7SUFDVCw4Q0FBOEM7SUFDOUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7Q0FDcEQ7QUFFRDs7R0FFRztBQUNILFVBQVUsaUJBQWlCO0lBQ3pCLGdDQUFnQztJQUNoQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsNkNBQTZDO0lBQzdDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQiw2Q0FBNkM7SUFDN0MsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUIsK0JBQStCO0lBQy9CLEdBQUcsRUFBRSxlQUFlLENB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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2lyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUNWLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsWUFBWSxFQUNaLE9BQU8sRUFDUCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixlQUFPLE1BQU0sdUJBQXVCLGdCQUFnQixDQUFDO0FBQ3JELGVBQU8sTUFBTSxzQkFBc0IsZUFBZSxDQUFDO0FBQ25ELGVBQU8sTUFBTSx1QkFBdUIsZ0JBQWdCLENBQUM7QUFDckQsZUFBTyxNQUFNLHlCQUF5QixrQkFBa0IsQ0FBQztBQUN6RCxlQUFPLE1BQU0sMkJBQTJCLG9CQUFvQixDQUFDO0FBQzdELGVBQU8sTUFBTSxvQkFBb0IsYUFBYSxDQUFDO0FBRS9DLHVDQUF1QztBQUN2QyxNQUFNLFdBQVcsZUFBZTtJQUM5QixzQ0FBc0M7SUFDdEMsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzNCLG1FQUFtRTtJQUNuRSxXQUFXLEVBQUU7UUFDWDs7V0FFRztRQUNILFFBQVEsRUFBRSxPQUFPLENBQUM7UUFDbEI7O1dBRUc7UUFDSCxVQUFVLEVBQUUsc0JBQXNCLENBQUM7S0FDcEMsR0FBRyxJQUFJLENBQUM7SUFDVCw4Q0FBOEM7SUFDOUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7Q0FDcEQ7QUFFRDs7R0FFRztBQUNILFVBQVUsaUJBQWlCO0lBQ3pCLGdDQUFnQztJQUNoQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsNkNBQTZDO0lBQzdDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQiw2Q0FBNkM7SUFDN0MsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDNUIsK0JBQStCO0lBQy9CLEdBQUcsRUFBRSxlQUFlLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/noir/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { Vector } from '../types/shared.js';
7
7
  */
8
8
  export declare class Note extends Vector<Fr> {
9
9
  toJSON(): Buffer<ArrayBufferLike>;
10
- static get schema(): import("zod").ZodEffects<import("../schemas/index.js").ZodFor<Buffer<ArrayBufferLike>>, Note, any>;
10
+ static get schema(): import("zod").ZodPipe<import("../schemas/index.js").ZodFor<Buffer<ArrayBufferLike>>, import("zod").ZodTransform<Note, Buffer<ArrayBufferLike>>>;
11
11
  /**
12
12
  * Create a Note instance from a Buffer or BufferReader.
13
13
  * The input 'buffer' can be either a Buffer containing the serialized Fr elements or a BufferReader instance.
@@ -39,4 +39,4 @@ export declare class Note extends Vector<Fr> {
39
39
  get length(): number;
40
40
  equals(other: Note): boolean;
41
41
  }
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vdGUvbm90ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxxQkFBYSxJQUFLLFNBQVEsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNsQyxNQUFNLDRCQUVMO0lBRUQsTUFBTSxLQUFLLE1BQU0sdUdBRWhCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFFBRzlDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE1BQU0sU0FJWjtJQUVEOzs7T0FHRztJQUNNLFFBQVEsa0JBRWhCO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sUUFFNUI7SUFFRCxJQUFJLE1BQU0sV0FFVDtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQUtqQjtDQUNGIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25vdGUvbm90ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxxQkFBYSxJQUFLLFNBQVEsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNsQyxNQUFNLDRCQUVMO0lBRUQsTUFBTSxLQUFLLE1BQU0sb0pBRWhCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFFBRzlDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLE1BQU0sU0FJWjtJQUVEOzs7T0FHRztJQUNNLFFBQVEsa0JBRWhCO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sUUFFNUI7SUFFRCxJQUFJLE1BQU0sV0FFVDtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxXQUtqQjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/note/note.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,IAAK,SAAQ,MAAM,CAAC,EAAE,CAAC;IAClC,MAAM,4BAEL;IAED,MAAM,KAAK,MAAM,uGAEhB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,QAG9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,SAIZ;IAED;;;OAGG;IACM,QAAQ,kBAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,QAE5B;IAED,IAAI,MAAM,WAET;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAKjB;CACF"}
1
+ {"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/note/note.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,IAAK,SAAQ,MAAM,CAAC,EAAE,CAAC;IAClC,MAAM,4BAEL;IAED,MAAM,KAAK,MAAM,oJAEhB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,QAG9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,SAIZ;IAED;;;OAGG;IACM,QAAQ,kBAEhB;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,QAE5B;IAED,IAAI,MAAM,WAET;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,WAKjB;CACF"}
@@ -17,4 +17,4 @@ export declare function orderAttestations(attestations: CheckpointAttestation[],
17
17
  * 3. Remaining attestations filled to reach the required count
18
18
  */
19
19
  export declare function trimAttestations(attestations: CheckpointAttestation[], required: number, proposerAddress: EthAddress, localAddresses: EthAddress[]): CheckpointAttestation[];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYXR0ZXN0YXRpb25fdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RTs7OztHQUlHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixZQUFZLEVBQUUscUJBQXFCLEVBQUUsRUFDckMsY0FBYyxFQUFFLFVBQVUsRUFBRSxHQUMzQixvQkFBb0IsRUFBRSxDQXFCeEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FDOUIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEVBQ3JDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGVBQWUsRUFBRSxVQUFVLEVBQzNCLGNBQWMsRUFBRSxVQUFVLEVBQUUsR0FDM0IscUJBQXFCLEVBQUUsQ0F3Q3pCIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYXR0ZXN0YXRpb25fdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RTs7OztHQUlHO0FBQ0gsd0JBQWdCLGlCQUFpQixDQUMvQixZQUFZLEVBQUUscUJBQXFCLEVBQUUsRUFDckMsY0FBYyxFQUFFLFVBQVUsRUFBRSxHQUMzQixvQkFBb0IsRUFBRSxDQTJCeEI7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFnQixnQkFBZ0IsQ0FDOUIsWUFBWSxFQUFFLHFCQUFxQixFQUFFLEVBQ3JDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLGVBQWUsRUFBRSxVQUFVLEVBQzNCLGNBQWMsRUFBRSxVQUFVLEVBQUUsR0FDM0IscUJBQXFCLEVBQUUsQ0F3Q3pCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"attestation_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/attestation_utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,qBAAqB,EAAE,EACrC,cAAc,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CAqBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,qBAAqB,EAAE,EACrC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,UAAU,EAC3B,cAAc,EAAE,UAAU,EAAE,GAC3B,qBAAqB,EAAE,CAwCzB"}
1
+ {"version":3,"file":"attestation_utils.d.ts","sourceRoot":"","sources":["../../src/p2p/attestation_utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,qBAAqB,EAAE,EACrC,cAAc,EAAE,UAAU,EAAE,GAC3B,oBAAoB,EAAE,CA2BxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,qBAAqB,EAAE,EACrC,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,UAAU,EAC3B,cAAc,EAAE,UAAU,EAAE,GAC3B,qBAAqB,EAAE,CAwCzB"}
@@ -1,3 +1,4 @@
1
+ import { normalizeSignature } from '@aztec/foundation/crypto/secp256k1-signer';
1
2
  import { CommitteeAttestation } from '../block/index.js';
2
3
  /**
3
4
  * Returns attestation signatures in the order of a series of provided ethereum addresses
@@ -9,7 +10,13 @@ import { CommitteeAttestation } from '../block/index.js';
9
10
  for (const attestation of attestations){
10
11
  const sender = attestation.getSender();
11
12
  if (sender) {
12
- attestationMap.set(sender.toString(), CommitteeAttestation.fromAddressAndSignature(sender, attestation.signature));
13
+ // Canonicalize the recovery byte to v ∈ {27, 28} before it reaches the L1 bundle. A committee
14
+ // member (or a peer mutating the byte in flight) can emit an equivalent signature in yParity form
15
+ // (v = 0/1); left as-is it makes `packAttestations` (empty iff v === 0) and `getSigners` (empty iff
16
+ // r,s,v all zero) disagree, reverting `propose()` with SignersSizeMismatch, and a v = 1 byte would
17
+ // later revert epoch proving in ECDSA.recover. `sender` recovered, so the signature is non-empty
18
+ // and low-s, and normalizeSignature preserves the recovered address.
19
+ attestationMap.set(sender.toString(), CommitteeAttestation.fromAddressAndSignature(sender, normalizeSignature(attestation.signature)));
13
20
  }
14
21
  }
15
22
  // Create the ordered array based on the orderAddresses, else return an empty attestation
@@ -1,9 +1,10 @@
1
- import { BlockNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { BlockNumber, BlockProposalHash, type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
6
6
  import { BufferReader } from '@aztec/foundation/serialize';
7
+ import type { TypedDataDefinition } from 'viem';
7
8
  import type { L2Block } from '../block/l2_block.js';
8
9
  import type { L2BlockInfo } from '../block/l2_block_info.js';
9
10
  import { type SigningContext } from '../ha-signing/index.js';
@@ -11,12 +12,10 @@ import { BlockHeader } from '../tx/block_header.js';
11
12
  import { TxHash } from '../tx/index.js';
12
13
  import type { Tx } from '../tx/tx.js';
13
14
  import { Gossipable } from './gossipable.js';
14
- import { SignatureDomainSeparator } from './signature_utils.js';
15
+ import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
15
16
  import { SignedTxs } from './signed_txs.js';
16
17
  import { TopicType } from './topic_type.js';
17
- export declare class BlockProposalHash extends Buffer32 {
18
- constructor(hash: Buffer);
19
- }
18
+ export type { BlockProposalHash } from '@aztec/foundation/branded-types';
20
19
  export type BlockProposalOptions = {
21
20
  /**
22
21
  * Whether to include the tx objects along with the block proposal.
@@ -34,7 +33,7 @@ export type BlockProposalOptions = {
34
33
  * to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
35
34
  * The last block is sent as part of a CheckpointProposal.
36
35
  */
37
- export declare class BlockProposal extends Gossipable {
36
+ export declare class BlockProposal extends Gossipable implements Signable {
38
37
  /** The per-block header containing block state and global variables */
39
38
  readonly blockHeader: BlockHeader;
40
39
  /** Index of this block within the checkpoint (0-indexed) */
@@ -47,10 +46,13 @@ export declare class BlockProposal extends Gossipable {
47
46
  readonly txHashes: TxHash[];
48
47
  /** The proposer's signature over the block data */
49
48
  readonly signature: Signature;
49
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
50
+ readonly signatureContext: CoordinationSignatureContext;
50
51
  /** The signed transactions in the block (optional, for DA guarantees) */
51
52
  readonly signedTxs?: SignedTxs | undefined;
52
53
  static p2pTopic: TopicType;
53
- private sender;
54
+ readonly primaryType: CoordinationSignatureType;
55
+ private cachedSender;
54
56
  constructor(
55
57
  /** The per-block header containing block state and global variables */
56
58
  blockHeader: BlockHeader,
@@ -64,9 +66,11 @@ export declare class BlockProposal extends Gossipable {
64
66
  txHashes: TxHash[],
65
67
  /** The proposer's signature over the block data */
66
68
  signature: Signature,
69
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
70
+ signatureContext: CoordinationSignatureContext,
67
71
  /** The signed transactions in the block (optional, for DA guarantees) */
68
72
  signedTxs?: SignedTxs | undefined);
69
- generateP2PMessageIdentifier(): Promise<Buffer32>;
73
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
70
74
  get archive(): Fr;
71
75
  get slotNumber(): SlotNumber;
72
76
  get blockNumber(): BlockNumber;
@@ -77,12 +81,23 @@ export declare class BlockProposal extends Gossipable {
77
81
  * Get the payload to sign for this block proposal.
78
82
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
79
83
  */
80
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
81
- static createProposalFromSigner(blockHeader: BlockHeader, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
84
+ getPayloadToSign(): Buffer;
85
+ private getPayloadHashBuffer;
86
+ /**
87
+ * Returns a keccak256 hash of the signed payload.
88
+ * Used by the attestation pool to dedup distinct signed payloads at the same
89
+ * (slot, indexWithinCheckpoint) regardless of archive collisions.
90
+ * The hash deliberately excludes the signature so non-deterministic ECDSA
91
+ * re-signs of the same payload do not look like equivocation.
92
+ */
93
+ getPayloadHash(): BlockProposalHash;
94
+ static createProposalFromSigner(blockHeader: BlockHeader, checkpointNumber: CheckpointNumber, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, signatureContext: CoordinationSignatureContext, proposalSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>, txsSigner?: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
82
95
  /**
83
96
  * Lazily evaluate the sender of the proposal; result is cached.
84
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
85
- * @returns The sender address, or undefined if signature recovery fails or senders don't match
97
+ * If there's signedTxs, also verifies that its signing domain matches this proposal's and
98
+ * that the signedTxs sender matches the block proposal sender. This prevents a proposer
99
+ * from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
100
+ * @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
86
101
  */
87
102
  getSender(): EthAddress | undefined;
88
103
  getPayload(): Buffer<ArrayBufferLike>;
@@ -120,6 +135,8 @@ export declare class BlockProposal extends Gossipable {
120
135
  archiveRoot: `0x${string}`;
121
136
  signature: `0x${string}`;
122
137
  txHashes: `0x${string}`[];
138
+ chainId: number;
139
+ rollupAddress: `0x${string}`;
123
140
  };
124
141
  /**
125
142
  * Check if this proposal matches the given block.
@@ -134,4 +151,4 @@ export declare class BlockProposal extends Gossipable {
134
151
  */
135
152
  withoutSignedTxs(): BlockProposal;
136
153
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBWSxLQUFLLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlB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
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsS0FBSyxnQkFBZ0IsRUFDckIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUsseUJBQXlCLEVBRTlCLEtBQUssUUFBUSxFQU1kLE1BQU0sc0JBQXNCLENBQUM7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
@@ -1 +1 @@
1
- {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
1
+ import { BlockProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
2
2
  import { Buffer32 } from '@aztec/foundation/buffer';
3
3
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
4
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
5
4
  import { Fr } from '@aztec/foundation/curves/bn254';
6
5
  import { Signature } from '@aztec/foundation/eth-signature';
7
6
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -10,14 +9,9 @@ import { DutyType } from '../ha-signing/index.js';
10
9
  import { BlockHeader } from '../tx/block_header.js';
11
10
  import { TxHash } from '../tx/index.js';
12
11
  import { Gossipable } from './gossipable.js';
13
- import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
12
+ import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, coordinationSignatureContextEquals, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
14
13
  import { SignedTxs } from './signed_txs.js';
15
14
  import { TopicType } from './topic_type.js';
16
- export class BlockProposalHash extends Buffer32 {
17
- constructor(hash){
18
- super(hash);
19
- }
20
- }
21
15
  /**
22
16
  * A block proposal is created by the leader of the chain proposing a sequence of transactions
23
17
  * to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
@@ -29,14 +23,16 @@ export class BlockProposalHash extends Buffer32 {
29
23
  archiveRoot;
30
24
  txHashes;
31
25
  signature;
26
+ signatureContext;
32
27
  signedTxs;
33
28
  static p2pTopic = TopicType.block_proposal;
34
- sender;
35
- constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
36
- super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
29
+ primaryType;
30
+ cachedSender;
31
+ constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
32
+ super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signatureContext = signatureContext, this.signedTxs = signedTxs, this.primaryType = 'BlockProposal', this.cachedSender = undefined;
37
33
  }
38
34
  generateP2PMessageIdentifier() {
39
- return Promise.resolve(new BlockProposalHash(keccak256(this.signature.toBuffer())));
35
+ return Promise.resolve(new Buffer32(this.getPayloadHashBuffer()));
40
36
  }
41
37
  get archive() {
42
38
  return this.archiveRoot;
@@ -62,9 +58,8 @@ export class BlockProposalHash extends Buffer32 {
62
58
  /**
63
59
  * Get the payload to sign for this block proposal.
64
60
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
65
- */ getPayloadToSign(domainSeparator) {
61
+ */ getPayloadToSign() {
66
62
  return serializeToBuffer([
67
- domainSeparator,
68
63
  this.blockHeader,
69
64
  this.indexWithinCheckpoint,
70
65
  this.inHash,
@@ -73,51 +68,70 @@ export class BlockProposalHash extends Buffer32 {
73
68
  this.txHashes
74
69
  ]);
75
70
  }
76
- static async createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
71
+ getPayloadHashBuffer() {
72
+ return keccak256(this.getPayloadToSign());
73
+ }
74
+ /**
75
+ * Returns a keccak256 hash of the signed payload.
76
+ * Used by the attestation pool to dedup distinct signed payloads at the same
77
+ * (slot, indexWithinCheckpoint) regardless of archive collisions.
78
+ * The hash deliberately excludes the signature so non-deterministic ECDSA
79
+ * re-signs of the same payload do not look like equivocation.
80
+ */ getPayloadHash() {
81
+ return BlockProposalHash.fromBuffer(this.getPayloadHashBuffer());
82
+ }
83
+ static async createProposalFromSigner(blockHeader, checkpointNumber, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, signatureContext, proposalSigner, txsSigner) {
77
84
  // Create a temporary proposal to get the payload to sign
78
- const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
85
+ const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty(), signatureContext);
79
86
  // Create the block signing context
80
87
  const blockContext = {
81
88
  slot: blockHeader.globalVariables.slotNumber,
82
89
  blockNumber: blockHeader.globalVariables.blockNumber,
90
+ checkpointNumber,
83
91
  blockIndexWithinCheckpoint: indexWithinCheckpoint,
84
92
  dutyType: DutyType.BLOCK_PROPOSAL
85
93
  };
86
- const hashed = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.blockProposal);
87
- const sig = await payloadSigner(hashed, blockContext);
94
+ const typedData = getCoordinationSignatureTypedData(tempProposal);
95
+ const sig = await proposalSigner(typedData, blockContext);
88
96
  // If txs are provided, sign them as well
89
97
  let signedTxs;
90
98
  if (txs) {
91
99
  const txsSigningContext = {
92
100
  dutyType: DutyType.TXS
93
101
  };
94
- const txsSigner = (payload)=>payloadSigner(payload, txsSigningContext);
95
- signedTxs = await SignedTxs.createFromSigner(txs, txsSigner);
102
+ if (!txsSigner) {
103
+ throw new Error('signed_txs requires a typed-data signer');
104
+ }
105
+ signedTxs = await SignedTxs.createFromSigner(txs, signatureContext, (typedData)=>txsSigner(typedData, txsSigningContext));
96
106
  }
97
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signedTxs);
107
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signatureContext, signedTxs);
98
108
  }
99
109
  /**
100
110
  * Lazily evaluate the sender of the proposal; result is cached.
101
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
102
- * @returns The sender address, or undefined if signature recovery fails or senders don't match
111
+ * If there's signedTxs, also verifies that its signing domain matches this proposal's and
112
+ * that the signedTxs sender matches the block proposal sender. This prevents a proposer
113
+ * from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
114
+ * @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
103
115
  */ getSender() {
104
- if (!this.sender) {
105
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.blockProposal);
106
- const blockSender = tryRecoverAddress(hashed, this.signature);
107
- // If there's signedTxs, verify the sender matches
116
+ if (this.cachedSender === undefined) {
117
+ const blockSender = recoverCoordinationSigner(this, this.signature);
108
118
  if (blockSender && this.signedTxs) {
119
+ if (!coordinationSignatureContextEquals(this.signedTxs.signatureContext, this.signatureContext)) {
120
+ this.cachedSender = null;
121
+ return undefined;
122
+ }
109
123
  const txsSender = this.signedTxs.getSender();
110
124
  if (!txsSender || !txsSender.equals(blockSender)) {
111
- return undefined; // Sender mismatch - fail
125
+ this.cachedSender = null;
126
+ return undefined;
112
127
  }
113
128
  }
114
- // Cache the sender for later use
115
- this.sender = blockSender;
129
+ this.cachedSender = blockSender ?? null;
116
130
  }
117
- return this.sender;
131
+ return this.cachedSender ?? undefined;
118
132
  }
119
133
  getPayload() {
120
- return this.getPayloadToSign(SignatureDomainSeparator.blockProposal);
134
+ return this.getPayloadToSign();
121
135
  }
122
136
  toBuffer() {
123
137
  const buffer = [
@@ -126,6 +140,7 @@ export class BlockProposalHash extends Buffer32 {
126
140
  this.inHash,
127
141
  this.archiveRoot,
128
142
  this.signature,
143
+ serializeCoordinationSignatureContext(this.signatureContext),
129
144
  this.txHashes.length,
130
145
  this.txHashes
131
146
  ];
@@ -144,6 +159,7 @@ export class BlockProposalHash extends Buffer32 {
144
159
  const inHash = reader.readObject(Fr);
145
160
  const archiveRoot = reader.readObject(Fr);
146
161
  const signature = reader.readObject(Signature);
162
+ const signatureContext = readCoordinationSignatureContext(reader);
147
163
  const txHashCount = reader.readNumber();
148
164
  if (txHashCount > MAX_TXS_PER_BLOCK) {
149
165
  throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
@@ -153,22 +169,22 @@ export class BlockProposalHash extends Buffer32 {
153
169
  const hasSignedTxs = reader.readNumber();
154
170
  if (hasSignedTxs) {
155
171
  const signedTxs = SignedTxs.fromBuffer(reader);
156
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signedTxs);
172
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signatureContext, signedTxs);
157
173
  }
158
174
  }
159
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature);
175
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signatureContext);
160
176
  }
161
177
  getSize() {
162
- return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
178
+ return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* chainId */ + 20 /* rollupAddress */ + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
163
179
  }
164
180
  static empty() {
165
- return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty());
181
+ return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
166
182
  }
167
183
  static random() {
168
184
  return new BlockProposal(BlockHeader.random(), IndexWithinCheckpoint(Math.floor(Math.random() * 5)), Fr.random(), Fr.random(), [
169
185
  TxHash.random(),
170
186
  TxHash.random()
171
- ], Signature.random());
187
+ ], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
172
188
  }
173
189
  toInspect() {
174
190
  return {
@@ -177,7 +193,9 @@ export class BlockProposalHash extends Buffer32 {
177
193
  inHash: this.inHash.toString(),
178
194
  archiveRoot: this.archiveRoot.toString(),
179
195
  signature: this.signature.toString(),
180
- txHashes: this.txHashes.map((h)=>h.toString())
196
+ txHashes: this.txHashes.map((h)=>h.toString()),
197
+ chainId: this.signatureContext.chainId,
198
+ rollupAddress: this.signatureContext.rollupAddress.toString()
181
199
  };
182
200
  }
183
201
  /**
@@ -192,6 +210,6 @@ export class BlockProposalHash extends Buffer32 {
192
210
  * Returns a copy of this proposal without signedTxs.
193
211
  * Used when storing proposals in attestation pool to avoid storing full tx data.
194
212
  */ withoutSignedTxs() {
195
- return new BlockProposal(this.blockHeader, this.indexWithinCheckpoint, this.inHash, this.archiveRoot, this.txHashes, this.signature);
213
+ return new BlockProposal(this.blockHeader, this.indexWithinCheckpoint, this.inHash, this.archiveRoot, this.txHashes, this.signature, this.signatureContext);
196
214
  }
197
215
  }
@@ -1,5 +1,5 @@
1
- import { SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { CheckpointProposalHash, type SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import type { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
@@ -7,10 +7,8 @@ import { BufferReader } from '@aztec/foundation/serialize';
7
7
  import type { ZodFor } from '../schemas/index.js';
8
8
  import { ConsensusPayload } from './consensus_payload.js';
9
9
  import { Gossipable } from './gossipable.js';
10
+ import { type CoordinationSignatureContext } from './signature_utils.js';
10
11
  import { TopicType } from './topic_type.js';
11
- export declare class CheckpointAttestationHash extends Buffer32 {
12
- constructor(hash: Buffer);
13
- }
14
12
  /**
15
13
  * CheckpointAttestation
16
14
  *
@@ -25,8 +23,8 @@ export declare class CheckpointAttestation extends Gossipable {
25
23
  /** The signature from the checkpoint proposer */
26
24
  readonly proposerSignature: Signature;
27
25
  static p2pTopic: TopicType;
28
- private sender;
29
- private proposer;
26
+ private cachedSender;
27
+ private cachedProposer;
30
28
  constructor(
31
29
  /** The payload of the message, and what the signature is over */
32
30
  payload: ConsensusPayload,
@@ -35,9 +33,10 @@ export declare class CheckpointAttestation extends Gossipable {
35
33
  /** The signature from the checkpoint proposer */
36
34
  proposerSignature: Signature);
37
35
  static get schema(): ZodFor<CheckpointAttestation>;
38
- generateP2PMessageIdentifier(): Promise<Buffer32>;
36
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
39
37
  get archive(): Fr;
40
38
  get slotNumber(): SlotNumber;
39
+ get signatureContext(): CoordinationSignatureContext;
41
40
  /**
42
41
  * Lazily evaluate and cache the signer of the attestation
43
42
  * @returns The signer of the attestation, or undefined if signature recovery fails
@@ -48,7 +47,20 @@ export declare class CheckpointAttestation extends Gossipable {
48
47
  * @returns The proposer of the checkpoint
49
48
  */
50
49
  getProposer(): EthAddress | undefined;
50
+ /**
51
+ * Returns a copy with the attester signature canonicalized to v ∈ {27, 28}. Callers store attestations
52
+ * received from gossip verbatim; normalizing on ingress keeps a signature emitted in yParity form
53
+ * (v = 0/1) — whether by a malicious committee member or a peer mutating the byte in flight — from
54
+ * reaching the L1 bundle in a non-canonical form. Must only be called once the signature has recovered
55
+ * a sender (so it is non-empty and low-s); `normalizeSignature` throws on an all-zero signature.
56
+ */
57
+ withNormalizedSignature(): CheckpointAttestation;
51
58
  getPayload(): Buffer;
59
+ /**
60
+ * Returns a keccak256 hash of the signed consensus payload.
61
+ * Used to dedup distinct signed payloads. Returns same hash than the corresponding proposal.
62
+ */
63
+ getPayloadHash(): CheckpointProposalHash;
52
64
  toBuffer(): Buffer;
53
65
  static fromBuffer(buf: Buffer | BufferReader): CheckpointAttestation;
54
66
  static empty(): CheckpointAttestation;
@@ -71,12 +83,15 @@ export declare class CheckpointAttestation extends Gossipable {
71
83
  feePerL2Gas: bigint;
72
84
  };
73
85
  totalManaUsed: bigint;
86
+ accumulatedFees: bigint;
74
87
  };
75
88
  archive: `0x${string}`;
76
89
  feeAssetPriceModifier: string;
90
+ chainId: number;
91
+ rollupAddress: `0x${string}`;
77
92
  };
78
93
  signature: `0x${string}`;
79
94
  proposerSignature: `0x${string}`;
80
95
  };
81
96
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTtJQU9qRCxpRUFBaUU7YUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7YUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO2FBQ2pDLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBZ0JwQztJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFCQUFxQixDQU9uRTtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUkscUJBQXFCLENBRXBDO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsQ0FFckM7SUFFRCxPQUFPLElBQUksTUFBTSxDQUVoQjtJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXZFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBSTlFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsS0FBSyw0QkFBNEIsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSCxxQkFBYSxxQkFBc0IsU0FBUSxVQUFVO0lBT2pELGlFQUFpRTthQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQzthQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7YUFDakMsaUJBQWlCLEVBQUUsU0FBUztJQWI5QyxPQUFnQixRQUFRLFlBQW9DO0lBRTVELE9BQU8sQ0FBQyxZQUFZLENBQTRDO0lBQ2hFLE9BQU8sQ0FBQyxjQUFjLENBQTRDO0lBRWxFO0lBQ0UsaUVBQWlFO0lBQ2pELE9BQU8sRUFBRSxnQkFBZ0I7SUFFekMsK0NBQStDO0lBQy9CLFNBQVMsRUFBRSxTQUFTO0lBRXBDLGlEQUFpRDtJQUNqQyxpQkFBaUIsRUFBRSxTQUFTLEVBRzdDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FRakQ7SUFFUSw0QkFBNEIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRTdEO0lBRUQsSUFBSSxPQUFPLElBQUksRUFBRSxDQUVoQjtJQUVELElBQUksVUFBVSxJQUFJLFVBQVUsQ0FFM0I7SUFFRCxJQUFJLGdCQUFnQixJQUFJLDRCQUE0QixDQUVuRDtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUtsQztJQUVEOzs7T0FHRztJQUNILFdBQVcsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQWVwQztJQUVEOzs7Ozs7T0FNRztJQUNILHVCQUF1QixJQUFJLHFCQUFxQixDQUUvQztJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxJQUFJLHNCQUFzQixDQUV2QztJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FPbkU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBRXJDO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FFaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==