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

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