@aztec/stdlib 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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 (1187) hide show
  1. package/dest/abi/abi.d.ts +142 -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 +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/contract_artifact.d.ts +1 -1
  10. package/dest/abi/contract_artifact.d.ts.map +1 -1
  11. package/dest/abi/contract_artifact.js +14 -7
  12. package/dest/abi/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 +30 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +20 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +22 -0
  44. package/dest/auth_witness/auth_witness.d.ts +3 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1777 -10484
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +6 -3
  50. package/dest/avm/avm_accumulated_data.d.ts +50 -87
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +185 -937
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +824 -5617
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/contract_storage_read.d.ts +13 -1
  57. package/dest/avm/contract_storage_read.d.ts.map +1 -1
  58. package/dest/avm/contract_storage_update_request.d.ts +13 -1
  59. package/dest/avm/contract_storage_update_request.d.ts.map +1 -1
  60. package/dest/avm/message_pack.js +12 -3
  61. package/dest/avm/public_call_stack_item_compressed.d.ts +3 -1
  62. package/dest/avm/public_call_stack_item_compressed.d.ts.map +1 -1
  63. package/dest/avm/public_data_read.d.ts +10 -1
  64. package/dest/avm/public_data_read.d.ts.map +1 -1
  65. package/dest/avm/public_data_update_request.d.ts +10 -1
  66. package/dest/avm/public_data_update_request.d.ts.map +1 -1
  67. package/dest/avm/public_data_write.d.ts +12 -12
  68. package/dest/avm/public_data_write.d.ts.map +1 -1
  69. package/dest/avm/public_inner_call_request.d.ts +4 -1
  70. package/dest/avm/public_inner_call_request.d.ts.map +1 -1
  71. package/dest/avm/revert_code.d.ts +9 -10
  72. package/dest/avm/revert_code.d.ts.map +1 -1
  73. package/dest/avm/revert_code.js +13 -21
  74. package/dest/aztec-address/index.d.ts +8 -8
  75. package/dest/aztec-address/index.d.ts.map +1 -1
  76. package/dest/aztec-address/index.js +9 -6
  77. package/dest/block/attestation_info.d.ts +3 -2
  78. package/dest/block/attestation_info.d.ts.map +1 -1
  79. package/dest/block/attestation_info.js +7 -5
  80. package/dest/block/block_data.d.ts +27 -0
  81. package/dest/block/block_data.d.ts.map +1 -0
  82. package/dest/block/block_data.js +12 -0
  83. package/dest/block/block_hash.d.ts +20 -15
  84. package/dest/block/block_hash.d.ts.map +1 -1
  85. package/dest/block/block_hash.js +23 -20
  86. package/dest/block/block_parameter.d.ts +38 -4
  87. package/dest/block/block_parameter.d.ts.map +1 -1
  88. package/dest/block/block_parameter.js +55 -2
  89. package/dest/block/body.d.ts +1 -1
  90. package/dest/block/body.d.ts.map +1 -1
  91. package/dest/block/body.js +2 -1
  92. package/dest/block/in_block.d.ts +9 -28
  93. package/dest/block/in_block.d.ts.map +1 -1
  94. package/dest/block/in_block.js +5 -5
  95. package/dest/block/index.d.ts +2 -4
  96. package/dest/block/index.d.ts.map +1 -1
  97. package/dest/block/index.js +1 -3
  98. package/dest/block/l2_block.d.ts +64 -87
  99. package/dest/block/l2_block.d.ts.map +1 -1
  100. package/dest/block/l2_block.js +73 -109
  101. package/dest/block/l2_block_info.d.ts +10 -29
  102. package/dest/block/l2_block_info.d.ts.map +1 -1
  103. package/dest/block/l2_block_info.js +6 -5
  104. package/dest/block/l2_block_source.d.ts +220 -322
  105. package/dest/block/l2_block_source.d.ts.map +1 -1
  106. package/dest/block/l2_block_source.js +69 -2
  107. package/dest/block/l2_block_stream/interfaces.d.ts +14 -8
  108. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  109. package/dest/block/l2_block_stream/l2_block_stream.d.ts +6 -3
  110. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  111. package/dest/block/l2_block_stream/l2_block_stream.js +80 -40
  112. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
  113. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  114. package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
  115. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +6 -3
  116. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  117. package/dest/block/l2_block_stream/l2_tips_store_base.js +43 -11
  118. package/dest/block/proposal/attestations_and_signers.d.ts +19 -30
  119. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  120. package/dest/block/proposal/attestations_and_signers.js +26 -18
  121. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  122. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  123. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  124. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  125. package/dest/block/test/l2_tips_store_test_suite.js +7 -11
  126. package/dest/block/validate_block_result.d.ts +1 -1
  127. package/dest/block/validate_block_result.d.ts.map +1 -1
  128. package/dest/block/validate_block_result.js +5 -4
  129. package/dest/checkpoint/checkpoint.d.ts +61 -102
  130. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  131. package/dest/checkpoint/checkpoint.js +53 -17
  132. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  133. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  134. package/dest/checkpoint/checkpoint_data.js +38 -0
  135. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  136. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  137. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  138. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  139. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  140. package/dest/checkpoint/digest.d.ts +18 -0
  141. package/dest/checkpoint/digest.d.ts.map +1 -0
  142. package/dest/checkpoint/digest.js +12 -0
  143. package/dest/checkpoint/index.d.ts +6 -1
  144. package/dest/checkpoint/index.d.ts.map +1 -1
  145. package/dest/checkpoint/index.js +5 -0
  146. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  147. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  148. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  149. package/dest/checkpoint/published_checkpoint.d.ts +55 -190
  150. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  151. package/dest/checkpoint/published_checkpoint.js +5 -5
  152. package/dest/checkpoint/validate.d.ts +36 -0
  153. package/dest/checkpoint/validate.d.ts.map +1 -0
  154. package/dest/checkpoint/validate.js +120 -0
  155. package/dest/config/chain-config.d.ts +4 -9
  156. package/dest/config/chain-config.d.ts.map +1 -1
  157. package/dest/config/chain-config.js +13 -12
  158. package/dest/config/index.d.ts +3 -1
  159. package/dest/config/index.d.ts.map +1 -1
  160. package/dest/config/index.js +2 -0
  161. package/dest/config/node-rpc-config.js +1 -1
  162. package/dest/config/pipelining-config.d.ts +15 -0
  163. package/dest/config/pipelining-config.d.ts.map +1 -0
  164. package/dest/config/pipelining-config.js +18 -0
  165. package/dest/config/sequencer-config.d.ts +14 -0
  166. package/dest/config/sequencer-config.d.ts.map +1 -0
  167. package/dest/config/sequencer-config.js +38 -0
  168. package/dest/contract/complete_address.d.ts +6 -2
  169. package/dest/contract/complete_address.d.ts.map +1 -1
  170. package/dest/contract/complete_address.js +6 -2
  171. package/dest/contract/contract_address.d.ts +6 -6
  172. package/dest/contract/contract_address.d.ts.map +1 -1
  173. package/dest/contract/contract_address.js +9 -8
  174. package/dest/contract/contract_class.d.ts +2 -3
  175. package/dest/contract/contract_class.d.ts.map +1 -1
  176. package/dest/contract/contract_class_id.d.ts +3 -3
  177. package/dest/contract/contract_class_id.d.ts.map +1 -1
  178. package/dest/contract/contract_class_id.js +7 -6
  179. package/dest/contract/contract_deployment_data.d.ts +18 -64
  180. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  181. package/dest/contract/contract_instance.d.ts +4 -2
  182. package/dest/contract/contract_instance.d.ts.map +1 -1
  183. package/dest/contract/contract_instance.js +10 -3
  184. package/dest/contract/index.d.ts +1 -5
  185. package/dest/contract/index.d.ts.map +1 -1
  186. package/dest/contract/index.js +0 -4
  187. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  188. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  189. package/dest/contract/interfaces/contract_class.js +1 -28
  190. package/dest/contract/interfaces/contract_instance.d.ts +41 -95
  191. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  192. package/dest/contract/interfaces/contract_instance.js +4 -2
  193. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  194. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  195. package/dest/contract/interfaces/node-info.d.ts +3 -1
  196. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  197. package/dest/contract/interfaces/node-info.js +2 -1
  198. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  199. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  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 +5 -8
  203. package/dest/database-version/database_version.d.ts +52 -0
  204. package/dest/database-version/database_version.d.ts.map +1 -0
  205. package/dest/database-version/database_version.js +69 -0
  206. package/dest/database-version/version_manager.d.ts +8 -50
  207. package/dest/database-version/version_manager.d.ts.map +1 -1
  208. package/dest/database-version/version_manager.js +13 -67
  209. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +2 -2
  210. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -1
  211. package/dest/delayed_public_mutable/delayed_public_mutable_values.js +7 -10
  212. package/dest/deserialization/index.d.ts +11 -0
  213. package/dest/deserialization/index.d.ts.map +1 -0
  214. package/dest/deserialization/index.js +10 -0
  215. package/dest/epoch-helpers/index.d.ts +16 -18
  216. package/dest/epoch-helpers/index.d.ts.map +1 -1
  217. package/dest/epoch-helpers/index.js +23 -3
  218. package/dest/errors/proving_error.d.ts +2 -2
  219. package/dest/errors/proving_error.d.ts.map +1 -1
  220. package/dest/file-store/factory.d.ts +4 -3
  221. package/dest/file-store/factory.d.ts.map +1 -1
  222. package/dest/file-store/factory.js +2 -2
  223. package/dest/file-store/http.d.ts +9 -2
  224. package/dest/file-store/http.d.ts.map +1 -1
  225. package/dest/file-store/http.js +20 -9
  226. package/dest/file-store/index.d.ts +2 -1
  227. package/dest/file-store/index.d.ts.map +1 -1
  228. package/dest/file-store/local.d.ts +3 -3
  229. package/dest/file-store/local.d.ts.map +1 -1
  230. package/dest/file-store/local.js +13 -4
  231. package/dest/file-store/s3.d.ts +1 -1
  232. package/dest/file-store/s3.d.ts.map +1 -1
  233. package/dest/file-store/s3.js +11 -3
  234. package/dest/gas/fee_math.d.ts +49 -0
  235. package/dest/gas/fee_math.d.ts.map +1 -0
  236. package/dest/gas/fee_math.js +80 -0
  237. package/dest/gas/gas.d.ts +9 -14
  238. package/dest/gas/gas.d.ts.map +1 -1
  239. package/dest/gas/gas.js +6 -3
  240. package/dest/gas/gas_fees.d.ts +13 -14
  241. package/dest/gas/gas_fees.d.ts.map +1 -1
  242. package/dest/gas/gas_fees.js +20 -4
  243. package/dest/gas/gas_settings.d.ts +66 -86
  244. package/dest/gas/gas_settings.d.ts.map +1 -1
  245. package/dest/gas/gas_settings.js +56 -9
  246. package/dest/gas/index.d.ts +2 -1
  247. package/dest/gas/index.d.ts.map +1 -1
  248. package/dest/gas/index.js +1 -0
  249. package/dest/ha-signing/config.d.ts +72 -0
  250. package/dest/ha-signing/config.d.ts.map +1 -0
  251. package/dest/ha-signing/config.js +88 -0
  252. package/dest/ha-signing/index.d.ts +4 -0
  253. package/dest/ha-signing/index.d.ts.map +1 -0
  254. package/dest/ha-signing/index.js +3 -0
  255. package/dest/ha-signing/local_config.d.ts +32 -0
  256. package/dest/ha-signing/local_config.d.ts.map +1 -0
  257. package/dest/ha-signing/local_config.js +24 -0
  258. package/dest/ha-signing/types.d.ts +90 -0
  259. package/dest/ha-signing/types.d.ts.map +1 -0
  260. package/dest/ha-signing/types.js +39 -0
  261. package/dest/hash/hash.d.ts +35 -1
  262. package/dest/hash/hash.d.ts.map +1 -1
  263. package/dest/hash/hash.js +78 -11
  264. package/dest/hash/map_slot.d.ts +1 -1
  265. package/dest/hash/map_slot.d.ts.map +1 -1
  266. package/dest/hash/map_slot.js +4 -3
  267. package/dest/interfaces/allowed_element.d.ts +17 -35
  268. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  269. package/dest/interfaces/allowed_element.js +8 -8
  270. package/dest/interfaces/api_limit.d.ts +2 -1
  271. package/dest/interfaces/api_limit.d.ts.map +1 -1
  272. package/dest/interfaces/api_limit.js +1 -0
  273. package/dest/interfaces/archiver.d.ts +22 -32
  274. package/dest/interfaces/archiver.d.ts.map +1 -1
  275. package/dest/interfaces/archiver.js +209 -61
  276. package/dest/interfaces/aztec-node-admin.d.ts +111 -230
  277. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  278. package/dest/interfaces/aztec-node-admin.js +68 -17
  279. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  280. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  281. package/dest/interfaces/aztec-node-debug.js +21 -0
  282. package/dest/interfaces/aztec-node.d.ts +111 -131
  283. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  284. package/dest/interfaces/aztec-node.js +300 -76
  285. package/dest/interfaces/block-builder.d.ts +55 -18
  286. package/dest/interfaces/block-builder.d.ts.map +1 -1
  287. package/dest/interfaces/block-builder.js +16 -2
  288. package/dest/interfaces/block_response.d.ts +90 -0
  289. package/dest/interfaces/block_response.d.ts.map +1 -0
  290. package/dest/interfaces/block_response.js +30 -0
  291. package/dest/interfaces/chain_tips.d.ts +50 -0
  292. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  293. package/dest/interfaces/chain_tips.js +11 -0
  294. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  295. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  296. package/dest/interfaces/checkpoint_parameter.js +18 -0
  297. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  298. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  299. package/dest/interfaces/checkpoint_response.js +26 -0
  300. package/dest/interfaces/client.d.ts +8 -2
  301. package/dest/interfaces/client.d.ts.map +1 -1
  302. package/dest/interfaces/client.js +7 -1
  303. package/dest/interfaces/configs.d.ts +75 -119
  304. package/dest/interfaces/configs.d.ts.map +1 -1
  305. package/dest/interfaces/configs.js +18 -3
  306. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  307. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  308. package/dest/interfaces/l1_publish_info.js +26 -0
  309. package/dest/interfaces/l2_logs_source.d.ts +14 -25
  310. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  311. package/dest/interfaces/l2_logs_source.js +5 -0
  312. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  313. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  314. package/dest/interfaces/p2p-bootstrap.js +8 -2
  315. package/dest/interfaces/p2p.d.ts +18 -13
  316. package/dest/interfaces/p2p.d.ts.map +1 -1
  317. package/dest/interfaces/p2p.js +28 -5
  318. package/dest/interfaces/private_kernel_prover.d.ts +62 -2
  319. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  320. package/dest/interfaces/prover-agent.d.ts +5 -23
  321. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.js +4 -1
  323. package/dest/interfaces/prover-broker.d.ts +16 -1
  324. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  325. package/dest/interfaces/prover-broker.js +4 -1
  326. package/dest/interfaces/prover-client.d.ts +19 -21
  327. package/dest/interfaces/prover-client.d.ts.map +1 -1
  328. package/dest/interfaces/prover-client.js +18 -4
  329. package/dest/interfaces/prover-node.js +22 -8
  330. package/dest/interfaces/proving-job-source.js +24 -4
  331. package/dest/interfaces/proving-job.d.ts +751 -5802
  332. package/dest/interfaces/proving-job.d.ts.map +1 -1
  333. package/dest/interfaces/proving-job.js +1 -1
  334. package/dest/interfaces/public_storage_override.d.ts +22 -0
  335. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  336. package/dest/interfaces/public_storage_override.js +7 -0
  337. package/dest/interfaces/server.d.ts +6 -1
  338. package/dest/interfaces/server.d.ts.map +1 -1
  339. package/dest/interfaces/server.js +5 -0
  340. package/dest/interfaces/slasher.d.ts +27 -59
  341. package/dest/interfaces/slasher.d.ts.map +1 -1
  342. package/dest/interfaces/slasher.js +10 -4
  343. package/dest/interfaces/tx_provider.d.ts +8 -3
  344. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  345. package/dest/interfaces/validator.d.ts +95 -131
  346. package/dest/interfaces/validator.d.ts.map +1 -1
  347. package/dest/interfaces/validator.js +16 -5
  348. package/dest/interfaces/world_state.d.ts +6 -5
  349. package/dest/interfaces/world_state.d.ts.map +1 -1
  350. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  351. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  352. package/dest/kernel/hints/build_note_hash_read_request_hints.js +29 -16
  353. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +4 -4
  354. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  355. package/dest/kernel/hints/build_nullifier_read_request_hints.js +28 -17
  356. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  357. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  358. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  359. package/dest/kernel/hints/index.d.ts +2 -2
  360. package/dest/kernel/hints/index.js +2 -2
  361. package/dest/kernel/hints/key_validation_hint.d.ts +2 -1
  362. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  363. package/dest/kernel/hints/key_validation_request.d.ts +12 -7
  364. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  365. package/dest/kernel/hints/key_validation_request.js +20 -18
  366. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  367. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  368. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  369. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +13 -1
  370. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  371. package/dest/kernel/hints/read_request.d.ts +7 -1
  372. package/dest/kernel/hints/read_request.d.ts.map +1 -1
  373. package/dest/kernel/hints/read_request_hints.d.ts +7 -1
  374. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  375. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  376. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  377. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  378. package/dest/kernel/index.d.ts +5 -1
  379. package/dest/kernel/index.d.ts.map +1 -1
  380. package/dest/kernel/index.js +4 -0
  381. package/dest/kernel/log_hash.d.ts +6 -2
  382. package/dest/kernel/log_hash.d.ts.map +1 -1
  383. package/dest/kernel/log_hash.js +21 -9
  384. package/dest/kernel/private_accumulated_data.d.ts +23 -1
  385. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  386. package/dest/kernel/private_call_data.d.ts +25 -1
  387. package/dest/kernel/private_call_data.d.ts.map +1 -1
  388. package/dest/kernel/private_call_request.d.ts +16 -1
  389. package/dest/kernel/private_call_request.d.ts.map +1 -1
  390. package/dest/kernel/private_circuit_public_inputs.d.ts +82 -9
  391. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  392. package/dest/kernel/private_circuit_public_inputs.js +16 -16
  393. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +34 -4
  394. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  395. package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
  396. package/dest/kernel/private_kernel_data.d.ts +7 -1
  397. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  398. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +23 -0
  399. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  400. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +35 -0
  401. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +24 -0
  402. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  403. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +37 -0
  404. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +22 -1
  405. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  406. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  407. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  408. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  409. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  410. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  411. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  412. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts +7 -1
  413. package/dest/kernel/private_kernel_inner_circuit_private_inputs.d.ts.map +1 -1
  414. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  415. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  416. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +4 -1
  417. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  418. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +12 -3
  419. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  420. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
  421. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +34 -8
  422. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  423. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  424. package/dest/kernel/private_to_avm_accumulated_data.d.ts +26 -70
  425. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  426. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  427. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  428. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  429. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  430. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  431. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  432. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  433. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +21 -4
  434. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  435. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  436. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +22 -6
  437. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  438. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  439. package/dest/kernel/private_validation_requests.d.ts +13 -4
  440. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  441. package/dest/kernel/private_validation_requests.js +9 -9
  442. package/dest/kernel/public_call_request.d.ts +36 -30
  443. package/dest/kernel/public_call_request.d.ts.map +1 -1
  444. package/dest/kernel/public_call_request.js +16 -7
  445. package/dest/kernel/utils/optional_number.d.ts +7 -1
  446. package/dest/kernel/utils/optional_number.d.ts.map +1 -1
  447. package/dest/keys/derivation.d.ts +9 -5
  448. package/dest/keys/derivation.d.ts.map +1 -1
  449. package/dest/keys/derivation.js +28 -18
  450. package/dest/keys/key_types.d.ts +3 -3
  451. package/dest/keys/key_types.d.ts.map +1 -1
  452. package/dest/keys/public_key.d.ts +22 -3
  453. package/dest/keys/public_key.d.ts.map +1 -1
  454. package/dest/keys/public_key.js +20 -1
  455. package/dest/keys/public_keys.d.ts +56 -79
  456. package/dest/keys/public_keys.d.ts.map +1 -1
  457. package/dest/keys/public_keys.js +102 -74
  458. package/dest/keys/utils.d.ts +1 -1
  459. package/dest/keys/utils.d.ts.map +1 -1
  460. package/dest/keys/utils.js +8 -4
  461. package/dest/kv-store/config.d.ts +14 -0
  462. package/dest/kv-store/config.d.ts.map +1 -0
  463. package/dest/kv-store/config.js +21 -0
  464. package/dest/kv-store/index.d.ts +2 -0
  465. package/dest/kv-store/index.d.ts.map +1 -0
  466. package/dest/kv-store/index.js +1 -0
  467. package/dest/l1-contracts/index.d.ts +2 -2
  468. package/dest/l1-contracts/index.d.ts.map +1 -1
  469. package/dest/l1-contracts/index.js +1 -1
  470. package/dest/logs/app_tagging_secret.d.ts +46 -0
  471. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  472. package/dest/logs/app_tagging_secret.js +109 -0
  473. package/dest/logs/app_tagging_secret_kind.d.ts +6 -0
  474. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  475. package/dest/logs/app_tagging_secret_kind.js +4 -0
  476. package/dest/logs/contract_class_log.d.ts +16 -34
  477. package/dest/logs/contract_class_log.d.ts.map +1 -1
  478. package/dest/logs/contract_class_log.js +11 -9
  479. package/dest/logs/debug_log_store.d.ts +30 -0
  480. package/dest/logs/debug_log_store.d.ts.map +1 -0
  481. package/dest/logs/debug_log_store.js +30 -0
  482. package/dest/logs/index.d.ts +9 -7
  483. package/dest/logs/index.d.ts.map +1 -1
  484. package/dest/logs/index.js +8 -6
  485. package/dest/logs/log_cursor.d.ts +51 -0
  486. package/dest/logs/log_cursor.d.ts.map +1 -0
  487. package/dest/logs/log_cursor.js +82 -0
  488. package/dest/logs/log_result.d.ts +54 -0
  489. package/dest/logs/log_result.d.ts.map +1 -0
  490. package/dest/logs/log_result.js +56 -0
  491. package/dest/logs/logs_query.d.ts +82 -0
  492. package/dest/logs/logs_query.d.ts.map +1 -0
  493. package/dest/logs/logs_query.js +50 -0
  494. package/dest/logs/message_context.d.ts +4 -7
  495. package/dest/logs/message_context.d.ts.map +1 -1
  496. package/dest/logs/message_context.js +23 -9
  497. package/dest/logs/pending_tagged_log.d.ts +2 -3
  498. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  499. package/dest/logs/pending_tagged_log.js +2 -2
  500. package/dest/logs/pre_tag.d.ts +14 -22
  501. package/dest/logs/pre_tag.d.ts.map +1 -1
  502. package/dest/logs/pre_tag.js +2 -2
  503. package/dest/logs/private_log.d.ts +8 -13
  504. package/dest/logs/private_log.d.ts.map +1 -1
  505. package/dest/logs/private_log.js +6 -3
  506. package/dest/logs/public_log.d.ts +4 -3
  507. package/dest/logs/public_log.d.ts.map +1 -1
  508. package/dest/logs/public_log.js +2 -1
  509. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  510. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  511. package/dest/logs/query_all_logs_by_tags.js +64 -0
  512. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  513. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  514. package/dest/logs/shared_secret_derivation.js +15 -9
  515. package/dest/logs/siloed_tag.d.ts +12 -9
  516. package/dest/logs/siloed_tag.d.ts.map +1 -1
  517. package/dest/logs/siloed_tag.js +18 -6
  518. package/dest/logs/tag.d.ts +5 -6
  519. package/dest/logs/tag.d.ts.map +1 -1
  520. package/dest/logs/tag.js +5 -1
  521. package/dest/logs/tagging_index_range.d.ts +22 -0
  522. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  523. package/dest/logs/tagging_index_range.js +8 -0
  524. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  525. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  526. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  527. package/dest/messaging/inbox_leaf.d.ts +3 -1
  528. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  529. package/dest/messaging/index.d.ts +2 -1
  530. package/dest/messaging/index.d.ts.map +1 -1
  531. package/dest/messaging/index.js +1 -0
  532. package/dest/messaging/l1_actor.d.ts +7 -1
  533. package/dest/messaging/l1_actor.d.ts.map +1 -1
  534. package/dest/messaging/l1_to_l2_message.d.ts +8 -2
  535. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  536. package/dest/messaging/l1_to_l2_message.js +11 -13
  537. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  538. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  539. package/dest/messaging/l2_actor.d.ts +7 -1
  540. package/dest/messaging/l2_actor.d.ts.map +1 -1
  541. package/dest/messaging/l2_to_l1_membership.d.ts +64 -8
  542. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  543. package/dest/messaging/l2_to_l1_membership.js +122 -32
  544. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  545. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  546. package/dest/messaging/l2_to_l1_message.js +21 -12
  547. package/dest/messaging/out_hash.d.ts +41 -4
  548. package/dest/messaging/out_hash.d.ts.map +1 -1
  549. package/dest/messaging/out_hash.js +52 -26
  550. package/dest/noir/index.d.ts +5 -3
  551. package/dest/noir/index.d.ts.map +1 -1
  552. package/dest/note/index.d.ts +1 -2
  553. package/dest/note/index.d.ts.map +1 -1
  554. package/dest/note/index.js +0 -1
  555. package/dest/note/note.d.ts +2 -2
  556. package/dest/note/note.d.ts.map +1 -1
  557. package/dest/note/note_dao.d.ts +36 -5
  558. package/dest/note/note_dao.d.ts.map +1 -1
  559. package/dest/note/note_dao.js +14 -14
  560. package/dest/p2p/attestation_utils.d.ts +11 -1
  561. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  562. package/dest/p2p/attestation_utils.js +45 -0
  563. package/dest/p2p/block_proposal.d.ts +51 -19
  564. package/dest/p2p/block_proposal.d.ts.map +1 -1
  565. package/dest/p2p/block_proposal.js +77 -43
  566. package/dest/p2p/checkpoint_attestation.d.ts +20 -9
  567. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  568. package/dest/p2p/checkpoint_attestation.js +23 -24
  569. package/dest/p2p/checkpoint_proposal.d.ts +65 -26
  570. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  571. package/dest/p2p/checkpoint_proposal.js +90 -66
  572. package/dest/p2p/client_type.d.ts +2 -5
  573. package/dest/p2p/client_type.d.ts.map +1 -1
  574. package/dest/p2p/client_type.js +0 -7
  575. package/dest/p2p/consensus_payload.d.ts +35 -19
  576. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  577. package/dest/p2p/consensus_payload.js +47 -24
  578. package/dest/p2p/constants.d.ts +5 -0
  579. package/dest/p2p/constants.d.ts.map +1 -0
  580. package/dest/p2p/constants.js +3 -0
  581. package/dest/p2p/gossipable.d.ts +4 -4
  582. package/dest/p2p/gossipable.d.ts.map +1 -1
  583. package/dest/p2p/index.d.ts +2 -2
  584. package/dest/p2p/index.d.ts.map +1 -1
  585. package/dest/p2p/index.js +1 -1
  586. package/dest/p2p/message_validator.d.ts +18 -3
  587. package/dest/p2p/message_validator.d.ts.map +1 -1
  588. package/dest/p2p/message_validator.js +2 -1
  589. package/dest/p2p/peer_error.d.ts +3 -1
  590. package/dest/p2p/peer_error.d.ts.map +1 -1
  591. package/dest/p2p/peer_error.js +5 -0
  592. package/dest/p2p/signature_utils.d.ts +28 -19
  593. package/dest/p2p/signature_utils.d.ts.map +1 -1
  594. package/dest/p2p/signature_utils.js +118 -21
  595. package/dest/p2p/signed_txs.d.ts +17 -13
  596. package/dest/p2p/signed_txs.d.ts.map +1 -1
  597. package/dest/p2p/signed_txs.js +32 -25
  598. package/dest/p2p/topic_type.d.ts +3 -4
  599. package/dest/p2p/topic_type.d.ts.map +1 -1
  600. package/dest/p2p/topic_type.js +7 -23
  601. package/dest/parity/parity_base_private_inputs.d.ts +10 -4
  602. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  603. package/dest/parity/parity_base_private_inputs.js +7 -5
  604. package/dest/parity/parity_public_inputs.d.ts +11 -4
  605. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  606. package/dest/parity/parity_public_inputs.js +6 -3
  607. package/dest/parity/parity_root_private_inputs.d.ts +3 -2
  608. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  609. package/dest/proofs/chonk_proof.d.ts +57 -7
  610. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  611. package/dest/proofs/chonk_proof.js +121 -19
  612. package/dest/proofs/proof.d.ts +4 -1
  613. package/dest/proofs/proof.d.ts.map +1 -1
  614. package/dest/proofs/recursive_proof.d.ts +11 -2
  615. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  616. package/dest/rollup/base_rollup_hints.d.ts +34 -1
  617. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  618. package/dest/rollup/block_constant_data.d.ts +12 -1
  619. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  620. package/dest/rollup/block_headers_hash.d.ts +1 -1
  621. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  622. package/dest/rollup/block_headers_hash.js +9 -3
  623. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +5 -2
  624. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  625. package/dest/rollup/block_rollup_public_inputs.d.ts +55 -4
  626. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  627. package/dest/rollup/block_rollup_public_inputs.js +14 -2
  628. package/dest/rollup/block_root_rollup_private_inputs.d.ts +69 -6
  629. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  630. package/dest/rollup/checkpoint_constant_data.d.ts +10 -1
  631. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  632. package/dest/rollup/checkpoint_header.d.ts +31 -4
  633. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  634. package/dest/rollup/checkpoint_header.js +23 -7
  635. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +5 -2
  636. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  637. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +53 -11
  638. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  639. package/dest/rollup/checkpoint_rollup_public_inputs.js +20 -7
  640. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +48 -7
  641. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  642. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +13 -2
  643. package/dest/rollup/epoch_constant_data.d.ts +16 -1
  644. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  645. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  646. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  647. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  648. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  649. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  650. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  651. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  652. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  653. package/dest/rollup/root_rollup_private_inputs.d.ts +7 -2
  654. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  655. package/dest/rollup/root_rollup_public_inputs.d.ts +18 -8
  656. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  657. package/dest/rollup/root_rollup_public_inputs.js +7 -4
  658. package/dest/rollup/tree_snapshot_diff_hints.d.ts +24 -1
  659. package/dest/rollup/tree_snapshot_diff_hints.d.ts.map +1 -1
  660. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +5 -2
  661. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  662. package/dest/rollup/tx_rollup_public_inputs.d.ts +30 -2
  663. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  664. package/dest/schemas/schemas.d.ts +33 -79
  665. package/dest/schemas/schemas.d.ts.map +1 -1
  666. package/dest/schemas/schemas.js +2 -2
  667. package/dest/slashing/helpers.d.ts +2 -2
  668. package/dest/slashing/helpers.d.ts.map +1 -1
  669. package/dest/slashing/helpers.js +16 -7
  670. package/dest/slashing/index.d.ts +2 -3
  671. package/dest/slashing/index.d.ts.map +1 -1
  672. package/dest/slashing/index.js +1 -2
  673. package/dest/slashing/serialization.d.ts +2 -6
  674. package/dest/slashing/serialization.d.ts.map +1 -1
  675. package/dest/slashing/serialization.js +0 -60
  676. package/dest/slashing/types.d.ts +21 -111
  677. package/dest/slashing/types.d.ts.map +1 -1
  678. package/dest/slashing/types.js +28 -24
  679. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  680. package/dest/slashing/votes.d.ts.map +1 -0
  681. package/dest/slashing/{tally.js → votes.js} +35 -3
  682. package/dest/snapshots/types.d.ts +15 -78
  683. package/dest/snapshots/types.d.ts.map +1 -1
  684. package/dest/stats/stats.d.ts +2 -4
  685. package/dest/stats/stats.d.ts.map +1 -1
  686. package/dest/tests/factories.d.ts +26 -33
  687. package/dest/tests/factories.d.ts.map +1 -1
  688. package/dest/tests/factories.js +99 -100
  689. package/dest/tests/jest.js +1 -1
  690. package/dest/tests/mocks.d.ts +31 -17
  691. package/dest/tests/mocks.d.ts.map +1 -1
  692. package/dest/tests/mocks.js +100 -84
  693. package/dest/timetable/index.d.ts +87 -0
  694. package/dest/timetable/index.d.ts.map +1 -0
  695. package/dest/timetable/index.js +243 -0
  696. package/dest/trees/append_only_tree_snapshot.d.ts +21 -14
  697. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  698. package/dest/trees/append_only_tree_snapshot.js +6 -3
  699. package/dest/trees/nullifier_leaf.d.ts +31 -42
  700. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  701. package/dest/trees/nullifier_leaf.js +3 -0
  702. package/dest/trees/nullifier_membership_witness.d.ts +25 -59
  703. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  704. package/dest/trees/nullifier_membership_witness.js +2 -14
  705. package/dest/trees/public_data_leaf.d.ts +37 -53
  706. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  707. package/dest/trees/public_data_leaf.js +7 -6
  708. package/dest/trees/public_data_witness.d.ts +26 -58
  709. package/dest/trees/public_data_witness.d.ts.map +1 -1
  710. package/dest/tx/block_header.d.ts +19 -4
  711. package/dest/tx/block_header.d.ts.map +1 -1
  712. package/dest/tx/block_header.js +16 -5
  713. package/dest/tx/call_context.d.ts +16 -14
  714. package/dest/tx/call_context.d.ts.map +1 -1
  715. package/dest/tx/capsule.d.ts +10 -3
  716. package/dest/tx/capsule.d.ts.map +1 -1
  717. package/dest/tx/capsule.js +9 -3
  718. package/dest/tx/execution_payload.d.ts +9 -1
  719. package/dest/tx/execution_payload.d.ts.map +1 -1
  720. package/dest/tx/fee_provider.d.ts +10 -0
  721. package/dest/tx/fee_provider.d.ts.map +1 -0
  722. package/dest/tx/fee_provider.js +1 -0
  723. package/dest/tx/function_data.d.ts +7 -11
  724. package/dest/tx/function_data.d.ts.map +1 -1
  725. package/dest/tx/global_variable_builder.d.ts +3 -4
  726. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  727. package/dest/tx/global_variables.d.ts +27 -52
  728. package/dest/tx/global_variables.d.ts.map +1 -1
  729. package/dest/tx/global_variables.js +8 -12
  730. package/dest/tx/hashed_values.d.ts +10 -3
  731. package/dest/tx/hashed_values.d.ts.map +1 -1
  732. package/dest/tx/hashed_values.js +6 -3
  733. package/dest/tx/in_tx.d.ts +6 -18
  734. package/dest/tx/in_tx.d.ts.map +1 -1
  735. package/dest/tx/index.d.ts +2 -1
  736. package/dest/tx/index.d.ts.map +1 -1
  737. package/dest/tx/index.js +1 -0
  738. package/dest/tx/indexed_tx_effect.d.ts +6 -20
  739. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  740. package/dest/tx/indexed_tx_effect.js +2 -2
  741. package/dest/tx/partial_state_reference.d.ts +25 -65
  742. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  743. package/dest/tx/partial_state_reference.js +6 -3
  744. package/dest/tx/private_execution_result.d.ts +32 -21
  745. package/dest/tx/private_execution_result.d.ts.map +1 -1
  746. package/dest/tx/private_execution_result.js +7 -7
  747. package/dest/tx/private_tx_constant_data.d.ts +16 -1
  748. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  749. package/dest/tx/profiling.d.ts +115 -278
  750. package/dest/tx/profiling.d.ts.map +1 -1
  751. package/dest/tx/profiling.js +59 -12
  752. package/dest/tx/protocol_contracts.d.ts +5 -9
  753. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  754. package/dest/tx/protocol_contracts.js +2 -2
  755. package/dest/tx/proven_tx.d.ts +30 -74
  756. package/dest/tx/proven_tx.d.ts.map +1 -1
  757. package/dest/tx/proven_tx.js +6 -0
  758. package/dest/tx/public_call_request_with_calldata.d.ts +10 -3
  759. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  760. package/dest/tx/public_call_request_with_calldata.js +6 -3
  761. package/dest/tx/public_simulation_output.d.ts +4 -2
  762. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  763. package/dest/tx/public_simulation_output.js +7 -3
  764. package/dest/tx/simulated_tx.d.ts +68 -1144
  765. package/dest/tx/simulated_tx.d.ts.map +1 -1
  766. package/dest/tx/simulated_tx.js +17 -12
  767. package/dest/tx/state_reference.d.ts +32 -117
  768. package/dest/tx/state_reference.d.ts.map +1 -1
  769. package/dest/tx/state_reference.js +6 -4
  770. package/dest/tx/tree_snapshots.d.ts +27 -84
  771. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  772. package/dest/tx/tree_snapshots.js +6 -4
  773. package/dest/tx/tx.d.ts +35 -17
  774. package/dest/tx/tx.d.ts.map +1 -1
  775. package/dest/tx/tx.js +46 -32
  776. package/dest/tx/tx_constant_data.d.ts +4 -3
  777. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  778. package/dest/tx/tx_constant_data.js +6 -3
  779. package/dest/tx/tx_context.d.ts +33 -131
  780. package/dest/tx/tx_context.d.ts.map +1 -1
  781. package/dest/tx/tx_context.js +6 -6
  782. package/dest/tx/tx_effect.d.ts +32 -6
  783. package/dest/tx/tx_effect.d.ts.map +1 -1
  784. package/dest/tx/tx_effect.js +0 -7
  785. package/dest/tx/tx_execution_request.d.ts +30 -1
  786. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  787. package/dest/tx/tx_hash.d.ts +7 -4
  788. package/dest/tx/tx_hash.d.ts.map +1 -1
  789. package/dest/tx/tx_hash.js +13 -5
  790. package/dest/tx/tx_receipt.d.ts +69 -18
  791. package/dest/tx/tx_receipt.d.ts.map +1 -1
  792. package/dest/tx/tx_receipt.js +58 -29
  793. package/dest/tx/tx_request.d.ts +6 -1
  794. package/dest/tx/tx_request.d.ts.map +1 -1
  795. package/dest/tx/tx_request.js +2 -2
  796. package/dest/tx/validator/empty_validator.d.ts +2 -2
  797. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  798. package/dest/tx/validator/error_texts.d.ts +11 -2
  799. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  800. package/dest/tx/validator/error_texts.js +13 -1
  801. package/dest/tx/validator/tx_validator.d.ts +6 -28
  802. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  803. package/dest/tx/validator/tx_validator.js +0 -4
  804. package/dest/types/shared.d.ts +7 -12
  805. package/dest/types/shared.d.ts.map +1 -1
  806. package/dest/types/shared.js +6 -12
  807. package/dest/update-checker/dev_version.d.ts +3 -0
  808. package/dest/update-checker/dev_version.d.ts.map +1 -0
  809. package/dest/update-checker/dev_version.js +1 -0
  810. package/dest/update-checker/index.d.ts +4 -2
  811. package/dest/update-checker/index.d.ts.map +1 -1
  812. package/dest/update-checker/index.js +3 -1
  813. package/dest/update-checker/package_version.d.ts +6 -0
  814. package/dest/update-checker/package_version.d.ts.map +1 -0
  815. package/dest/update-checker/package_version.js +13 -0
  816. package/dest/update-checker/version_checker.d.ts +25 -0
  817. package/dest/update-checker/version_checker.d.ts.map +1 -0
  818. package/dest/update-checker/version_checker.js +50 -0
  819. package/dest/validators/errors.d.ts +6 -1
  820. package/dest/validators/errors.d.ts.map +1 -1
  821. package/dest/validators/errors.js +7 -0
  822. package/dest/validators/schemas.d.ts +147 -614
  823. package/dest/validators/schemas.d.ts.map +1 -1
  824. package/dest/validators/schemas.js +9 -6
  825. package/dest/validators/types.d.ts +21 -4
  826. package/dest/validators/types.d.ts.map +1 -1
  827. package/dest/versioning/versioning.d.ts +4 -2
  828. package/dest/versioning/versioning.d.ts.map +1 -1
  829. package/dest/versioning/versioning.js +5 -2
  830. package/dest/vks/verification_key.d.ts +4 -118
  831. package/dest/vks/verification_key.d.ts.map +1 -1
  832. package/dest/vks/verification_key.js +5 -126
  833. package/dest/vks/vk_data.d.ts +7 -1
  834. package/dest/vks/vk_data.d.ts.map +1 -1
  835. package/dest/world-state/genesis_data.d.ts +13 -0
  836. package/dest/world-state/genesis_data.d.ts.map +1 -0
  837. package/dest/world-state/genesis_data.js +7 -0
  838. package/dest/world-state/index.d.ts +2 -1
  839. package/dest/world-state/index.d.ts.map +1 -1
  840. package/dest/world-state/index.js +1 -0
  841. package/dest/world-state/world_state_revision.d.ts +15 -26
  842. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  843. package/dest/world-state/world_state_revision.js +7 -1
  844. package/dest/zkpassport/index.d.ts +3 -4
  845. package/dest/zkpassport/index.d.ts.map +1 -1
  846. package/dest/zkpassport/index.js +9 -9
  847. package/package.json +32 -16
  848. package/src/abi/abi.ts +78 -21
  849. package/src/abi/authorization_selector.ts +2 -8
  850. package/src/abi/buffer.ts +25 -4
  851. package/src/abi/contract_artifact.ts +11 -6
  852. package/src/abi/decoder.ts +36 -82
  853. package/src/abi/encoder.ts +85 -6
  854. package/src/abi/event_metadata_definition.ts +2 -0
  855. package/src/abi/event_selector.ts +2 -8
  856. package/src/abi/function_call.ts +25 -3
  857. package/src/abi/function_selector.ts +4 -13
  858. package/src/abi/function_signature_decoder.ts +77 -0
  859. package/src/abi/index.ts +1 -0
  860. package/src/abi/note_selector.ts +3 -12
  861. package/src/abi/selector.ts +1 -1
  862. package/src/abi/utils.ts +44 -0
  863. package/src/auth_witness/auth_witness.ts +3 -3
  864. package/src/avm/avm.ts +5 -0
  865. package/src/avm/message_pack.ts +12 -3
  866. package/src/avm/revert_code.ts +20 -25
  867. package/src/aztec-address/index.ts +15 -12
  868. package/src/block/attestation_info.ts +11 -11
  869. package/src/block/block_data.ts +25 -0
  870. package/src/block/block_hash.ts +32 -24
  871. package/src/block/block_parameter.ts +74 -4
  872. package/src/block/body.ts +2 -1
  873. package/src/block/in_block.ts +6 -6
  874. package/src/block/index.ts +1 -3
  875. package/src/block/l2_block.ts +112 -148
  876. package/src/block/l2_block_info.ts +8 -6
  877. package/src/block/l2_block_source.ts +216 -106
  878. package/src/block/l2_block_stream/interfaces.ts +14 -7
  879. package/src/block/l2_block_stream/l2_block_stream.ts +87 -47
  880. package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
  881. package/src/block/l2_block_stream/l2_tips_store_base.ts +55 -21
  882. package/src/block/proposal/attestations_and_signers.ts +32 -17
  883. package/src/block/test/l2_tips_store_test_suite.ts +14 -12
  884. package/src/block/validate_block_result.ts +5 -4
  885. package/src/checkpoint/checkpoint.ts +82 -23
  886. package/src/checkpoint/checkpoint_data.ts +91 -0
  887. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  888. package/src/checkpoint/digest.ts +28 -0
  889. package/src/checkpoint/index.ts +5 -0
  890. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  891. package/src/checkpoint/published_checkpoint.ts +7 -4
  892. package/src/checkpoint/validate.ts +230 -0
  893. package/src/config/chain-config.ts +13 -16
  894. package/src/config/index.ts +2 -0
  895. package/src/config/node-rpc-config.ts +1 -1
  896. package/src/config/pipelining-config.ts +31 -0
  897. package/src/config/sequencer-config.ts +65 -0
  898. package/src/contract/complete_address.ts +7 -3
  899. package/src/contract/contract_address.ts +10 -10
  900. package/src/contract/contract_class.ts +3 -3
  901. package/src/contract/contract_class_id.ts +7 -6
  902. package/src/contract/contract_instance.ts +11 -2
  903. package/src/contract/index.ts +0 -4
  904. package/src/contract/interfaces/contract_class.ts +2 -82
  905. package/src/contract/interfaces/contract_instance.ts +6 -2
  906. package/src/contract/interfaces/node-info.ts +3 -0
  907. package/src/contract/private_function.ts +6 -5
  908. package/src/database-version/database_version.ts +87 -0
  909. package/src/database-version/version_manager.ts +18 -77
  910. package/src/delayed_public_mutable/delayed_public_mutable_values.ts +9 -10
  911. package/src/deserialization/index.ts +21 -0
  912. package/src/epoch-helpers/index.ts +40 -1
  913. package/src/file-store/factory.ts +13 -4
  914. package/src/file-store/http.ts +29 -10
  915. package/src/file-store/index.ts +1 -0
  916. package/src/file-store/local.ts +15 -5
  917. package/src/file-store/s3.ts +12 -3
  918. package/src/gas/README.md +154 -0
  919. package/src/gas/fee_math.ts +120 -0
  920. package/src/gas/gas.ts +8 -3
  921. package/src/gas/gas_fees.ts +29 -10
  922. package/src/gas/gas_settings.ts +73 -15
  923. package/src/gas/index.ts +1 -0
  924. package/src/ha-signing/config.ts +152 -0
  925. package/src/ha-signing/index.ts +29 -0
  926. package/src/ha-signing/local_config.ts +46 -0
  927. package/src/ha-signing/types.ts +126 -0
  928. package/src/hash/hash.ts +76 -11
  929. package/src/hash/map_slot.ts +3 -2
  930. package/src/interfaces/allowed_element.ts +29 -9
  931. package/src/interfaces/api_limit.ts +1 -0
  932. package/src/interfaces/archiver.ts +83 -93
  933. package/src/interfaces/aztec-node-admin.ts +57 -18
  934. package/src/interfaces/aztec-node-debug.ts +40 -0
  935. package/src/interfaces/aztec-node.ts +293 -322
  936. package/src/interfaces/block-builder.ts +95 -29
  937. package/src/interfaces/block_response.ts +92 -0
  938. package/src/interfaces/chain_tips.ts +24 -0
  939. package/src/interfaces/checkpoint_parameter.ts +20 -0
  940. package/src/interfaces/checkpoint_response.ts +84 -0
  941. package/src/interfaces/client.ts +7 -1
  942. package/src/interfaces/configs.ts +76 -11
  943. package/src/interfaces/l1_publish_info.ts +40 -0
  944. package/src/interfaces/l2_logs_source.ts +13 -26
  945. package/src/interfaces/merkle_tree_operations.ts +12 -21
  946. package/src/interfaces/p2p-bootstrap.ts +2 -2
  947. package/src/interfaces/p2p.ts +38 -29
  948. package/src/interfaces/private_kernel_prover.ts +88 -0
  949. package/src/interfaces/prover-agent.ts +1 -1
  950. package/src/interfaces/prover-broker.ts +22 -0
  951. package/src/interfaces/prover-client.ts +32 -5
  952. package/src/interfaces/prover-node.ts +7 -7
  953. package/src/interfaces/proving-job-source.ts +4 -4
  954. package/src/interfaces/proving-job.ts +3 -3
  955. package/src/interfaces/public_storage_override.ts +26 -0
  956. package/src/interfaces/server.ts +5 -0
  957. package/src/interfaces/slasher.ts +21 -10
  958. package/src/interfaces/tx_provider.ts +8 -2
  959. package/src/interfaces/validator.ts +87 -38
  960. package/src/interfaces/world_state.ts +5 -4
  961. package/src/kernel/hints/build_note_hash_read_request_hints.ts +31 -24
  962. package/src/kernel/hints/build_nullifier_read_request_hints.ts +32 -32
  963. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  964. package/src/kernel/hints/index.ts +2 -2
  965. package/src/kernel/hints/key_validation_request.ts +18 -16
  966. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  967. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  968. package/src/kernel/index.ts +4 -0
  969. package/src/kernel/log_hash.ts +29 -9
  970. package/src/kernel/private_circuit_public_inputs.ts +14 -14
  971. package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
  972. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +49 -0
  973. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +52 -0
  974. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  975. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  976. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
  977. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  978. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  979. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  980. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  981. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  982. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  983. package/src/kernel/private_validation_requests.ts +8 -8
  984. package/src/kernel/public_call_request.ts +22 -7
  985. package/src/keys/derivation.ts +33 -21
  986. package/src/keys/key_types.ts +6 -2
  987. package/src/keys/public_key.ts +26 -2
  988. package/src/keys/public_keys.ts +125 -111
  989. package/src/keys/utils.ts +8 -4
  990. package/src/kv-store/config.ts +29 -0
  991. package/src/kv-store/index.ts +1 -0
  992. package/src/l1-contracts/index.ts +1 -1
  993. package/src/logs/app_tagging_secret.ts +137 -0
  994. package/src/logs/app_tagging_secret_kind.ts +6 -0
  995. package/src/logs/contract_class_log.ts +15 -5
  996. package/src/logs/debug_log_store.ts +54 -0
  997. package/src/logs/index.ts +8 -6
  998. package/src/logs/log_cursor.ts +110 -0
  999. package/src/logs/log_result.ts +104 -0
  1000. package/src/logs/logs_query.ts +138 -0
  1001. package/src/logs/message_context.ts +17 -7
  1002. package/src/logs/pending_tagged_log.ts +1 -3
  1003. package/src/logs/pre_tag.ts +3 -6
  1004. package/src/logs/private_log.ts +9 -3
  1005. package/src/logs/public_log.ts +4 -2
  1006. package/src/logs/query_all_logs_by_tags.ts +98 -0
  1007. package/src/logs/shared_secret_derivation.ts +21 -10
  1008. package/src/logs/siloed_tag.ts +28 -13
  1009. package/src/logs/tag.ts +9 -9
  1010. package/src/logs/tagging_index_range.ts +18 -0
  1011. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  1012. package/src/messaging/index.ts +1 -0
  1013. package/src/messaging/l1_to_l2_message.ts +12 -9
  1014. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  1015. package/src/messaging/l2_to_l1_membership.ts +178 -39
  1016. package/src/messaging/l2_to_l1_message.ts +29 -9
  1017. package/src/messaging/out_hash.ts +60 -29
  1018. package/src/noir/index.ts +4 -2
  1019. package/src/note/index.ts +0 -1
  1020. package/src/note/note_dao.ts +17 -15
  1021. package/src/p2p/attestation_utils.ts +56 -0
  1022. package/src/p2p/block_proposal.ts +141 -45
  1023. package/src/p2p/checkpoint_attestation.ts +33 -32
  1024. package/src/p2p/checkpoint_proposal.ts +181 -90
  1025. package/src/p2p/client_type.ts +0 -6
  1026. package/src/p2p/consensus_payload.ts +68 -29
  1027. package/src/p2p/constants.ts +6 -0
  1028. package/src/p2p/gossipable.ts +4 -4
  1029. package/src/p2p/index.ts +1 -1
  1030. package/src/p2p/message_validator.ts +14 -2
  1031. package/src/p2p/peer_error.ts +7 -0
  1032. package/src/p2p/signature_utils.ts +110 -25
  1033. package/src/p2p/signed_txs.ts +52 -29
  1034. package/src/p2p/topic_type.ts +8 -15
  1035. package/src/parity/parity_base_private_inputs.ts +10 -4
  1036. package/src/parity/parity_public_inputs.ts +9 -2
  1037. package/src/proofs/chonk_proof.ts +141 -17
  1038. package/src/rollup/block_headers_hash.ts +12 -3
  1039. package/src/rollup/block_rollup_public_inputs.ts +15 -2
  1040. package/src/rollup/checkpoint_header.ts +22 -2
  1041. package/src/rollup/checkpoint_rollup_public_inputs.ts +26 -10
  1042. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +14 -1
  1043. package/src/rollup/root_rollup_public_inputs.ts +11 -8
  1044. package/src/schemas/schemas.ts +6 -1
  1045. package/src/slashing/helpers.ts +21 -9
  1046. package/src/slashing/index.ts +1 -2
  1047. package/src/slashing/serialization.ts +1 -81
  1048. package/src/slashing/types.ts +38 -49
  1049. package/src/slashing/{tally.ts → votes.ts} +41 -2
  1050. package/src/stats/stats.ts +4 -2
  1051. package/src/tests/factories.ts +126 -145
  1052. package/src/tests/jest.ts +1 -1
  1053. package/src/tests/mocks.ts +154 -112
  1054. package/src/timetable/index.ts +361 -0
  1055. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1056. package/src/trees/nullifier_leaf.ts +4 -0
  1057. package/src/trees/nullifier_membership_witness.ts +2 -12
  1058. package/src/trees/public_data_leaf.ts +11 -5
  1059. package/src/tx/block_header.ts +26 -7
  1060. package/src/tx/capsule.ts +10 -2
  1061. package/src/tx/fee_provider.ts +10 -0
  1062. package/src/tx/global_variable_builder.ts +2 -3
  1063. package/src/tx/global_variables.ts +13 -21
  1064. package/src/tx/hashed_values.ts +8 -3
  1065. package/src/tx/index.ts +1 -0
  1066. package/src/tx/indexed_tx_effect.ts +2 -2
  1067. package/src/tx/partial_state_reference.ts +8 -3
  1068. package/src/tx/private_execution_result.ts +6 -6
  1069. package/src/tx/profiling.ts +60 -9
  1070. package/src/tx/protocol_contracts.ts +2 -2
  1071. package/src/tx/proven_tx.ts +6 -0
  1072. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1073. package/src/tx/public_simulation_output.ts +4 -0
  1074. package/src/tx/simulated_tx.ts +30 -22
  1075. package/src/tx/state_reference.ts +9 -4
  1076. package/src/tx/tree_snapshots.ts +9 -4
  1077. package/src/tx/tx.ts +61 -44
  1078. package/src/tx/tx_constant_data.ts +8 -3
  1079. package/src/tx/tx_context.ts +8 -3
  1080. package/src/tx/tx_effect.ts +0 -9
  1081. package/src/tx/tx_hash.ts +20 -5
  1082. package/src/tx/tx_receipt.ts +89 -29
  1083. package/src/tx/tx_request.ts +2 -2
  1084. package/src/tx/validator/empty_validator.ts +1 -1
  1085. package/src/tx/validator/error_texts.ts +16 -1
  1086. package/src/tx/validator/tx_validator.ts +2 -6
  1087. package/src/types/shared.ts +8 -13
  1088. package/src/update-checker/dev_version.ts +2 -0
  1089. package/src/update-checker/index.ts +3 -1
  1090. package/src/update-checker/package_version.ts +17 -0
  1091. package/src/update-checker/version_checker.ts +65 -0
  1092. package/src/validators/errors.ts +9 -0
  1093. package/src/validators/schemas.ts +13 -4
  1094. package/src/validators/types.ts +25 -5
  1095. package/src/versioning/versioning.ts +5 -2
  1096. package/src/vks/verification_key.ts +5 -184
  1097. package/src/world-state/genesis_data.ts +27 -0
  1098. package/src/world-state/index.ts +1 -0
  1099. package/src/world-state/world_state_revision.ts +9 -1
  1100. package/src/zkpassport/index.ts +11 -12
  1101. package/dest/abi/mocked_keys.d.ts +0 -2
  1102. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1103. package/dest/abi/mocked_keys.js +0 -1
  1104. package/dest/block/checkpointed_l2_block.d.ts +0 -267
  1105. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1106. package/dest/block/checkpointed_l2_block.js +0 -84
  1107. package/dest/block/l2_block_code_to_purge.d.ts +0 -11
  1108. package/dest/block/l2_block_code_to_purge.d.ts.map +0 -1
  1109. package/dest/block/l2_block_code_to_purge.js +0 -55
  1110. package/dest/block/l2_block_header.d.ts +0 -94
  1111. package/dest/block/l2_block_header.d.ts.map +0 -1
  1112. package/dest/block/l2_block_header.js +0 -160
  1113. package/dest/block/l2_block_new.d.ts +0 -134
  1114. package/dest/block/l2_block_new.d.ts.map +0 -1
  1115. package/dest/block/l2_block_new.js +0 -155
  1116. package/dest/contract/contract_class_metadata.d.ts +0 -8
  1117. package/dest/contract/contract_class_metadata.d.ts.map +0 -1
  1118. package/dest/contract/contract_class_metadata.js +0 -1
  1119. package/dest/contract/contract_metadata.d.ts +0 -7
  1120. package/dest/contract/contract_metadata.d.ts.map +0 -1
  1121. package/dest/contract/contract_metadata.js +0 -1
  1122. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1123. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1124. package/dest/contract/private_function_membership_proof.js +0 -124
  1125. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1126. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1127. package/dest/contract/utility_function_membership_proof.js +0 -87
  1128. package/dest/database-version/index.d.ts +0 -2
  1129. package/dest/database-version/index.d.ts.map +0 -1
  1130. package/dest/database-version/index.js +0 -1
  1131. package/dest/interfaces/get_logs_response.d.ts +0 -90
  1132. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1133. package/dest/interfaces/get_logs_response.js +0 -12
  1134. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -25
  1135. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1136. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1137. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1138. package/dest/l1-contracts/slash_factory.js +0 -157
  1139. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1140. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1141. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1142. package/dest/logs/extended_contract_class_log.d.ts +0 -49
  1143. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1144. package/dest/logs/extended_contract_class_log.js +0 -67
  1145. package/dest/logs/extended_public_log.d.ts +0 -98
  1146. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1147. package/dest/logs/extended_public_log.js +0 -73
  1148. package/dest/logs/log_filter.d.ts +0 -22
  1149. package/dest/logs/log_filter.d.ts.map +0 -1
  1150. package/dest/logs/log_filter.js +0 -11
  1151. package/dest/logs/log_id.d.ts +0 -78
  1152. package/dest/logs/log_id.d.ts.map +0 -1
  1153. package/dest/logs/log_id.js +0 -91
  1154. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1155. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1156. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1157. package/dest/note/notes_filter.d.ts +0 -27
  1158. package/dest/note/notes_filter.d.ts.map +0 -1
  1159. package/dest/note/notes_filter.js +0 -11
  1160. package/dest/slashing/empire.d.ts +0 -31
  1161. package/dest/slashing/empire.d.ts.map +0 -1
  1162. package/dest/slashing/empire.js +0 -85
  1163. package/dest/slashing/tally.d.ts.map +0 -1
  1164. package/dest/update-checker/update-checker.d.ts +0 -49
  1165. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1166. package/dest/update-checker/update-checker.js +0 -130
  1167. package/src/abi/mocked_keys.ts +0 -2
  1168. package/src/block/checkpointed_l2_block.ts +0 -120
  1169. package/src/block/l2_block_code_to_purge.ts +0 -80
  1170. package/src/block/l2_block_header.ts +0 -255
  1171. package/src/block/l2_block_new.ts +0 -211
  1172. package/src/contract/contract_class_metadata.ts +0 -8
  1173. package/src/contract/contract_metadata.ts +0 -7
  1174. package/src/contract/private_function_membership_proof.ts +0 -167
  1175. package/src/contract/utility_function_membership_proof.ts +0 -118
  1176. package/src/database-version/index.ts +0 -1
  1177. package/src/interfaces/get_logs_response.ts +0 -35
  1178. package/src/l1-contracts/slash_factory.ts +0 -179
  1179. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1180. package/src/logs/extended_contract_class_log.ts +0 -87
  1181. package/src/logs/extended_public_log.ts +0 -94
  1182. package/src/logs/log_filter.ts +0 -31
  1183. package/src/logs/log_id.ts +0 -121
  1184. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1185. package/src/note/notes_filter.ts +0 -38
  1186. package/src/slashing/empire.ts +0 -102
  1187. package/src/update-checker/update-checker.ts +0 -166
