@aztec/stdlib 0.0.1-commit.f2ce05ee → 0.0.1-commit.f5a9928

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 (1160) hide show
  1. package/dest/abi/abi.d.ts +149 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  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 +19 -5
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +38 -5
  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 +57 -15
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +7 -25
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_selector.d.ts +3 -6
  26. package/dest/abi/function_selector.d.ts.map +1 -1
  27. package/dest/abi/function_selector.js +2 -4
  28. package/dest/abi/function_signature_decoder.d.ts +43 -0
  29. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  30. package/dest/abi/function_signature_decoder.js +66 -0
  31. package/dest/abi/index.d.ts +2 -1
  32. package/dest/abi/index.d.ts.map +1 -1
  33. package/dest/abi/index.js +1 -0
  34. package/dest/abi/note_selector.d.ts +4 -7
  35. package/dest/abi/note_selector.d.ts.map +1 -1
  36. package/dest/abi/note_selector.js +1 -3
  37. package/dest/abi/selector.d.ts +2 -2
  38. package/dest/abi/selector.d.ts.map +1 -1
  39. package/dest/abi/selector.js +1 -1
  40. package/dest/abi/utils.d.ts +14 -1
  41. package/dest/abi/utils.d.ts.map +1 -1
  42. package/dest/abi/utils.js +16 -1
  43. package/dest/auth_witness/auth_witness.d.ts +2 -2
  44. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  45. package/dest/auth_witness/auth_witness.js +3 -3
  46. package/dest/avm/avm.d.ts +1756 -10463
  47. package/dest/avm/avm.d.ts.map +1 -1
  48. package/dest/avm/avm.js +7 -4
  49. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  50. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  51. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  52. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  53. package/dest/avm/avm_proving_request.d.ts +653 -5446
  54. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  55. package/dest/avm/message_pack.js +12 -3
  56. package/dest/avm/public_data_write.d.ts +6 -12
  57. package/dest/avm/public_data_write.d.ts.map +1 -1
  58. package/dest/avm/revert_code.d.ts +6 -7
  59. package/dest/avm/revert_code.d.ts.map +1 -1
  60. package/dest/avm/revert_code.js +13 -21
  61. package/dest/aztec-address/index.d.ts +42 -12
  62. package/dest/aztec-address/index.d.ts.map +1 -1
  63. package/dest/aztec-address/index.js +40 -13
  64. package/dest/block/attestation_info.d.ts +3 -2
  65. package/dest/block/attestation_info.d.ts.map +1 -1
  66. package/dest/block/attestation_info.js +10 -5
  67. package/dest/block/block_data.d.ts +27 -0
  68. package/dest/block/block_data.d.ts.map +1 -0
  69. package/dest/block/block_data.js +12 -0
  70. package/dest/block/block_hash.d.ts +11 -10
  71. package/dest/block/block_hash.d.ts.map +1 -1
  72. package/dest/block/block_hash.js +10 -9
  73. package/dest/block/block_parameter.d.ts +37 -4
  74. package/dest/block/block_parameter.d.ts.map +1 -1
  75. package/dest/block/block_parameter.js +53 -2
  76. package/dest/block/in_block.d.ts +5 -24
  77. package/dest/block/in_block.d.ts.map +1 -1
  78. package/dest/block/index.d.ts +2 -2
  79. package/dest/block/index.d.ts.map +1 -1
  80. package/dest/block/index.js +1 -1
  81. package/dest/block/l2_block.d.ts +21 -41
  82. package/dest/block/l2_block.d.ts.map +1 -1
  83. package/dest/block/l2_block.js +12 -2
  84. package/dest/block/l2_block_info.d.ts +10 -29
  85. package/dest/block/l2_block_info.d.ts.map +1 -1
  86. package/dest/block/l2_block_info.js +6 -5
  87. package/dest/block/l2_block_source.d.ts +235 -337
  88. package/dest/block/l2_block_source.d.ts.map +1 -1
  89. package/dest/block/l2_block_source.js +85 -1
  90. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +30 -0
  91. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  92. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +61 -0
  93. package/dest/block/l2_block_stream/index.d.ts +2 -1
  94. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  95. package/dest/block/l2_block_stream/index.js +1 -0
  96. package/dest/block/l2_block_stream/interfaces.d.ts +85 -10
  97. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  98. package/dest/block/l2_block_stream/interfaces.js +25 -1
  99. package/dest/block/l2_block_stream/l2_block_stream.d.ts +24 -15
  100. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  101. package/dest/block/l2_block_stream/l2_block_stream.js +185 -124
  102. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  103. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  104. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  105. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  106. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  107. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  108. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  109. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  110. package/dest/block/proposal/attestations_and_signers.js +73 -25
  111. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  112. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  113. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  114. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  115. package/dest/block/test/l2_tips_store_test_suite.js +301 -36
  116. package/dest/block/validate_block_result.d.ts +16 -1
  117. package/dest/block/validate_block_result.d.ts.map +1 -1
  118. package/dest/block/validate_block_result.js +18 -3
  119. package/dest/checkpoint/checkpoint.d.ts +48 -99
  120. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  121. package/dest/checkpoint/checkpoint.js +42 -18
  122. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  123. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  124. package/dest/checkpoint/checkpoint_data.js +38 -0
  125. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  126. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  127. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  128. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  129. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  130. package/dest/checkpoint/digest.d.ts +18 -0
  131. package/dest/checkpoint/digest.d.ts.map +1 -0
  132. package/dest/checkpoint/digest.js +12 -0
  133. package/dest/checkpoint/index.d.ts +7 -1
  134. package/dest/checkpoint/index.d.ts.map +1 -1
  135. package/dest/checkpoint/index.js +6 -0
  136. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  137. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  138. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  139. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  140. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  141. package/dest/checkpoint/published_checkpoint.js +1 -2
  142. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  143. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  144. package/dest/checkpoint/simulation_overrides.js +98 -0
  145. package/dest/checkpoint/validate.d.ts +52 -0
  146. package/dest/checkpoint/validate.d.ts.map +1 -0
  147. package/dest/checkpoint/validate.js +132 -0
  148. package/dest/config/chain-config.d.ts +4 -9
  149. package/dest/config/chain-config.d.ts.map +1 -1
  150. package/dest/config/chain-config.js +13 -12
  151. package/dest/config/index.d.ts +2 -1
  152. package/dest/config/index.d.ts.map +1 -1
  153. package/dest/config/index.js +1 -0
  154. package/dest/config/network-consensus-config.d.ts +72 -0
  155. package/dest/config/network-consensus-config.d.ts.map +1 -0
  156. package/dest/config/network-consensus-config.js +227 -0
  157. package/dest/config/node-rpc-config.d.ts +13 -1
  158. package/dest/config/node-rpc-config.d.ts.map +1 -1
  159. package/dest/config/node-rpc-config.js +34 -1
  160. package/dest/config/sequencer-config.d.ts +9 -3
  161. package/dest/config/sequencer-config.d.ts.map +1 -1
  162. package/dest/config/sequencer-config.js +47 -2
  163. package/dest/contract/complete_address.d.ts +3 -2
  164. package/dest/contract/complete_address.d.ts.map +1 -1
  165. package/dest/contract/complete_address.js +6 -2
  166. package/dest/contract/contract_address.d.ts +10 -9
  167. package/dest/contract/contract_address.d.ts.map +1 -1
  168. package/dest/contract/contract_address.js +9 -8
  169. package/dest/contract/contract_class.d.ts +2 -3
  170. package/dest/contract/contract_class.d.ts.map +1 -1
  171. package/dest/contract/contract_class_id.d.ts +3 -3
  172. package/dest/contract/contract_class_id.d.ts.map +1 -1
  173. package/dest/contract/contract_class_id.js +7 -6
  174. package/dest/contract/contract_deployment_data.d.ts +15 -61
  175. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  176. package/dest/contract/contract_instance.d.ts +19 -3
  177. package/dest/contract/contract_instance.d.ts.map +1 -1
  178. package/dest/contract/contract_instance.js +55 -3
  179. package/dest/contract/index.d.ts +1 -3
  180. package/dest/contract/index.d.ts.map +1 -1
  181. package/dest/contract/index.js +0 -2
  182. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  183. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  184. package/dest/contract/interfaces/contract_class.js +1 -28
  185. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  186. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  187. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  188. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_instance.js +11 -4
  190. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  191. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  192. package/dest/contract/interfaces/node-info.d.ts +13 -1
  193. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  194. package/dest/contract/interfaces/node-info.js +8 -1
  195. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  196. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  197. package/dest/contract/partial_address.d.ts +9 -3
  198. package/dest/contract/partial_address.d.ts.map +1 -1
  199. package/dest/contract/partial_address.js +8 -2
  200. package/dest/contract/private_function.d.ts +1 -1
  201. package/dest/contract/private_function.d.ts.map +1 -1
  202. package/dest/contract/private_function.js +4 -6
  203. package/dest/database-version/database_version.d.ts +5 -11
  204. package/dest/database-version/database_version.d.ts.map +1 -1
  205. package/dest/database-version/version_manager.d.ts +22 -4
  206. package/dest/database-version/version_manager.d.ts.map +1 -1
  207. package/dest/database-version/version_manager.js +87 -6
  208. package/dest/deserialization/index.d.ts +35 -3
  209. package/dest/deserialization/index.d.ts.map +1 -1
  210. package/dest/deserialization/index.js +32 -1
  211. package/dest/epoch-helpers/index.d.ts +12 -20
  212. package/dest/epoch-helpers/index.d.ts.map +1 -1
  213. package/dest/epoch-helpers/index.js +16 -2
  214. package/dest/file-store/factory.d.ts +4 -3
  215. package/dest/file-store/factory.d.ts.map +1 -1
  216. package/dest/file-store/factory.js +9 -2
  217. package/dest/file-store/http.d.ts +9 -2
  218. package/dest/file-store/http.d.ts.map +1 -1
  219. package/dest/file-store/http.js +20 -9
  220. package/dest/file-store/index.d.ts +3 -1
  221. package/dest/file-store/index.d.ts.map +1 -1
  222. package/dest/file-store/index.js +1 -0
  223. package/dest/file-store/local.d.ts +3 -3
  224. package/dest/file-store/local.d.ts.map +1 -1
  225. package/dest/file-store/local.js +13 -4
  226. package/dest/file-store/memory.d.ts +24 -0
  227. package/dest/file-store/memory.d.ts.map +1 -0
  228. package/dest/file-store/memory.js +80 -0
  229. package/dest/file-store/s3.d.ts +1 -1
  230. package/dest/file-store/s3.d.ts.map +1 -1
  231. package/dest/file-store/s3.js +11 -3
  232. package/dest/gas/fee_math.d.ts +49 -0
  233. package/dest/gas/fee_math.d.ts.map +1 -0
  234. package/dest/gas/fee_math.js +80 -0
  235. package/dest/gas/gas.d.ts +9 -14
  236. package/dest/gas/gas.d.ts.map +1 -1
  237. package/dest/gas/gas.js +6 -3
  238. package/dest/gas/gas_fees.d.ts +13 -14
  239. package/dest/gas/gas_fees.d.ts.map +1 -1
  240. package/dest/gas/gas_fees.js +20 -4
  241. package/dest/gas/gas_settings.d.ts +60 -86
  242. package/dest/gas/gas_settings.d.ts.map +1 -1
  243. package/dest/gas/gas_settings.js +49 -9
  244. package/dest/gas/index.d.ts +3 -1
  245. package/dest/gas/index.d.ts.map +1 -1
  246. package/dest/gas/index.js +2 -0
  247. package/dest/gas/tx_gas_limits.d.ts +72 -0
  248. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  249. package/dest/gas/tx_gas_limits.js +85 -0
  250. package/dest/ha-signing/config.d.ts +86 -0
  251. package/dest/ha-signing/config.d.ts.map +1 -0
  252. package/dest/ha-signing/config.js +94 -0
  253. package/dest/ha-signing/index.d.ts +4 -0
  254. package/dest/ha-signing/index.d.ts.map +1 -0
  255. package/dest/ha-signing/index.js +3 -0
  256. package/dest/ha-signing/local_config.d.ts +40 -0
  257. package/dest/ha-signing/local_config.d.ts.map +1 -0
  258. package/dest/ha-signing/local_config.js +30 -0
  259. package/dest/ha-signing/types.d.ts +90 -0
  260. package/dest/ha-signing/types.d.ts.map +1 -0
  261. package/dest/ha-signing/types.js +39 -0
  262. package/dest/hash/hash.d.ts +35 -2
  263. package/dest/hash/hash.d.ts.map +1 -1
  264. package/dest/hash/hash.js +77 -17
  265. package/dest/hash/map_slot.js +2 -2
  266. package/dest/interfaces/allowed_element.d.ts +17 -35
  267. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  268. package/dest/interfaces/allowed_element.js +8 -8
  269. package/dest/interfaces/api_limit.d.ts +7 -2
  270. package/dest/interfaces/api_limit.d.ts.map +1 -1
  271. package/dest/interfaces/api_limit.js +4 -1
  272. package/dest/interfaces/archiver.d.ts +27 -32
  273. package/dest/interfaces/archiver.d.ts.map +1 -1
  274. package/dest/interfaces/archiver.js +217 -65
  275. package/dest/interfaces/aztec-node-admin.d.ts +116 -265
  276. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  277. package/dest/interfaces/aztec-node-admin.js +67 -18
  278. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  279. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  280. package/dest/interfaces/aztec-node-debug.js +49 -0
  281. package/dest/interfaces/aztec-node.d.ts +168 -117
  282. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  283. package/dest/interfaces/aztec-node.js +359 -78
  284. package/dest/interfaces/block-builder.d.ts +49 -13
  285. package/dest/interfaces/block-builder.d.ts.map +1 -1
  286. package/dest/interfaces/block-builder.js +13 -6
  287. package/dest/interfaces/block_response.d.ts +90 -0
  288. package/dest/interfaces/block_response.d.ts.map +1 -0
  289. package/dest/interfaces/block_response.js +30 -0
  290. package/dest/interfaces/chain_tips.d.ts +11 -0
  291. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  292. package/dest/interfaces/chain_tips.js +6 -0
  293. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  294. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  295. package/dest/interfaces/checkpoint_parameter.js +18 -0
  296. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  297. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  298. package/dest/interfaces/checkpoint_response.js +26 -0
  299. package/dest/interfaces/client.d.ts +9 -2
  300. package/dest/interfaces/client.d.ts.map +1 -1
  301. package/dest/interfaces/client.js +7 -1
  302. package/dest/interfaces/configs.d.ts +110 -121
  303. package/dest/interfaces/configs.d.ts.map +1 -1
  304. package/dest/interfaces/configs.js +25 -4
  305. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  306. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  307. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  308. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  309. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  310. package/dest/interfaces/l1_publish_info.js +26 -0
  311. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  312. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  313. package/dest/interfaces/l2_logs_source.js +5 -0
  314. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  315. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  316. package/dest/interfaces/p2p-bootstrap.js +8 -2
  317. package/dest/interfaces/p2p.d.ts +65 -14
  318. package/dest/interfaces/p2p.d.ts.map +1 -1
  319. package/dest/interfaces/p2p.js +49 -6
  320. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  321. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.d.ts +5 -23
  323. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  324. package/dest/interfaces/prover-agent.js +4 -1
  325. package/dest/interfaces/prover-client.d.ts +10 -27
  326. package/dest/interfaces/prover-client.d.ts.map +1 -1
  327. package/dest/interfaces/prover-client.js +7 -4
  328. package/dest/interfaces/prover-node.d.ts +12 -8
  329. package/dest/interfaces/prover-node.d.ts.map +1 -1
  330. package/dest/interfaces/prover-node.js +37 -16
  331. package/dest/interfaces/proving-job-source.js +24 -4
  332. package/dest/interfaces/proving-job.d.ts +757 -5795
  333. package/dest/interfaces/proving-job.d.ts.map +1 -1
  334. package/dest/interfaces/proving-job.js +14 -5
  335. package/dest/interfaces/public_storage_override.d.ts +22 -0
  336. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  337. package/dest/interfaces/public_storage_override.js +7 -0
  338. package/dest/interfaces/server.d.ts +6 -2
  339. package/dest/interfaces/server.d.ts.map +1 -1
  340. package/dest/interfaces/server.js +5 -1
  341. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  342. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  343. package/dest/interfaces/slasher.d.ts +26 -62
  344. package/dest/interfaces/slasher.d.ts.map +1 -1
  345. package/dest/interfaces/slasher.js +9 -4
  346. package/dest/interfaces/tx_provider.d.ts +10 -1
  347. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  348. package/dest/interfaces/validator.d.ts +91 -207
  349. package/dest/interfaces/validator.d.ts.map +1 -1
  350. package/dest/interfaces/validator.js +18 -6
  351. package/dest/interfaces/world_state.d.ts +19 -5
  352. package/dest/interfaces/world_state.d.ts.map +1 -1
  353. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  354. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  355. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  356. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  357. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  358. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  359. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  360. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  361. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  362. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  363. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  364. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  365. package/dest/kernel/hints/index.d.ts +2 -2
  366. package/dest/kernel/hints/index.js +2 -2
  367. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  368. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  369. package/dest/kernel/hints/key_validation_request.js +20 -18
  370. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  371. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  372. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  373. package/dest/kernel/hints/read_request.js +1 -1
  374. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  375. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  376. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  377. package/dest/kernel/index.d.ts +6 -2
  378. package/dest/kernel/index.d.ts.map +1 -1
  379. package/dest/kernel/index.js +5 -1
  380. package/dest/kernel/log_hash.d.ts +6 -2
  381. package/dest/kernel/log_hash.d.ts.map +1 -1
  382. package/dest/kernel/log_hash.js +23 -11
  383. package/dest/kernel/note_hash.js +1 -1
  384. package/dest/kernel/nullifier.js +1 -1
  385. package/dest/kernel/private_circuit_public_inputs.d.ts +21 -11
  386. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  387. package/dest/kernel/private_circuit_public_inputs.js +26 -19
  388. package/dest/kernel/private_context_inputs.d.ts +4 -3
  389. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  390. package/dest/kernel/private_context_inputs.js +7 -3
  391. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +10 -4
  392. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  393. package/dest/kernel/private_kernel_circuit_public_inputs.js +11 -4
  394. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  395. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  396. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  397. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  398. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  399. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  400. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  401. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  402. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  403. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  404. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  405. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  406. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  407. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  408. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  409. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  410. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  411. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  412. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  413. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  414. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  415. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  416. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  417. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  418. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  419. package/dest/kernel/private_log_data.d.ts +1 -1
  420. package/dest/kernel/private_log_data.d.ts.map +1 -1
  421. package/dest/kernel/private_log_data.js +1 -1
  422. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  423. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  424. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  425. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  426. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  427. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  428. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  429. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  430. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  431. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  432. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  433. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  434. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  435. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  436. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  437. package/dest/kernel/private_validation_requests.d.ts +3 -3
  438. package/dest/kernel/private_validation_requests.js +9 -9
  439. package/dest/kernel/public_call_request.d.ts +15 -30
  440. package/dest/kernel/public_call_request.d.ts.map +1 -1
  441. package/dest/kernel/public_call_request.js +16 -7
  442. package/dest/keys/derivation.d.ts +45 -6
  443. package/dest/keys/derivation.d.ts.map +1 -1
  444. package/dest/keys/derivation.js +59 -26
  445. package/dest/keys/key_types.d.ts +3 -3
  446. package/dest/keys/key_types.d.ts.map +1 -1
  447. package/dest/keys/public_key.d.ts +22 -3
  448. package/dest/keys/public_key.d.ts.map +1 -1
  449. package/dest/keys/public_key.js +20 -1
  450. package/dest/keys/public_keys.d.ts +55 -82
  451. package/dest/keys/public_keys.d.ts.map +1 -1
  452. package/dest/keys/public_keys.js +102 -74
  453. package/dest/keys/utils.js +5 -5
  454. package/dest/kv-store/config.d.ts +14 -0
  455. package/dest/kv-store/config.d.ts.map +1 -0
  456. package/dest/kv-store/config.js +21 -0
  457. package/dest/kv-store/index.d.ts +2 -0
  458. package/dest/kv-store/index.d.ts.map +1 -0
  459. package/dest/kv-store/index.js +1 -0
  460. package/dest/l1-contracts/index.d.ts +2 -2
  461. package/dest/l1-contracts/index.d.ts.map +1 -1
  462. package/dest/l1-contracts/index.js +1 -1
  463. package/dest/logs/app_tagging_secret.d.ts +69 -0
  464. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  465. package/dest/logs/app_tagging_secret.js +116 -0
  466. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  467. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  468. package/dest/logs/app_tagging_secret_kind.js +17 -0
  469. package/dest/logs/contract_class_log.d.ts +16 -35
  470. package/dest/logs/contract_class_log.d.ts.map +1 -1
  471. package/dest/logs/contract_class_log.js +11 -13
  472. package/dest/logs/debug_log_store.d.ts +30 -0
  473. package/dest/logs/debug_log_store.d.ts.map +1 -0
  474. package/dest/logs/debug_log_store.js +30 -0
  475. package/dest/logs/index.d.ts +9 -9
  476. package/dest/logs/index.d.ts.map +1 -1
  477. package/dest/logs/index.js +8 -8
  478. package/dest/logs/log_cursor.d.ts +51 -0
  479. package/dest/logs/log_cursor.d.ts.map +1 -0
  480. package/dest/logs/log_cursor.js +82 -0
  481. package/dest/logs/log_result.d.ts +54 -0
  482. package/dest/logs/log_result.d.ts.map +1 -0
  483. package/dest/logs/log_result.js +56 -0
  484. package/dest/logs/logs_query.d.ts +82 -0
  485. package/dest/logs/logs_query.d.ts.map +1 -0
  486. package/dest/logs/logs_query.js +50 -0
  487. package/dest/logs/pre_tag.d.ts +14 -22
  488. package/dest/logs/pre_tag.d.ts.map +1 -1
  489. package/dest/logs/pre_tag.js +2 -2
  490. package/dest/logs/private_log.d.ts +8 -13
  491. package/dest/logs/private_log.d.ts.map +1 -1
  492. package/dest/logs/private_log.js +6 -3
  493. package/dest/logs/public_log.d.ts +4 -3
  494. package/dest/logs/public_log.d.ts.map +1 -1
  495. package/dest/logs/public_log.js +2 -1
  496. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  497. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  498. package/dest/logs/query_all_logs_by_tags.js +64 -0
  499. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  500. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  501. package/dest/logs/shared_secret_derivation.js +49 -10
  502. package/dest/logs/siloed_tag.d.ts +12 -9
  503. package/dest/logs/siloed_tag.d.ts.map +1 -1
  504. package/dest/logs/siloed_tag.js +18 -7
  505. package/dest/logs/tag.d.ts +5 -6
  506. package/dest/logs/tag.d.ts.map +1 -1
  507. package/dest/logs/tag.js +5 -1
  508. package/dest/logs/tagging_index_range.d.ts +22 -0
  509. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  510. package/dest/logs/tagging_index_range.js +8 -0
  511. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  512. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  513. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  514. package/dest/messaging/index.d.ts +2 -1
  515. package/dest/messaging/index.d.ts.map +1 -1
  516. package/dest/messaging/index.js +1 -0
  517. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  518. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  519. package/dest/messaging/l1_to_l2_message.js +38 -15
  520. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  521. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  522. package/dest/messaging/l2_to_l1_membership.d.ts +70 -7
  523. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  524. package/dest/messaging/l2_to_l1_membership.js +130 -27
  525. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  526. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  527. package/dest/messaging/l2_to_l1_message.js +21 -12
  528. package/dest/noir/index.d.ts +7 -5
  529. package/dest/noir/index.d.ts.map +1 -1
  530. package/dest/note/index.d.ts +1 -2
  531. package/dest/note/index.d.ts.map +1 -1
  532. package/dest/note/index.js +0 -1
  533. package/dest/note/note.d.ts +2 -2
  534. package/dest/note/note.d.ts.map +1 -1
  535. package/dest/note/note_dao.d.ts +1 -1
  536. package/dest/note/note_dao.d.ts.map +1 -1
  537. package/dest/note/note_dao.js +1 -4
  538. package/dest/p2p/attestation_utils.d.ts +11 -1
  539. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  540. package/dest/p2p/attestation_utils.js +53 -1
  541. package/dest/p2p/block_proposal.d.ts +32 -15
  542. package/dest/p2p/block_proposal.d.ts.map +1 -1
  543. package/dest/p2p/block_proposal.js +58 -42
  544. package/dest/p2p/checkpoint_attestation.d.ts +25 -9
  545. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  546. package/dest/p2p/checkpoint_attestation.js +33 -24
  547. package/dest/p2p/checkpoint_proposal.d.ts +45 -25
  548. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  549. package/dest/p2p/checkpoint_proposal.js +68 -65
  550. package/dest/p2p/client_type.d.ts +2 -5
  551. package/dest/p2p/client_type.d.ts.map +1 -1
  552. package/dest/p2p/client_type.js +0 -7
  553. package/dest/p2p/consensus_payload.d.ts +33 -17
  554. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  555. package/dest/p2p/consensus_payload.js +47 -21
  556. package/dest/p2p/constants.d.ts +3 -1
  557. package/dest/p2p/constants.d.ts.map +1 -1
  558. package/dest/p2p/constants.js +1 -0
  559. package/dest/p2p/gossipable.d.ts +4 -4
  560. package/dest/p2p/gossipable.d.ts.map +1 -1
  561. package/dest/p2p/index.d.ts +2 -2
  562. package/dest/p2p/index.d.ts.map +1 -1
  563. package/dest/p2p/index.js +1 -1
  564. package/dest/p2p/peer_error.d.ts +3 -1
  565. package/dest/p2p/peer_error.d.ts.map +1 -1
  566. package/dest/p2p/peer_error.js +5 -0
  567. package/dest/p2p/signature_utils.d.ts +35 -17
  568. package/dest/p2p/signature_utils.d.ts.map +1 -1
  569. package/dest/p2p/signature_utils.js +125 -20
  570. package/dest/p2p/signed_txs.d.ts +15 -13
  571. package/dest/p2p/signed_txs.d.ts.map +1 -1
  572. package/dest/p2p/signed_txs.js +26 -24
  573. package/dest/p2p/topic_type.d.ts +3 -4
  574. package/dest/p2p/topic_type.d.ts.map +1 -1
  575. package/dest/p2p/topic_type.js +7 -24
  576. package/dest/p2p/validated_proposal.d.ts +35 -0
  577. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  578. package/dest/p2p/validated_proposal.js +17 -0
  579. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  580. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  581. package/dest/parity/parity_base_private_inputs.js +7 -5
  582. package/dest/parity/parity_public_inputs.d.ts +8 -4
  583. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  584. package/dest/parity/parity_public_inputs.js +6 -3
  585. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  586. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  587. package/dest/proofs/chonk_proof.d.ts +57 -7
  588. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  589. package/dest/proofs/chonk_proof.js +112 -15
  590. package/dest/proofs/recursive_proof.d.ts +2 -2
  591. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  592. package/dest/rollup/avm_proof_data.d.ts +3 -3
  593. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  594. package/dest/rollup/block_headers_hash.d.ts +1 -1
  595. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  596. package/dest/rollup/block_headers_hash.js +8 -2
  597. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  598. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  599. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  600. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  601. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  602. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  603. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  604. package/dest/rollup/checkpoint_header.d.ts +10 -5
  605. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  606. package/dest/rollup/checkpoint_header.js +22 -12
  607. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  608. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  609. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +9 -2
  610. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  611. package/dest/rollup/checkpoint_rollup_public_inputs.js +9 -0
  612. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +5 -5
  613. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  614. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  615. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  616. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  617. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  618. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  619. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  620. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  621. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  622. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  623. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  624. package/dest/rollup/root_rollup_public_inputs.d.ts +2 -2
  625. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  626. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  627. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  628. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  629. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  630. package/dest/schemas/schemas.d.ts +32 -78
  631. package/dest/schemas/schemas.d.ts.map +1 -1
  632. package/dest/schemas/schemas.js +2 -2
  633. package/dest/slashing/helpers.d.ts +2 -2
  634. package/dest/slashing/helpers.d.ts.map +1 -1
  635. package/dest/slashing/helpers.js +13 -7
  636. package/dest/slashing/index.d.ts +2 -3
  637. package/dest/slashing/index.d.ts.map +1 -1
  638. package/dest/slashing/index.js +1 -2
  639. package/dest/slashing/serialization.d.ts +2 -6
  640. package/dest/slashing/serialization.d.ts.map +1 -1
  641. package/dest/slashing/serialization.js +0 -60
  642. package/dest/slashing/types.d.ts +20 -112
  643. package/dest/slashing/types.d.ts.map +1 -1
  644. package/dest/slashing/types.js +22 -24
  645. package/dest/slashing/{tally.d.ts → votes.d.ts} +7 -2
  646. package/dest/slashing/votes.d.ts.map +1 -0
  647. package/dest/slashing/{tally.js → votes.js} +30 -2
  648. package/dest/snapshots/types.d.ts +15 -78
  649. package/dest/snapshots/types.d.ts.map +1 -1
  650. package/dest/stats/stats.d.ts +2 -2
  651. package/dest/stats/stats.d.ts.map +1 -1
  652. package/dest/tests/factories.d.ts +25 -30
  653. package/dest/tests/factories.d.ts.map +1 -1
  654. package/dest/tests/factories.js +91 -88
  655. package/dest/tests/mocks.d.ts +15 -7
  656. package/dest/tests/mocks.d.ts.map +1 -1
  657. package/dest/tests/mocks.js +69 -70
  658. package/dest/timetable/budgets.d.ts +57 -0
  659. package/dest/timetable/budgets.d.ts.map +1 -0
  660. package/dest/timetable/budgets.js +56 -0
  661. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  662. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  663. package/dest/timetable/build_proposer_timetable.js +17 -0
  664. package/dest/timetable/consensus_timetable.d.ts +70 -0
  665. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  666. package/dest/timetable/consensus_timetable.js +89 -0
  667. package/dest/timetable/index.d.ts +5 -37
  668. package/dest/timetable/index.d.ts.map +1 -1
  669. package/dest/timetable/index.js +4 -39
  670. package/dest/timetable/proposer_timetable.d.ts +106 -0
  671. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  672. package/dest/timetable/proposer_timetable.js +132 -0
  673. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  674. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  675. package/dest/trees/append_only_tree_snapshot.js +6 -3
  676. package/dest/trees/nullifier_leaf.d.ts +19 -42
  677. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  678. package/dest/trees/nullifier_leaf.js +3 -0
  679. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  680. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  681. package/dest/trees/nullifier_membership_witness.js +0 -21
  682. package/dest/trees/public_data_leaf.d.ts +22 -53
  683. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  684. package/dest/trees/public_data_leaf.js +7 -6
  685. package/dest/trees/public_data_witness.d.ts +19 -71
  686. package/dest/trees/public_data_witness.d.ts.map +1 -1
  687. package/dest/trees/public_data_witness.js +0 -27
  688. package/dest/tx/block_header.d.ts +7 -4
  689. package/dest/tx/block_header.d.ts.map +1 -1
  690. package/dest/tx/block_header.js +13 -6
  691. package/dest/tx/call_context.d.ts +4 -14
  692. package/dest/tx/call_context.d.ts.map +1 -1
  693. package/dest/tx/capsule.d.ts +7 -3
  694. package/dest/tx/capsule.d.ts.map +1 -1
  695. package/dest/tx/capsule.js +9 -3
  696. package/dest/tx/execution_payload.d.ts +1 -1
  697. package/dest/tx/execution_payload.d.ts.map +1 -1
  698. package/dest/tx/execution_payload.js +1 -1
  699. package/dest/tx/fee_provider.d.ts +10 -0
  700. package/dest/tx/fee_provider.d.ts.map +1 -0
  701. package/dest/tx/fee_provider.js +1 -0
  702. package/dest/tx/function_data.d.ts +4 -10
  703. package/dest/tx/function_data.d.ts.map +1 -1
  704. package/dest/tx/global_variable_builder.d.ts +4 -15
  705. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  706. package/dest/tx/global_variables.d.ts +19 -52
  707. package/dest/tx/global_variables.d.ts.map +1 -1
  708. package/dest/tx/global_variables.js +10 -14
  709. package/dest/tx/hashed_values.d.ts +10 -3
  710. package/dest/tx/hashed_values.d.ts.map +1 -1
  711. package/dest/tx/hashed_values.js +15 -4
  712. package/dest/tx/in_tx.d.ts +5 -17
  713. package/dest/tx/in_tx.d.ts.map +1 -1
  714. package/dest/tx/index.d.ts +2 -1
  715. package/dest/tx/index.d.ts.map +1 -1
  716. package/dest/tx/index.js +1 -0
  717. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  718. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  719. package/dest/tx/indexed_tx_effect.js +9 -6
  720. package/dest/tx/partial_state_reference.d.ts +22 -65
  721. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  722. package/dest/tx/partial_state_reference.js +6 -3
  723. package/dest/tx/private_execution_result.d.ts +11 -21
  724. package/dest/tx/private_execution_result.d.ts.map +1 -1
  725. package/dest/tx/private_execution_result.js +6 -6
  726. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  727. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  728. package/dest/tx/private_tx_constant_data.js +13 -4
  729. package/dest/tx/profiling.d.ts +70 -356
  730. package/dest/tx/profiling.d.ts.map +1 -1
  731. package/dest/tx/profiling.js +19 -9
  732. package/dest/tx/protocol_contracts.d.ts +5 -9
  733. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  734. package/dest/tx/protocol_contracts.js +2 -2
  735. package/dest/tx/proven_tx.d.ts +30 -74
  736. package/dest/tx/proven_tx.d.ts.map +1 -1
  737. package/dest/tx/proven_tx.js +6 -0
  738. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  739. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  740. package/dest/tx/public_call_request_with_calldata.js +6 -3
  741. package/dest/tx/public_simulation_output.d.ts +4 -2
  742. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  743. package/dest/tx/public_simulation_output.js +7 -3
  744. package/dest/tx/simulated_tx.d.ts +77 -1149
  745. package/dest/tx/simulated_tx.d.ts.map +1 -1
  746. package/dest/tx/simulated_tx.js +23 -13
  747. package/dest/tx/state_reference.d.ts +30 -117
  748. package/dest/tx/state_reference.d.ts.map +1 -1
  749. package/dest/tx/state_reference.js +6 -4
  750. package/dest/tx/tree_snapshots.d.ts +27 -84
  751. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  752. package/dest/tx/tree_snapshots.js +6 -4
  753. package/dest/tx/tx.d.ts +34 -17
  754. package/dest/tx/tx.d.ts.map +1 -1
  755. package/dest/tx/tx.js +70 -30
  756. package/dest/tx/tx_constant_data.d.ts +4 -3
  757. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  758. package/dest/tx/tx_constant_data.js +6 -3
  759. package/dest/tx/tx_context.d.ts +32 -131
  760. package/dest/tx/tx_context.d.ts.map +1 -1
  761. package/dest/tx/tx_context.js +6 -6
  762. package/dest/tx/tx_hash.d.ts +6 -4
  763. package/dest/tx/tx_hash.d.ts.map +1 -1
  764. package/dest/tx/tx_hash.js +13 -5
  765. package/dest/tx/tx_receipt.d.ts +151 -51
  766. package/dest/tx/tx_receipt.d.ts.map +1 -1
  767. package/dest/tx/tx_receipt.js +145 -51
  768. package/dest/tx/tx_request.js +2 -2
  769. package/dest/tx/validator/empty_validator.d.ts +2 -2
  770. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  771. package/dest/tx/validator/error_texts.d.ts +11 -3
  772. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  773. package/dest/tx/validator/error_texts.js +12 -2
  774. package/dest/tx/validator/tx_validator.d.ts +6 -28
  775. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  776. package/dest/tx/validator/tx_validator.js +0 -4
  777. package/dest/types/shared.d.ts +4 -12
  778. package/dest/types/shared.d.ts.map +1 -1
  779. package/dest/types/shared.js +6 -12
  780. package/dest/update-checker/dev_version.d.ts +3 -0
  781. package/dest/update-checker/dev_version.d.ts.map +1 -0
  782. package/dest/update-checker/dev_version.js +1 -0
  783. package/dest/update-checker/index.d.ts +4 -2
  784. package/dest/update-checker/index.d.ts.map +1 -1
  785. package/dest/update-checker/index.js +3 -1
  786. package/dest/update-checker/package_version.d.ts +6 -0
  787. package/dest/update-checker/package_version.d.ts.map +1 -0
  788. package/dest/update-checker/package_version.js +13 -0
  789. package/dest/update-checker/version_checker.d.ts +25 -0
  790. package/dest/update-checker/version_checker.d.ts.map +1 -0
  791. package/dest/update-checker/version_checker.js +50 -0
  792. package/dest/validators/errors.d.ts +21 -1
  793. package/dest/validators/errors.d.ts.map +1 -1
  794. package/dest/validators/errors.js +19 -0
  795. package/dest/validators/schemas.d.ts +147 -614
  796. package/dest/validators/schemas.d.ts.map +1 -1
  797. package/dest/validators/schemas.js +9 -6
  798. package/dest/validators/types.d.ts +21 -4
  799. package/dest/validators/types.d.ts.map +1 -1
  800. package/dest/versioning/versioning.d.ts +4 -2
  801. package/dest/versioning/versioning.d.ts.map +1 -1
  802. package/dest/versioning/versioning.js +5 -2
  803. package/dest/vks/verification_key.d.ts +4 -139
  804. package/dest/vks/verification_key.d.ts.map +1 -1
  805. package/dest/vks/verification_key.js +5 -126
  806. package/dest/world-state/genesis_data.d.ts +21 -0
  807. package/dest/world-state/genesis_data.d.ts.map +1 -0
  808. package/dest/world-state/genesis_data.js +8 -0
  809. package/dest/world-state/index.d.ts +2 -1
  810. package/dest/world-state/index.d.ts.map +1 -1
  811. package/dest/world-state/index.js +1 -0
  812. package/dest/world-state/world_state_revision.d.ts +15 -26
  813. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  814. package/dest/world-state/world_state_revision.js +7 -1
  815. package/package.json +15 -13
  816. package/src/abi/abi.ts +86 -21
  817. package/src/abi/authorization_selector.ts +2 -8
  818. package/src/abi/buffer.ts +38 -5
  819. package/src/abi/contract_artifact.ts +63 -15
  820. package/src/abi/decoder.ts +36 -82
  821. package/src/abi/encoder.ts +85 -6
  822. package/src/abi/event_metadata_definition.ts +2 -0
  823. package/src/abi/event_selector.ts +2 -8
  824. package/src/abi/function_selector.ts +4 -13
  825. package/src/abi/function_signature_decoder.ts +77 -0
  826. package/src/abi/index.ts +1 -0
  827. package/src/abi/note_selector.ts +3 -12
  828. package/src/abi/selector.ts +1 -1
  829. package/src/abi/utils.ts +31 -4
  830. package/src/auth_witness/auth_witness.ts +3 -3
  831. package/src/avm/avm.ts +6 -1
  832. package/src/avm/message_pack.ts +12 -3
  833. package/src/avm/revert_code.ts +20 -25
  834. package/src/aztec-address/index.ts +50 -17
  835. package/src/block/attestation_info.ts +16 -11
  836. package/src/block/block_data.ts +25 -0
  837. package/src/block/block_hash.ts +21 -14
  838. package/src/block/block_parameter.ts +72 -4
  839. package/src/block/index.ts +1 -1
  840. package/src/block/l2_block.ts +13 -1
  841. package/src/block/l2_block_info.ts +8 -6
  842. package/src/block/l2_block_source.ts +276 -122
  843. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +81 -0
  844. package/src/block/l2_block_stream/index.ts +1 -0
  845. package/src/block/l2_block_stream/interfaces.ts +101 -9
  846. package/src/block/l2_block_stream/l2_block_stream.ts +268 -158
  847. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  848. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  849. package/src/block/proposal/attestations_and_signers.ts +85 -24
  850. package/src/block/test/l2_tips_store_test_suite.ts +276 -22
  851. package/src/block/validate_block_result.ts +48 -2
  852. package/src/checkpoint/checkpoint.ts +55 -18
  853. package/src/checkpoint/checkpoint_data.ts +91 -0
  854. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  855. package/src/checkpoint/digest.ts +28 -0
  856. package/src/checkpoint/index.ts +6 -0
  857. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  858. package/src/checkpoint/published_checkpoint.ts +3 -1
  859. package/src/checkpoint/simulation_overrides.ts +171 -0
  860. package/src/checkpoint/validate.ts +262 -0
  861. package/src/config/chain-config.ts +13 -16
  862. package/src/config/index.ts +1 -0
  863. package/src/config/network-consensus-config.ts +299 -0
  864. package/src/config/node-rpc-config.ts +51 -1
  865. package/src/config/sequencer-config.ts +82 -5
  866. package/src/contract/complete_address.ts +7 -3
  867. package/src/contract/contract_address.ts +14 -13
  868. package/src/contract/contract_class.ts +3 -3
  869. package/src/contract/contract_class_id.ts +7 -6
  870. package/src/contract/contract_instance.ts +73 -3
  871. package/src/contract/index.ts +0 -2
  872. package/src/contract/interfaces/contract_class.ts +2 -82
  873. package/src/contract/interfaces/contract_data_source.ts +2 -4
  874. package/src/contract/interfaces/contract_instance.ts +32 -10
  875. package/src/contract/interfaces/node-info.ts +14 -0
  876. package/src/contract/partial_address.ts +8 -2
  877. package/src/contract/private_function.ts +5 -3
  878. package/src/database-version/version_manager.ts +113 -6
  879. package/src/deserialization/index.ts +35 -2
  880. package/src/epoch-helpers/index.ts +27 -0
  881. package/src/file-store/factory.ts +20 -4
  882. package/src/file-store/http.ts +29 -10
  883. package/src/file-store/index.ts +2 -0
  884. package/src/file-store/local.ts +15 -5
  885. package/src/file-store/memory.ts +94 -0
  886. package/src/file-store/s3.ts +12 -3
  887. package/src/gas/README.md +318 -0
  888. package/src/gas/fee_math.ts +120 -0
  889. package/src/gas/gas.ts +8 -3
  890. package/src/gas/gas_fees.ts +29 -10
  891. package/src/gas/gas_settings.ts +63 -15
  892. package/src/gas/index.ts +2 -0
  893. package/src/gas/tx_gas_limits.ts +123 -0
  894. package/src/ha-signing/config.ts +170 -0
  895. package/src/ha-signing/index.ts +29 -0
  896. package/src/ha-signing/local_config.ts +65 -0
  897. package/src/ha-signing/types.ts +126 -0
  898. package/src/hash/hash.ts +75 -18
  899. package/src/hash/map_slot.ts +2 -2
  900. package/src/interfaces/allowed_element.ts +29 -9
  901. package/src/interfaces/api_limit.ts +6 -1
  902. package/src/interfaces/archiver.ts +97 -88
  903. package/src/interfaces/aztec-node-admin.ts +58 -20
  904. package/src/interfaces/aztec-node-debug.ts +92 -0
  905. package/src/interfaces/aztec-node.ts +420 -264
  906. package/src/interfaces/block-builder.ts +71 -15
  907. package/src/interfaces/block_response.ts +92 -0
  908. package/src/interfaces/chain_tips.ts +16 -0
  909. package/src/interfaces/checkpoint_parameter.ts +20 -0
  910. package/src/interfaces/checkpoint_response.ts +84 -0
  911. package/src/interfaces/client.ts +8 -1
  912. package/src/interfaces/configs.ts +114 -14
  913. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  914. package/src/interfaces/l1_publish_info.ts +40 -0
  915. package/src/interfaces/l2_logs_source.ts +13 -39
  916. package/src/interfaces/merkle_tree_operations.ts +12 -21
  917. package/src/interfaces/p2p-bootstrap.ts +2 -2
  918. package/src/interfaces/p2p.ts +80 -30
  919. package/src/interfaces/private_kernel_prover.ts +98 -12
  920. package/src/interfaces/prover-agent.ts +1 -1
  921. package/src/interfaces/prover-client.ts +11 -8
  922. package/src/interfaces/prover-node.ts +36 -21
  923. package/src/interfaces/proving-job-source.ts +4 -4
  924. package/src/interfaces/proving-job.ts +18 -6
  925. package/src/interfaces/public_storage_override.ts +26 -0
  926. package/src/interfaces/server.ts +5 -1
  927. package/src/interfaces/server_circuit_prover.ts +2 -2
  928. package/src/interfaces/slasher.ts +19 -10
  929. package/src/interfaces/tx_provider.ts +10 -0
  930. package/src/interfaces/validator.ts +103 -40
  931. package/src/interfaces/world_state.ts +19 -4
  932. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  933. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  934. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  935. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  936. package/src/kernel/hints/index.ts +2 -2
  937. package/src/kernel/hints/key_validation_request.ts +18 -16
  938. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  939. package/src/kernel/hints/read_request.ts +1 -1
  940. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  941. package/src/kernel/index.ts +5 -1
  942. package/src/kernel/log_hash.ts +36 -13
  943. package/src/kernel/note_hash.ts +1 -1
  944. package/src/kernel/nullifier.ts +1 -1
  945. package/src/kernel/private_circuit_public_inputs.ts +26 -15
  946. package/src/kernel/private_context_inputs.ts +10 -3
  947. package/src/kernel/private_kernel_circuit_public_inputs.ts +11 -2
  948. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  949. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  950. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  951. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  952. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  953. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  954. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  955. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  956. package/src/kernel/private_log_data.ts +4 -1
  957. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  958. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  959. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  960. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  961. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  962. package/src/kernel/private_validation_requests.ts +8 -8
  963. package/src/kernel/public_call_request.ts +22 -7
  964. package/src/keys/derivation.ts +83 -26
  965. package/src/keys/key_types.ts +6 -2
  966. package/src/keys/public_key.ts +26 -2
  967. package/src/keys/public_keys.ts +125 -111
  968. package/src/keys/utils.ts +5 -5
  969. package/src/kv-store/config.ts +29 -0
  970. package/src/kv-store/index.ts +1 -0
  971. package/src/l1-contracts/index.ts +1 -1
  972. package/src/logs/app_tagging_secret.ts +160 -0
  973. package/src/logs/app_tagging_secret_kind.ts +21 -0
  974. package/src/logs/contract_class_log.ts +15 -14
  975. package/src/logs/debug_log_store.ts +54 -0
  976. package/src/logs/index.ts +8 -8
  977. package/src/logs/log_cursor.ts +110 -0
  978. package/src/logs/log_result.ts +104 -0
  979. package/src/logs/logs_query.ts +138 -0
  980. package/src/logs/pre_tag.ts +3 -6
  981. package/src/logs/private_log.ts +9 -3
  982. package/src/logs/public_log.ts +4 -2
  983. package/src/logs/query_all_logs_by_tags.ts +98 -0
  984. package/src/logs/shared_secret_derivation.ts +55 -11
  985. package/src/logs/siloed_tag.ts +28 -14
  986. package/src/logs/tag.ts +9 -9
  987. package/src/logs/tagging_index_range.ts +18 -0
  988. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  989. package/src/messaging/index.ts +1 -0
  990. package/src/messaging/l1_to_l2_message.ts +56 -15
  991. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  992. package/src/messaging/l2_to_l1_membership.ts +189 -35
  993. package/src/messaging/l2_to_l1_message.ts +29 -9
  994. package/src/noir/index.ts +6 -3
  995. package/src/note/index.ts +0 -1
  996. package/src/note/note_dao.ts +1 -4
  997. package/src/p2p/attestation_utils.ts +64 -1
  998. package/src/p2p/block_proposal.ts +112 -39
  999. package/src/p2p/checkpoint_attestation.ts +44 -31
  1000. package/src/p2p/checkpoint_proposal.ts +149 -86
  1001. package/src/p2p/client_type.ts +0 -6
  1002. package/src/p2p/consensus_payload.ts +68 -24
  1003. package/src/p2p/constants.ts +3 -0
  1004. package/src/p2p/gossipable.ts +4 -4
  1005. package/src/p2p/index.ts +1 -1
  1006. package/src/p2p/peer_error.ts +7 -0
  1007. package/src/p2p/signature_utils.ts +117 -23
  1008. package/src/p2p/signed_txs.ts +46 -28
  1009. package/src/p2p/topic_type.ts +8 -15
  1010. package/src/p2p/validated_proposal.ts +43 -0
  1011. package/src/parity/parity_base_private_inputs.ts +10 -4
  1012. package/src/parity/parity_public_inputs.ts +9 -2
  1013. package/src/proofs/chonk_proof.ts +132 -12
  1014. package/src/rollup/avm_proof_data.ts +2 -2
  1015. package/src/rollup/block_headers_hash.ts +11 -2
  1016. package/src/rollup/block_rollup_public_inputs.ts +13 -0
  1017. package/src/rollup/checkpoint_header.ts +18 -4
  1018. package/src/rollup/checkpoint_rollup_public_inputs.ts +10 -0
  1019. package/src/schemas/schemas.ts +6 -1
  1020. package/src/slashing/helpers.ts +17 -9
  1021. package/src/slashing/index.ts +1 -2
  1022. package/src/slashing/serialization.ts +1 -81
  1023. package/src/slashing/types.ts +31 -49
  1024. package/src/slashing/{tally.ts → votes.ts} +34 -1
  1025. package/src/stats/stats.ts +6 -2
  1026. package/src/tests/factories.ts +123 -122
  1027. package/src/tests/mocks.ts +111 -84
  1028. package/src/timetable/README.md +609 -0
  1029. package/src/timetable/budgets.ts +87 -0
  1030. package/src/timetable/build_proposer_timetable.ts +42 -0
  1031. package/src/timetable/consensus_timetable.ts +126 -0
  1032. package/src/timetable/index.ts +4 -66
  1033. package/src/timetable/proposer_timetable.ts +190 -0
  1034. package/src/timetable/timetable-example.svg +108 -0
  1035. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1036. package/src/trees/nullifier_leaf.ts +4 -0
  1037. package/src/trees/nullifier_membership_witness.ts +0 -21
  1038. package/src/trees/public_data_leaf.ts +11 -5
  1039. package/src/trees/public_data_witness.ts +0 -31
  1040. package/src/tx/block_header.ts +18 -7
  1041. package/src/tx/capsule.ts +10 -2
  1042. package/src/tx/execution_payload.ts +2 -1
  1043. package/src/tx/fee_provider.ts +10 -0
  1044. package/src/tx/global_variable_builder.ts +3 -20
  1045. package/src/tx/global_variables.ts +15 -23
  1046. package/src/tx/hashed_values.ts +19 -9
  1047. package/src/tx/index.ts +1 -0
  1048. package/src/tx/indexed_tx_effect.ts +18 -6
  1049. package/src/tx/partial_state_reference.ts +8 -3
  1050. package/src/tx/private_execution_result.ts +5 -5
  1051. package/src/tx/private_tx_constant_data.ts +25 -2
  1052. package/src/tx/profiling.ts +18 -9
  1053. package/src/tx/protocol_contracts.ts +2 -2
  1054. package/src/tx/proven_tx.ts +6 -0
  1055. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1056. package/src/tx/public_simulation_output.ts +4 -0
  1057. package/src/tx/simulated_tx.ts +39 -20
  1058. package/src/tx/state_reference.ts +9 -4
  1059. package/src/tx/tree_snapshots.ts +9 -4
  1060. package/src/tx/tx.ts +98 -37
  1061. package/src/tx/tx_constant_data.ts +8 -3
  1062. package/src/tx/tx_context.ts +8 -3
  1063. package/src/tx/tx_hash.ts +20 -5
  1064. package/src/tx/tx_receipt.ts +269 -74
  1065. package/src/tx/tx_request.ts +2 -2
  1066. package/src/tx/validator/empty_validator.ts +1 -1
  1067. package/src/tx/validator/error_texts.ts +15 -2
  1068. package/src/tx/validator/tx_validator.ts +2 -6
  1069. package/src/types/shared.ts +8 -13
  1070. package/src/update-checker/dev_version.ts +2 -0
  1071. package/src/update-checker/index.ts +3 -1
  1072. package/src/update-checker/package_version.ts +17 -0
  1073. package/src/update-checker/version_checker.ts +65 -0
  1074. package/src/validators/errors.ts +26 -0
  1075. package/src/validators/schemas.ts +13 -4
  1076. package/src/validators/types.ts +25 -5
  1077. package/src/versioning/versioning.ts +5 -2
  1078. package/src/vks/verification_key.ts +5 -184
  1079. package/src/world-state/genesis_data.ts +37 -0
  1080. package/src/world-state/index.ts +1 -0
  1081. package/src/world-state/world_state_revision.ts +9 -1
  1082. package/dest/abi/mocked_keys.d.ts +0 -2
  1083. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1084. package/dest/abi/mocked_keys.js +0 -1
  1085. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1086. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1087. package/dest/block/checkpointed_l2_block.js +0 -46
  1088. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1089. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1090. package/dest/contract/private_function_membership_proof.js +0 -124
  1091. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1092. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1093. package/dest/contract/utility_function_membership_proof.js +0 -87
  1094. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1095. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1096. package/dest/interfaces/epoch-prover.js +0 -1
  1097. package/dest/interfaces/get_logs_response.d.ts +0 -97
  1098. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1099. package/dest/interfaces/get_logs_response.js +0 -12
  1100. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  1101. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1102. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1103. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1104. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1105. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1106. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1107. package/dest/l1-contracts/slash_factory.js +0 -158
  1108. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1109. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1110. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1111. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1112. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1113. package/dest/logs/extended_contract_class_log.js +0 -67
  1114. package/dest/logs/extended_public_log.d.ts +0 -106
  1115. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1116. package/dest/logs/extended_public_log.js +0 -73
  1117. package/dest/logs/log_filter.d.ts +0 -22
  1118. package/dest/logs/log_filter.d.ts.map +0 -1
  1119. package/dest/logs/log_filter.js +0 -11
  1120. package/dest/logs/log_id.d.ts +0 -85
  1121. package/dest/logs/log_id.d.ts.map +0 -1
  1122. package/dest/logs/log_id.js +0 -94
  1123. package/dest/logs/message_context.d.ts +0 -29
  1124. package/dest/logs/message_context.d.ts.map +0 -1
  1125. package/dest/logs/message_context.js +0 -56
  1126. package/dest/logs/pending_tagged_log.d.ts +0 -14
  1127. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  1128. package/dest/logs/pending_tagged_log.js +0 -34
  1129. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1130. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1131. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1132. package/dest/note/notes_filter.d.ts +0 -27
  1133. package/dest/note/notes_filter.d.ts.map +0 -1
  1134. package/dest/note/notes_filter.js +0 -11
  1135. package/dest/slashing/empire.d.ts +0 -31
  1136. package/dest/slashing/empire.d.ts.map +0 -1
  1137. package/dest/slashing/empire.js +0 -86
  1138. package/dest/slashing/tally.d.ts.map +0 -1
  1139. package/dest/update-checker/update-checker.d.ts +0 -49
  1140. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1141. package/dest/update-checker/update-checker.js +0 -130
  1142. package/src/abi/mocked_keys.ts +0 -2
  1143. package/src/block/checkpointed_l2_block.ts +0 -70
  1144. package/src/contract/private_function_membership_proof.ts +0 -167
  1145. package/src/contract/utility_function_membership_proof.ts +0 -118
  1146. package/src/interfaces/epoch-prover.ts +0 -72
  1147. package/src/interfaces/get_logs_response.ts +0 -35
  1148. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1149. package/src/l1-contracts/slash_factory.ts +0 -180
  1150. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1151. package/src/logs/extended_contract_class_log.ts +0 -87
  1152. package/src/logs/extended_public_log.ts +0 -94
  1153. package/src/logs/log_filter.ts +0 -31
  1154. package/src/logs/log_id.ts +0 -125
  1155. package/src/logs/message_context.ts +0 -62
  1156. package/src/logs/pending_tagged_log.ts +0 -41
  1157. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1158. package/src/note/notes_filter.ts +0 -38
  1159. package/src/slashing/empire.ts +0 -103
  1160. package/src/update-checker/update-checker.ts +0 -166
