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

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