@@ -1,24 +1,31 @@
1
- import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { BlockNumber, BlockProposalHash, type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
6
6
  import { BufferReader } from '@aztec/foundation/serialize';
7
+ import type { TypedDataDefinition } from 'viem';
7
8
  import type { L2Block } from '../block/l2_block.js';
8
9
  import type { L2BlockInfo } from '../block/l2_block_info.js';
10
+ import { type SigningContext } from '../ha-signing/index.js';
9
11
  import { BlockHeader } from '../tx/block_header.js';
10
12
  import { TxHash } from '../tx/index.js';
11
13
  import type { Tx } from '../tx/tx.js';
12
14
  import { Gossipable } from './gossipable.js';
13
- import { SignatureDomainSeparator } from './signature_utils.js';
15
+ import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
14
16
  import { SignedTxs } from './signed_txs.js';
15
17
  import { TopicType } from './topic_type.js';
16
- export declare class BlockProposalHash extends Buffer32 {
17
- constructor(hash: Buffer);
18
- }
18
+ export type { BlockProposalHash } from '@aztec/foundation/branded-types';
19
19
  export type BlockProposalOptions = {
20
- publishFullTxs: boolean;
21
- /** Whether to generate an invalid block proposal for broadcasting. Use only for testing. */
20
+ /**
21
+ * Whether to include the tx objects along with the block proposal.
22
+ * Dramatically increases size of the payload but eliminates failed reexecutions due to missing txs.
23
+ */
24
+ publishFullTxs?: boolean;
25
+ /**
26
+ * Whether to generate an invalid block proposal for broadcasting.
27
+ * Use only for testing.
28
+ */
22
29
  broadcastInvalidBlockProposal?: boolean;
23
30
  };
24
31
  /**
@@ -26,21 +33,31 @@ export type BlockProposalOptions = {
26
33
  * to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
27
34
  * The last block is sent as part of a CheckpointProposal.
28
35
  */
29
- export declare class BlockProposal extends Gossipable {
36
+ export declare class BlockProposal extends Gossipable implements Signable {
37
+ /** The per-block header containing block state and global variables */
30
38
  readonly blockHeader: BlockHeader;
31
- readonly indexWithinCheckpoint: number;
39
+ /** Index of this block within the checkpoint (0-indexed) */
40
+ readonly indexWithinCheckpoint: IndexWithinCheckpoint;
41
+ /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */
32
42
  readonly inHash: Fr;
43
+ /** Archive root after this block is applied */
33
44
  readonly archiveRoot: Fr;
45
+ /** The sequence of transactions in the block */
34
46
  readonly txHashes: TxHash[];
47
+ /** The proposer's signature over the block data */
35
48
  readonly signature: Signature;
49
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
50
+ readonly signatureContext: CoordinationSignatureContext;
51
+ /** The signed transactions in the block (optional, for DA guarantees) */
36
52
  readonly signedTxs?: SignedTxs | undefined;
37
53
  static p2pTopic: TopicType;
38
- private sender;
54
+ readonly primaryType: CoordinationSignatureType;
55
+ private cachedSender;
39
56
  constructor(
40
57
  /** The per-block header containing block state and global variables */
41
58
  blockHeader: BlockHeader,
42
59
  /** Index of this block within the checkpoint (0-indexed) */
43
- indexWithinCheckpoint: number,
60
+ indexWithinCheckpoint: IndexWithinCheckpoint,
44
61
  /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */
45
62
  inHash: Fr,
46
63
  /** Archive root after this block is applied */
@@ -49,9 +66,11 @@ export declare class BlockProposal extends Gossipable {
49
66
  txHashes: TxHash[],
50
67
  /** The proposer's signature over the block data */
51
68
  signature: Signature,
69
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
70
+ signatureContext: CoordinationSignatureContext,
52
71
  /** The signed transactions in the block (optional, for DA guarantees) */
53
72
  signedTxs?: SignedTxs | undefined);
54
- generateP2PMessageIdentifier(): Promise<Buffer32>;
73
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
55
74
  get archive(): Fr;
56
75
  get slotNumber(): SlotNumber;
57
76
  get blockNumber(): BlockNumber;
@@ -62,12 +81,23 @@ export declare class BlockProposal extends Gossipable {
62
81
  * Get the payload to sign for this block proposal.
63
82
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
64
83
  */
65
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
66
- static createProposalFromSigner(blockHeader: BlockHeader, indexWithinCheckpoint: number, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32) => Promise<Signature>): Promise<BlockProposal>;
84
+ getPayloadToSign(): Buffer;
85
+ private getPayloadHashBuffer;
86
+ /**
87
+ * Returns a keccak256 hash of the signed payload.
88
+ * Used by the attestation pool to dedup distinct signed payloads at the same
89
+ * (slot, indexWithinCheckpoint) regardless of archive collisions.
90
+ * The hash deliberately excludes the signature so non-deterministic ECDSA
91
+ * re-signs of the same payload do not look like equivocation.
92
+ */
93
+ getPayloadHash(): BlockProposalHash;
94
+ static createProposalFromSigner(blockHeader: BlockHeader, checkpointNumber: CheckpointNumber, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, signatureContext: CoordinationSignatureContext, proposalSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>, txsSigner?: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
67
95
  /**
68
96
  * Lazily evaluate the sender of the proposal; result is cached.
69
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
70
- * @returns The sender address, or undefined if signature recovery fails or senders don't match
97
+ * If there's signedTxs, also verifies that its signing domain matches this proposal's and
98
+ * that the signedTxs sender matches the block proposal sender. This prevents a proposer
99
+ * from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
100
+ * @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
71
101
  */
72
102
  getSender(): EthAddress | undefined;
73
103
  getPayload(): Buffer<ArrayBufferLike>;
@@ -100,11 +130,13 @@ export declare class BlockProposal extends Gossipable {
100
130
  totalFees: bigint;
101
131
  totalManaUsed: bigint;
102
132
  };
103
- indexWithinCheckpoint: number;
133
+ indexWithinCheckpoint: IndexWithinCheckpoint;
104
134
  inHash: `0x${string}`;
105
135
  archiveRoot: `0x${string}`;
106
136
  signature: `0x${string}`;
107
137
  txHashes: `0x${string}`[];
138
+ chainId: number;
139
+ rollupAddress: `0x${string}`;
108
140
  };
109
141
  /**
110
142
  * Check if this proposal matches the given block.
@@ -119,4 +151,4 @@ export declare class BlockProposal extends Gossipable {
119
151
  */
120
152
  withoutSignedTxs(): BlockProposal;
121
153
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVELE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNq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
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsS0FBSyxnQkFBZ0IsRUFDckIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDWCxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLEtBQUssNEJBQTRCLEVBQ2pDLEtBQUsseUJBQXlCLEVBRTlCLEtBQUssUUFBUSxFQU1kLE1BQU0sc0JBQXNCLENBQUM7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
@@ -1 +1 @@
1
- {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,17 @@
1
+ import { BlockProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
1
2
  import { Buffer32 } from '@aztec/foundation/buffer';
2
3
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
6
6
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
7
+ import { MAX_TXS_PER_BLOCK } from '../deserialization/index.js';
8
+ import { DutyType } from '../ha-signing/index.js';
7
9
  import { BlockHeader } from '../tx/block_header.js';
8
10
  import { TxHash } from '../tx/index.js';
9
11
  import { Gossipable } from './gossipable.js';
10
- import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
12
+ import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, coordinationSignatureContextEquals, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
11
13
  import { SignedTxs } from './signed_txs.js';
12
14
  import { TopicType } from './topic_type.js';
13
- export class BlockProposalHash extends Buffer32 {
14
- constructor(hash){
15
- super(hash);
16
- }
17
- }
18
15
  /**
19
16
  * A block proposal is created by the leader of the chain proposing a sequence of transactions
20
17
  * to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
@@ -26,16 +23,16 @@ export class BlockProposalHash extends Buffer32 {
26
23
  archiveRoot;
27
24
  txHashes;
28
25
  signature;
26
+ signatureContext;
29
27
  signedTxs;
30
28
  static p2pTopic = TopicType.block_proposal;
31
- sender;
32
- constructor(/** The per-block header containing block state and global variables */ blockHeader, // TODO(palla/mbps): Is this really needed? Can we just derive it from the indexWithinCheckpoint of the parent block and the slot number?
33
- // 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.
34
- /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
35
- super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
29
+ primaryType;
30
+ cachedSender;
31
+ constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
32
+ super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signatureContext = signatureContext, this.signedTxs = signedTxs, this.primaryType = 'BlockProposal', this.cachedSender = undefined;
36
33
  }
37
34
  generateP2PMessageIdentifier() {
38
- return Promise.resolve(new BlockProposalHash(keccak256(this.signature.toBuffer())));
35
+ return Promise.resolve(new Buffer32(this.getPayloadHashBuffer()));
39
36
  }
40
37
  get archive() {
41
38
  return this.archiveRoot;
@@ -61,9 +58,8 @@ export class BlockProposalHash extends Buffer32 {
61
58
  /**
62
59
  * Get the payload to sign for this block proposal.
63
60
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
64
- */ getPayloadToSign(domainSeparator) {
61
+ */ getPayloadToSign() {
65
62
  return serializeToBuffer([
66
- domainSeparator,
67
63
  this.blockHeader,
68
64
  this.indexWithinCheckpoint,
69
65
  this.inHash,
@@ -72,40 +68,70 @@ export class BlockProposalHash extends Buffer32 {
72
68
  this.txHashes
73
69
  ]);
74
70
  }
75
- static async createProposalFromSigner(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
71
+ getPayloadHashBuffer() {
72
+ return keccak256(this.getPayloadToSign());
73
+ }
74
+ /**
75
+ * Returns a keccak256 hash of the signed payload.
76
+ * Used by the attestation pool to dedup distinct signed payloads at the same
77
+ * (slot, indexWithinCheckpoint) regardless of archive collisions.
78
+ * The hash deliberately excludes the signature so non-deterministic ECDSA
79
+ * re-signs of the same payload do not look like equivocation.
80
+ */ getPayloadHash() {
81
+ return BlockProposalHash.fromBuffer(this.getPayloadHashBuffer());
82
+ }
83
+ static async createProposalFromSigner(blockHeader, checkpointNumber, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, signatureContext, proposalSigner, txsSigner) {
76
84
  // Create a temporary proposal to get the payload to sign
77
- const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
78
- const hashed = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.blockProposal);
79
- const sig = await payloadSigner(hashed);
85
+ const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty(), signatureContext);
86
+ // Create the block signing context
87
+ const blockContext = {
88
+ slot: blockHeader.globalVariables.slotNumber,
89
+ blockNumber: blockHeader.globalVariables.blockNumber,
90
+ checkpointNumber,
91
+ blockIndexWithinCheckpoint: indexWithinCheckpoint,
92
+ dutyType: DutyType.BLOCK_PROPOSAL
93
+ };
94
+ const typedData = getCoordinationSignatureTypedData(tempProposal);
95
+ const sig = await proposalSigner(typedData, blockContext);
80
96
  // If txs are provided, sign them as well
81
97
  let signedTxs;
82
98
  if (txs) {
83
- signedTxs = await SignedTxs.createFromSigner(txs, payloadSigner);
99
+ const txsSigningContext = {
100
+ dutyType: DutyType.TXS
101
+ };
102
+ if (!txsSigner) {
103
+ throw new Error('signed_txs requires a typed-data signer');
104
+ }
105
+ signedTxs = await SignedTxs.createFromSigner(txs, signatureContext, (typedData)=>txsSigner(typedData, txsSigningContext));
84
106
  }
85
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signedTxs);
107
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signatureContext, signedTxs);
86
108
  }
87
109
  /**
88
110
  * Lazily evaluate the sender of the proposal; result is cached.
89
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
90
- * @returns The sender address, or undefined if signature recovery fails or senders don't match
111
+ * If there's signedTxs, also verifies that its signing domain matches this proposal's and
112
+ * that the signedTxs sender matches the block proposal sender. This prevents a proposer
113
+ * from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
114
+ * @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
91
115
  */ getSender() {
92
- if (!this.sender) {
93
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.blockProposal);
94
- const blockSender = tryRecoverAddress(hashed, this.signature);
95
- // If there's signedTxs, verify the sender matches
116
+ if (this.cachedSender === undefined) {
117
+ const blockSender = recoverCoordinationSigner(this, this.signature);
96
118
  if (blockSender && this.signedTxs) {
119
+ if (!coordinationSignatureContextEquals(this.signedTxs.signatureContext, this.signatureContext)) {
120
+ this.cachedSender = null;
121
+ return undefined;
122
+ }
97
123
  const txsSender = this.signedTxs.getSender();
98
124
  if (!txsSender || !txsSender.equals(blockSender)) {
99
- return undefined; // Sender mismatch - fail
125
+ this.cachedSender = null;
126
+ return undefined;
100
127
  }
101
128
  }
102
- // Cache the sender for later use
103
- this.sender = blockSender;
129
+ this.cachedSender = blockSender ?? null;
104
130
  }
105
- return this.sender;
131
+ return this.cachedSender ?? undefined;
106
132
  }
107
133
  getPayload() {
108
- return this.getPayloadToSign(SignatureDomainSeparator.blockProposal);
134
+ return this.getPayloadToSign();
109
135
  }
110
136
  toBuffer() {
111
137
  const buffer = [
@@ -114,6 +140,7 @@ export class BlockProposalHash extends Buffer32 {
114
140
  this.inHash,
115
141
  this.archiveRoot,
116
142
  this.signature,
143
+ serializeCoordinationSignatureContext(this.signatureContext),
117
144
  this.txHashes.length,
118
145
  this.txHashes
119
146
  ];
@@ -128,31 +155,36 @@ export class BlockProposalHash extends Buffer32 {
128
155
  static fromBuffer(buf) {
129
156
  const reader = BufferReader.asReader(buf);
130
157
  const blockHeader = reader.readObject(BlockHeader);
131
- const indexWithinCheckpoint = reader.readNumber();
158
+ const indexWithinCheckpoint = IndexWithinCheckpoint(reader.readNumber());
132
159
  const inHash = reader.readObject(Fr);
133
160
  const archiveRoot = reader.readObject(Fr);
134
161
  const signature = reader.readObject(Signature);
135
- const txHashes = reader.readArray(reader.readNumber(), TxHash);
162
+ const signatureContext = readCoordinationSignatureContext(reader);
163
+ const txHashCount = reader.readNumber();
164
+ if (txHashCount > MAX_TXS_PER_BLOCK) {
165
+ throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
166
+ }
167
+ const txHashes = reader.readArray(txHashCount, TxHash);
136
168
  if (!reader.isEmpty()) {
137
169
  const hasSignedTxs = reader.readNumber();
138
170
  if (hasSignedTxs) {
139
171
  const signedTxs = SignedTxs.fromBuffer(reader);
140
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signedTxs);
172
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signatureContext, signedTxs);
141
173
  }
142
174
  }
143
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature);
175
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signatureContext);
144
176
  }
145
177
  getSize() {
146
- return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
178
+ return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* chainId */ + 20 /* rollupAddress */ + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
147
179
  }
148
180
  static empty() {
149
- return new BlockProposal(BlockHeader.empty(), 0, Fr.ZERO, Fr.ZERO, [], Signature.empty());
181
+ return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
150
182
  }
151
183
  static random() {
152
- return new BlockProposal(BlockHeader.random(), Math.floor(Math.random() * 5), Fr.random(), Fr.random(), [
184
+ return new BlockProposal(BlockHeader.random(), IndexWithinCheckpoint(Math.floor(Math.random() * 5)), Fr.random(), Fr.random(), [
153
185
  TxHash.random(),
154
186
  TxHash.random()
155
- ], Signature.random());
187
+ ], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
156
188
  }
157
189
  toInspect() {
158
190
  return {
@@ -161,7 +193,9 @@ export class BlockProposalHash extends Buffer32 {
161
193
  inHash: this.inHash.toString(),
162
194
  archiveRoot: this.archiveRoot.toString(),
163
195
  signature: this.signature.toString(),
164
- txHashes: this.txHashes.map((h)=>h.toString())
196
+ txHashes: this.txHashes.map((h)=>h.toString()),
197
+ chainId: this.signatureContext.chainId,
198
+ rollupAddress: this.signatureContext.rollupAddress.toString()
165
199
  };
166
200
  }
167
201
  /**
@@ -170,12 +204,12 @@ export class BlockProposalHash extends Buffer32 {
170
204
  * @param block - The L2Block to compare against
171
205
  * @returns True if the proposal matches the block
172
206
  */ matchesBlock(block) {
173
- return this.archiveRoot.equals(block.archive.root) && this.blockHeader.equals(block.getBlockHeader());
207
+ return this.archiveRoot.equals(block.archive.root) && this.blockHeader.equals(block.header);
174
208
  }
175
209
  /**
176
210
  * Returns a copy of this proposal without signedTxs.
177
211
  * Used when storing proposals in attestation pool to avoid storing full tx data.
178
212
  */ withoutSignedTxs() {
179
- return new BlockProposal(this.blockHeader, this.indexWithinCheckpoint, this.inHash, this.archiveRoot, this.txHashes, this.signature);
213
+ return new BlockProposal(this.blockHeader, this.indexWithinCheckpoint, this.inHash, this.archiveRoot, this.txHashes, this.signature, this.signatureContext);
180
214
  }
181
215
  }
@@ -1,5 +1,5 @@
1
- import { SlotNumber } from '@aztec/foundation/branded-types';
2
- import { Buffer32 } from '@aztec/foundation/buffer';
1
+ import { CheckpointProposalHash, type SlotNumber } from '@aztec/foundation/branded-types';
2
+ import { type BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import type { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
@@ -7,10 +7,8 @@ import { BufferReader } from '@aztec/foundation/serialize';
7
7
  import type { ZodFor } from '../schemas/index.js';
8
8
  import { ConsensusPayload } from './consensus_payload.js';
9
9
  import { Gossipable } from './gossipable.js';
10
+ import { type CoordinationSignatureContext } from './signature_utils.js';
10
11
  import { TopicType } from './topic_type.js';
11
- export declare class CheckpointAttestationHash extends Buffer32 {
12
- constructor(hash: Buffer);
13
- }
14
12
  /**
15
13
  * CheckpointAttestation
16
14
  *
@@ -18,12 +16,15 @@ export declare class CheckpointAttestationHash extends Buffer32 {
18
16
  * will produce a checkpoint attestation over the checkpoint header.
19
17
  */
20
18
  export declare class CheckpointAttestation extends Gossipable {
19
+ /** The payload of the message, and what the signature is over */
21
20
  readonly payload: ConsensusPayload;
21
+ /** The signature of the checkpoint attester */
22
22
  readonly signature: Signature;
23
+ /** The signature from the checkpoint proposer */
23
24
  readonly proposerSignature: Signature;
24
25
  static p2pTopic: TopicType;
25
- private sender;
26
- private proposer;
26
+ private cachedSender;
27
+ private cachedProposer;
27
28
  constructor(
28
29
  /** The payload of the message, and what the signature is over */
29
30
  payload: ConsensusPayload,
@@ -32,9 +33,10 @@ export declare class CheckpointAttestation extends Gossipable {
32
33
  /** The signature from the checkpoint proposer */
33
34
  proposerSignature: Signature);
34
35
  static get schema(): ZodFor<CheckpointAttestation>;
35
- generateP2PMessageIdentifier(): Promise<Buffer32>;
36
+ generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
36
37
  get archive(): Fr;
37
38
  get slotNumber(): SlotNumber;
39
+ get signatureContext(): CoordinationSignatureContext;
38
40
  /**
39
41
  * Lazily evaluate and cache the signer of the attestation
40
42
  * @returns The signer of the attestation, or undefined if signature recovery fails
@@ -46,6 +48,11 @@ export declare class CheckpointAttestation extends Gossipable {
46
48
  */
47
49
  getProposer(): EthAddress | undefined;
48
50
  getPayload(): Buffer;
51
+ /**
52
+ * Returns a keccak256 hash of the signed consensus payload.
53
+ * Used to dedup distinct signed payloads. Returns same hash than the corresponding proposal.
54
+ */
55
+ getPayloadHash(): CheckpointProposalHash;
49
56
  toBuffer(): Buffer;
50
57
  static fromBuffer(buf: Buffer | BufferReader): CheckpointAttestation;
51
58
  static empty(): CheckpointAttestation;
@@ -58,6 +65,7 @@ export declare class CheckpointAttestation extends Gossipable {
58
65
  blockHeadersHash: `0x${string}`;
59
66
  blobsHash: `0x${string}`;
60
67
  inHash: `0x${string}`;
68
+ epochOutHash: `0x${string}`;
61
69
  slotNumber: SlotNumber;
62
70
  timestamp: bigint;
63
71
  coinbase: `0x${string}`;
@@ -69,9 +77,12 @@ export declare class CheckpointAttestation extends Gossipable {
69
77
  totalManaUsed: bigint;
70
78
  };
71
79
  archive: `0x${string}`;
80
+ feeAssetPriceModifier: string;
81
+ chainId: number;
82
+ rollupAddress: `0x${string}`;
72
83
  };
73
84
  signature: `0x${string}`;
74
85
  proposerSignature: `0x${string}`;
75
86
  };
76
87
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSx5QkFBMEIsU0FBUSxRQUFRO0lBQ3JELFlBQVksSUFBSSxFQUFFLE1BQU0sRUFFdkI7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEscUJBQXNCLFNBQVEsVUFBVTthQVFqQyxPQUFPLEVBQUUsZ0JBQWdCO2FBR3pCLFNBQVMsRUFBRSxTQUFTO2FBR3BCLGlCQUFpQixFQUFFLFNBQVM7SUFiOUMsT0FBZ0IsUUFBUSxZQUFvQztJQUU1RCxPQUFPLENBQUMsTUFBTSxDQUF5QjtJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUF5QjtJQUV6QztJQUNFLGlFQUFpRTtJQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQztJQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7SUFDakMsaUJBQWlCLEVBQUUsU0FBUyxFQUc3QztJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBUWpEO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUV6RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBWWxDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBV3BDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBSTlFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsS0FBSyw0QkFBNEIsRUFBNkIsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUM7Ozs7O0dBS0c7QUFDSCxxQkFBYSxxQkFBc0IsU0FBUSxVQUFVO0lBT2pELGlFQUFpRTthQUNqRCxPQUFPLEVBQUUsZ0JBQWdCO0lBRXpDLCtDQUErQzthQUMvQixTQUFTLEVBQUUsU0FBUztJQUVwQyxpREFBaUQ7YUFDakMsaUJBQWlCLEVBQUUsU0FBUztJQWI5QyxPQUFnQixRQUFRLFlBQW9DO0lBRTVELE9BQU8sQ0FBQyxZQUFZLENBQTRDO0lBQ2hFLE9BQU8sQ0FBQyxjQUFjLENBQTRDO0lBRWxFO0lBQ0UsaUVBQWlFO0lBQ2pELE9BQU8sRUFBRSxnQkFBZ0I7SUFFekMsK0NBQStDO0lBQy9CLFNBQVMsRUFBRSxTQUFTO0lBRXBDLGlEQUFpRDtJQUNqQyxpQkFBaUIsRUFBRSxTQUFTLEVBRzdDO0lBRUQsTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FRakQ7SUFFUSw0QkFBNEIsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBRTdEO0lBRUQsSUFBSSxPQUFPLElBQUksRUFBRSxDQUVoQjtJQUVELElBQUksVUFBVSxJQUFJLFVBQVUsQ0FFM0I7SUFFRCxJQUFJLGdCQUFnQixJQUFJLDRCQUE0QixDQUVuRDtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQUtsQztJQUVEOzs7T0FHRztJQUNILFdBQVcsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQWVwQztJQUVELFVBQVUsSUFBSSxNQUFNLENBRW5CO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxJQUFJLHNCQUFzQixDQUV2QztJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FPbkU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBRXJDO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FFaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BTVI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,QAAQ;IACrD,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;aAQjC,OAAO,EAAE,gBAAgB;aAGzB,SAAS,EAAE,SAAS;aAGpB,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAEzD;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAWpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
1
+ {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,4BAA4B,EAA6B,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,cAAc,CAA4C;IAElE;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,gBAAgB,IAAI,4BAA4B,CAEnD;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAKlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAepC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,cAAc,IAAI,sBAAsB,CAEvC;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
@@ -1,19 +1,13 @@
1
+ import { CheckpointProposalHash } from '@aztec/foundation/branded-types';
1
2
  import { Buffer32 } from '@aztec/foundation/buffer';
2
- import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
3
  import { Signature } from '@aztec/foundation/eth-signature';
5
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
6
5
  import { z } from 'zod';
7
6
  import { CheckpointProposal } from './checkpoint_proposal.js';
8
7
  import { ConsensusPayload } from './consensus_payload.js';
9
8
  import { Gossipable } from './gossipable.js';
10
- import { SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
9
+ import { recoverCoordinationSigner } from './signature_utils.js';
11
10
  import { TopicType } from './topic_type.js';
12
- export class CheckpointAttestationHash extends Buffer32 {
13
- constructor(hash){
14
- super(hash);
15
- }
16
- }
17
11
  /**
18
12
  * CheckpointAttestation
19
13
  *
@@ -24,10 +18,10 @@ export class CheckpointAttestationHash extends Buffer32 {
24
18
  signature;
25
19
  proposerSignature;
26
20
  static p2pTopic = TopicType.checkpoint_attestation;
27
- sender;
28
- proposer;
21
+ cachedSender;
22
+ cachedProposer;
29
23
  constructor(/** The payload of the message, and what the signature is over */ payload, /** The signature of the checkpoint attester */ signature, /** The signature from the checkpoint proposer */ proposerSignature){
30
- super(), this.payload = payload, this.signature = signature, this.proposerSignature = proposerSignature;
24
+ super(), this.payload = payload, this.signature = signature, this.proposerSignature = proposerSignature, this.cachedSender = undefined, this.cachedProposer = undefined;
31
25
  }
32
26
  static get schema() {
33
27
  return z.object({
@@ -37,7 +31,7 @@ export class CheckpointAttestationHash extends Buffer32 {
37
31
  }).transform((obj)=>new CheckpointAttestation(obj.payload, obj.signature, obj.proposerSignature));
38
32
  }
39
33
  generateP2PMessageIdentifier() {
40
- return Promise.resolve(new CheckpointAttestationHash(keccak256(this.signature.toBuffer())));
34
+ return Promise.resolve(new Buffer32(this.payload.getPayloadHash()));
41
35
  }
42
36
  get archive() {
43
37
  return this.payload.archive;
@@ -45,34 +39,39 @@ export class CheckpointAttestationHash extends Buffer32 {
45
39
  get slotNumber() {
46
40
  return this.payload.header.slotNumber;
47
41
  }
42
+ get signatureContext() {
43
+ return this.payload.signatureContext;
44
+ }
48
45
  /**
49
46
  * Lazily evaluate and cache the signer of the attestation
50
47
  * @returns The signer of the attestation, or undefined if signature recovery fails
51
48
  */ getSender() {
52
- if (!this.sender) {
53
- // Recover the sender from the attestation
54
- const hashed = getHashedSignaturePayloadEthSignedMessage(this.payload, SignatureDomainSeparator.checkpointAttestation);
55
- // Cache the sender for later use
56
- this.sender = tryRecoverAddress(hashed, this.signature);
49
+ if (this.cachedSender === undefined) {
50
+ this.cachedSender = recoverCoordinationSigner(this.payload, this.signature) ?? null;
57
51
  }
58
- return this.sender;
52
+ return this.cachedSender ?? undefined;
59
53
  }
60
54
  /**
61
55
  * Lazily evaluate and cache the proposer of the checkpoint
62
56
  * @returns The proposer of the checkpoint
63
57
  */ getProposer() {
64
- if (!this.proposer) {
58
+ if (this.cachedProposer === undefined) {
65
59
  // Create a temporary CheckpointProposal to recover the proposer address.
66
60
  // We need to use CheckpointProposal because it has a different getPayloadToSign()
67
61
  // implementation than ConsensusPayload (uses serializeToBuffer vs ABI encoding).
68
- const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.proposerSignature);
69
- // Cache the proposer for later use
70
- this.proposer = proposal.getSender();
62
+ const proposal = new CheckpointProposal(this.payload.header, this.payload.archive, this.payload.feeAssetPriceModifier, this.proposerSignature, this.payload.signatureContext);
63
+ this.cachedProposer = proposal.getSender() ?? null;
71
64
  }
72
- return this.proposer;
65
+ return this.cachedProposer ?? undefined;
73
66
  }
74
67
  getPayload() {
75
- return this.payload.getPayloadToSign(SignatureDomainSeparator.checkpointAttestation);
68
+ return this.payload.getPayloadToSign();
69
+ }
70
+ /**
71
+ * Returns a keccak256 hash of the signed consensus payload.
72
+ * Used to dedup distinct signed payloads. Returns same hash than the corresponding proposal.
73
+ */ getPayloadHash() {
74
+ return CheckpointProposalHash.fromBuffer(this.payload.getPayloadHash());
76
75
  }
77
76
  toBuffer() {
78
77
  return serializeToBuffer([