@@ -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
@@ -2,6 +2,7 @@ import type {
2
2
  ABIParameter,
3
3
  ABIParameterVisibility,
4
4
  AbiErrorType,
5
+ AbiNamedValue,
5
6
  AbiType,
6
7
  AbiValue,
7
8
  DebugFileMap,
@@ -19,7 +20,7 @@ export const AZTEC_VIEW_ATTRIBUTE = 'abi_view';
19
20
  export interface NoirFunctionAbi {
20
21
  /** The parameters of the function. */
21
22
  parameters: ABIParameter[];
22
- /** The return type of the function. */
23
+ /** The return type of the function, or null for void functions. */
23
24
  return_type: {
24
25
  /**
25
26
  * The type of the return value.
@@ -29,7 +30,7 @@ export interface NoirFunctionAbi {
29
30
  * The visibility of the return value.
30
31
  */
31
32
  visibility: ABIParameterVisibility;
32
- };
33
+ } | null;
33
34
  /** Mapping of error selector => error type */
34
35
  error_types: Partial<Record<string, AbiErrorType>>;
35
36
  }
@@ -64,6 +65,8 @@ interface NoirFunctionEntry {
64
65
  export interface NoirCompiledContract {
65
66
  /** The name of the contract. */
66
67
  name: string;
68
+ /** The version of the Aztec stack that compiled this contract. */
69
+ aztec_version: string;
67
70
  /** Is the contract's public bytecode transpiled? */
68
71
  transpiled?: boolean;
69
72
  /** The functions of the contract. */
@@ -71,7 +74,7 @@ export interface NoirCompiledContract {
71
74
  /** The events of the contract */
72
75
  outputs: {
73
76
  structs: Record<string, AbiType[]>;
74
- globals: Record<string, AbiValue[]>;
77
+ globals: Record<string, (AbiNamedValue | AbiValue)[]>;
75
78
  };
76
79
  /** The map of file ID to the source code and path of the file. */
77
80
  file_map: DebugFileMap;
package/src/note/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './comparator.js';
2
2
  export * from './note_dao.js';
3
- export * from './notes_filter.js';
4
3
  export * from './note_status.js';
5
4
  export * from './note.js';
@@ -1,6 +1,5 @@
1
1
  import { BlockNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { Point } from '@aztec/foundation/curves/grumpkin';
4
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
5
  import { Note } from '@aztec/stdlib/note';
@@ -148,9 +147,7 @@ export class NoteDao {
148
147
  * @returns - Its size in bytes.
149
148
  */
150
149
  public getSize() {
151
- const noteSize = 4 + this.note.items.length * Fr.SIZE_IN_BYTES;
152
- // 2 numbers for txIndexInBlock and noteIndexInTx (4 bytes each)
153
- return noteSize + AztecAddress.SIZE_IN_BYTES * 2 + Fr.SIZE_IN_BYTES * 4 + TxHash.SIZE + Point.SIZE_IN_BYTES + 8;
150
+ return this.toBuffer().length;
154
151
  }
155
152
 
156
153
  static async random({
@@ -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
  }
@@ -33,3 +40,59 @@ export function orderAttestations(
33
40
 
34
41
  return orderedAttestations;
35
42
  }
43
+
44
+ /**
45
+ * Trims attestations to the minimum required number to save L1 calldata gas.
46
+ * Each signature costs 65 bytes of calldata vs 20 bytes for just an address.
47
+ *
48
+ * Priority order for keeping attestations:
49
+ * 1. The proposer's attestation (required by L1 contract - MissingProposerSignature revert)
50
+ * 2. Attestations from the local node's validator keys
51
+ * 3. Remaining attestations filled to reach the required count
52
+ */
53
+ export function trimAttestations(
54
+ attestations: CheckpointAttestation[],
55
+ required: number,
56
+ proposerAddress: EthAddress,
57
+ localAddresses: EthAddress[],
58
+ ): CheckpointAttestation[] {
59
+ if (attestations.length <= required) {
60
+ return attestations;
61
+ }
62
+
63
+ const proposerAttestation: CheckpointAttestation[] = [];
64
+ const localAttestations: CheckpointAttestation[] = [];
65
+ const otherAttestations: CheckpointAttestation[] = [];
66
+
67
+ for (const attestation of attestations) {
68
+ const sender = attestation.getSender();
69
+ if (!sender) {
70
+ continue;
71
+ }
72
+ if (sender.equals(proposerAddress)) {
73
+ proposerAttestation.push(attestation);
74
+ } else if (localAddresses.some(addr => addr.equals(sender))) {
75
+ localAttestations.push(attestation);
76
+ } else {
77
+ otherAttestations.push(attestation);
78
+ }
79
+ }
80
+
81
+ const result: CheckpointAttestation[] = [...proposerAttestation];
82
+
83
+ for (const att of localAttestations) {
84
+ if (result.length >= required) {
85
+ break;
86
+ }
87
+ result.push(att);
88
+ }
89
+
90
+ for (const att of otherAttestations) {
91
+ if (result.length >= required) {
92
+ break;
93
+ }
94
+ result.push(att);
95
+ }
96
+
97
+ return result;
98
+ }
@@ -1,33 +1,42 @@
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
- import { DutyType, type SigningContext } from '@aztec/validator-ha-signer/types';
14
+
15
+ import type { TypedDataDefinition } from 'viem';
10
16
 
11
17
  import type { L2Block } from '../block/l2_block.js';
12
18
  import type { L2BlockInfo } from '../block/l2_block_info.js';
13
19
  import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
20
+ import { DutyType, type SigningContext } from '../ha-signing/index.js';
14
21
  import { BlockHeader } from '../tx/block_header.js';
15
22
  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,17 +56,17 @@ 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 */
57
68
  public readonly blockHeader: BlockHeader,
58
69
 
59
- // TODO(palla/mbps): Is this really needed? Can we just derive it from the indexWithinCheckpoint of the parent block and the slot number?
60
- // See the block-proposal-handler, we have a lot of extra validations to check this is correct, so maybe we can avoid storing it here.
61
70
  /** Index of this block within the checkpoint (0-indexed) */
62
71
  public readonly indexWithinCheckpoint: IndexWithinCheckpoint,
63
72
 
@@ -73,14 +82,17 @@ export class BlockProposal extends Gossipable {
73
82
  /** The proposer's signature over the block data */
74
83
  public readonly signature: Signature,
75
84
 
85
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
86
+ public readonly signatureContext: CoordinationSignatureContext,
87
+
76
88
  /** The signed transactions in the block (optional, for DA guarantees) */
77
89
  public readonly signedTxs?: SignedTxs,
78
90
  ) {
79
91
  super();
80
92
  }
81
93
 
82
- override generateP2PMessageIdentifier(): Promise<Buffer32> {
83
- return Promise.resolve(new BlockProposalHash(keccak256(this.signature.toBuffer())));
94
+ override generateP2PMessageIdentifier(): Promise<BaseBuffer32> {
95
+ return Promise.resolve(new Buffer32(this.getPayloadHashBuffer()));
84
96
  }
85
97
 
86
98
  get archive(): Fr {
@@ -114,9 +126,8 @@ export class BlockProposal extends Gossipable {
114
126
  * Get the payload to sign for this block proposal.
115
127
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
116
128
  */
117
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
129
+ getPayloadToSign(): Buffer {
118
130
  return serializeToBuffer([
119
- domainSeparator,
120
131
  this.blockHeader,
121
132
  this.indexWithinCheckpoint,
122
133
  this.inHash,
@@ -126,14 +137,32 @@ export class BlockProposal extends Gossipable {
126
137
  ]);
127
138
  }
128
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
+
129
155
  static async createProposalFromSigner(
130
156
  blockHeader: BlockHeader,
157
+ checkpointNumber: CheckpointNumber,
131
158
  indexWithinCheckpoint: IndexWithinCheckpoint,
132
159
  inHash: Fr,
133
160
  archiveRoot: Fr,
134
161
  txHashes: TxHash[],
135
162
  txs: Tx[] | undefined,
136
- 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>,
137
166
  ): Promise<BlockProposal> {
138
167
  // Create a temporary proposal to get the payload to sign
139
168
  const tempProposal = new BlockProposal(
@@ -143,57 +172,76 @@ export class BlockProposal extends Gossipable {
143
172
  archiveRoot,
144
173
  txHashes,
145
174
  Signature.empty(),
175
+ signatureContext,
146
176
  );
147
177
 
148
178
  // Create the block signing context
149
179
  const blockContext: SigningContext = {
150
180
  slot: blockHeader.globalVariables.slotNumber,
151
181
  blockNumber: blockHeader.globalVariables.blockNumber,
182
+ checkpointNumber,
152
183
  blockIndexWithinCheckpoint: indexWithinCheckpoint,
153
184
  dutyType: DutyType.BLOCK_PROPOSAL,
154
185
  };
155
186
 
156
- const hashed = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.blockProposal);
157
- const sig = await payloadSigner(hashed, blockContext);
187
+ const typedData = getCoordinationSignatureTypedData(tempProposal);
188
+ const sig = await proposalSigner(typedData, blockContext);
158
189
 
159
190
  // If txs are provided, sign them as well
160
191
  let signedTxs: SignedTxs | undefined;
161
192
  if (txs) {
162
193
  const txsSigningContext: SigningContext = { dutyType: DutyType.TXS };
163
- const txsSigner = (payload: Buffer32) => payloadSigner(payload, txsSigningContext);
164
- 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
+ );
165
200
  }
166
201
 
167
- 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
+ );
168
212
  }
169
213
 
170
214
  /**
171
215
  * Lazily evaluate the sender of the proposal; result is cached.
172
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
173
- * @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
174
220
  */
175
221
  getSender(): EthAddress | undefined {
176
- if (!this.sender) {
177
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.blockProposal);
178
- const blockSender = tryRecoverAddress(hashed, this.signature);
222
+ if (this.cachedSender === undefined) {
223
+ const blockSender = recoverCoordinationSigner(this, this.signature);
179
224
 
180
- // If there's signedTxs, verify the sender matches
181
225
  if (blockSender && this.signedTxs) {
226
+ if (!coordinationSignatureContextEquals(this.signedTxs.signatureContext, this.signatureContext)) {
227
+ this.cachedSender = null;
228
+ return undefined;
229
+ }
182
230
  const txsSender = this.signedTxs.getSender();
183
231
  if (!txsSender || !txsSender.equals(blockSender)) {
184
- return undefined; // Sender mismatch - fail
232
+ this.cachedSender = null;
233
+ return undefined;
185
234
  }
186
235
  }
187
236
 
188
- // Cache the sender for later use
189
- this.sender = blockSender;
237
+ this.cachedSender = blockSender ?? null;
190
238
  }
191
239
 
192
- return this.sender;
240
+ return this.cachedSender ?? undefined;
193
241
  }
194
242
 
195
243
  getPayload() {
196
- return this.getPayloadToSign(SignatureDomainSeparator.blockProposal);
244
+ return this.getPayloadToSign();
197
245
  }
198
246
 
199
247
  toBuffer(): Buffer {
@@ -203,6 +251,7 @@ export class BlockProposal extends Gossipable {
203
251
  this.inHash,
204
252
  this.archiveRoot,
205
253
  this.signature,
254
+ serializeCoordinationSignatureContext(this.signatureContext),
206
255
  this.txHashes.length,
207
256
  this.txHashes,
208
257
  ];
@@ -223,6 +272,7 @@ export class BlockProposal extends Gossipable {
223
272
  const inHash = reader.readObject(Fr);
224
273
  const archiveRoot = reader.readObject(Fr);
225
274
  const signature = reader.readObject(Signature);
275
+ const signatureContext = readCoordinationSignatureContext(reader);
226
276
  const txHashCount = reader.readNumber();
227
277
  if (txHashCount > MAX_TXS_PER_BLOCK) {
228
278
  throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
@@ -240,12 +290,21 @@ export class BlockProposal extends Gossipable {
240
290
  archiveRoot,
241
291
  txHashes,
242
292
  signature,
293
+ signatureContext,
243
294
  signedTxs,
244
295
  );
245
296
  }
246
297
  }
247
298
 
248
- 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
+ );
249
308
  }
250
309
 
251
310
  getSize(): number {
@@ -255,6 +314,8 @@ export class BlockProposal extends Gossipable {
255
314
  this.inHash.size +
256
315
  this.archiveRoot.size +
257
316
  this.signature.getSize() +
317
+ 4 /* chainId */ +
318
+ 20 /* rollupAddress */ +
258
319
  4 /* txHashes.length */ +
259
320
  this.txHashes.length * TxHash.SIZE +
260
321
  4 /* hasSignedTxs flag */ +
@@ -263,7 +324,15 @@ export class BlockProposal extends Gossipable {
263
324
  }
264
325
 
265
326
  static empty(): BlockProposal {
266
- 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
+ );
267
336
  }
268
337
 
269
338
  static random(): BlockProposal {
@@ -274,6 +343,7 @@ export class BlockProposal extends Gossipable {
274
343
  Fr.random(),
275
344
  [TxHash.random(), TxHash.random()],
276
345
  Signature.random(),
346
+ EMPTY_COORDINATION_SIGNATURE_CONTEXT,
277
347
  );
278
348
  }
279
349
 
@@ -285,6 +355,8 @@ export class BlockProposal extends Gossipable {
285
355
  archiveRoot: this.archiveRoot.toString(),
286
356
  signature: this.signature.toString(),
287
357
  txHashes: this.txHashes.map(h => h.toString()),
358
+ chainId: this.signatureContext.chainId,
359
+ rollupAddress: this.signatureContext.rollupAddress.toString(),
288
360
  };
289
361
  }
290
362
 
@@ -310,6 +382,7 @@ export class BlockProposal extends Gossipable {
310
382
  this.archiveRoot,
311
383
  this.txHashes,
312
384
  this.signature,
385
+ this.signatureContext,
313
386
  );
314
387
  }
315
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,20 +82,43 @@ 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).
99
- const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.proposerSignature);
100
- // Cache the proposer for later use
101
- this.proposer = proposal.getSender();
89
+ const proposal = new CheckpointProposal(
90
+ this.payload.header,
91
+ this.payload.archive,
92
+ this.payload.feeAssetPriceModifier,
93
+ this.proposerSignature,
94
+ this.payload.signatureContext,
95
+ );
96
+ this.cachedProposer = proposal.getSender() ?? null;
102
97
  }
98
+ return this.cachedProposer ?? undefined;
99
+ }
103
100
 
104
- 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);
105
110
  }
106
111
 
107
112
  getPayload(): Buffer {
108
- 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());
109
122
  }
110
123
 
111
124
  toBuffer(): Buffer {