@aztec/stdlib 0.0.1-commit.a072138 → 0.0.1-commit.a5db02d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1161) hide show
  1. package/dest/abi/abi.d.ts +142 -1081
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +41 -18
  4. package/dest/abi/authorization_selector.d.ts +4 -7
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +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 +31 -7
  12. package/dest/abi/decoder.d.ts +6 -45
  13. package/dest/abi/decoder.d.ts.map +1 -1
  14. package/dest/abi/decoder.js +17 -70
  15. package/dest/abi/encoder.d.ts +1 -1
  16. package/dest/abi/encoder.d.ts.map +1 -1
  17. package/dest/abi/encoder.js +64 -7
  18. package/dest/abi/event_metadata_definition.d.ts +3 -1
  19. package/dest/abi/event_metadata_definition.d.ts.map +1 -1
  20. package/dest/abi/event_metadata_definition.js +1 -1
  21. package/dest/abi/event_selector.d.ts +4 -7
  22. package/dest/abi/event_selector.d.ts.map +1 -1
  23. package/dest/abi/function_call.d.ts +22 -10
  24. package/dest/abi/function_call.d.ts.map +1 -1
  25. package/dest/abi/function_call.js +20 -3
  26. package/dest/abi/function_selector.d.ts +3 -6
  27. package/dest/abi/function_selector.d.ts.map +1 -1
  28. package/dest/abi/function_selector.js +2 -4
  29. package/dest/abi/function_signature_decoder.d.ts +43 -0
  30. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  31. package/dest/abi/function_signature_decoder.js +66 -0
  32. package/dest/abi/index.d.ts +2 -1
  33. package/dest/abi/index.d.ts.map +1 -1
  34. package/dest/abi/index.js +1 -0
  35. package/dest/abi/note_selector.d.ts +4 -7
  36. package/dest/abi/note_selector.d.ts.map +1 -1
  37. package/dest/abi/note_selector.js +1 -3
  38. package/dest/abi/selector.d.ts +2 -2
  39. package/dest/abi/selector.d.ts.map +1 -1
  40. package/dest/abi/selector.js +1 -1
  41. package/dest/abi/utils.d.ts +14 -1
  42. package/dest/abi/utils.d.ts.map +1 -1
  43. package/dest/abi/utils.js +16 -1
  44. package/dest/auth_witness/auth_witness.d.ts +2 -2
  45. package/dest/auth_witness/auth_witness.d.ts.map +1 -1
  46. package/dest/auth_witness/auth_witness.js +3 -3
  47. package/dest/avm/avm.d.ts +1756 -10463
  48. package/dest/avm/avm.d.ts.map +1 -1
  49. package/dest/avm/avm.js +7 -4
  50. package/dest/avm/avm_accumulated_data.d.ts +22 -86
  51. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  52. package/dest/avm/avm_circuit_public_inputs.d.ts +180 -932
  53. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  54. package/dest/avm/avm_proving_request.d.ts +653 -5446
  55. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  56. package/dest/avm/message_pack.js +12 -3
  57. package/dest/avm/public_data_write.d.ts +6 -12
  58. package/dest/avm/public_data_write.d.ts.map +1 -1
  59. package/dest/avm/revert_code.d.ts +6 -7
  60. package/dest/avm/revert_code.d.ts.map +1 -1
  61. package/dest/avm/revert_code.js +13 -21
  62. package/dest/aztec-address/index.d.ts +42 -12
  63. package/dest/aztec-address/index.d.ts.map +1 -1
  64. package/dest/aztec-address/index.js +40 -13
  65. package/dest/block/attestation_info.d.ts +3 -2
  66. package/dest/block/attestation_info.d.ts.map +1 -1
  67. package/dest/block/attestation_info.js +10 -5
  68. package/dest/block/block_data.d.ts +27 -0
  69. package/dest/block/block_data.d.ts.map +1 -0
  70. package/dest/block/block_data.js +12 -0
  71. package/dest/block/block_hash.d.ts +11 -10
  72. package/dest/block/block_hash.d.ts.map +1 -1
  73. package/dest/block/block_hash.js +10 -9
  74. package/dest/block/block_parameter.d.ts +37 -4
  75. package/dest/block/block_parameter.d.ts.map +1 -1
  76. package/dest/block/block_parameter.js +53 -2
  77. package/dest/block/in_block.d.ts +5 -24
  78. package/dest/block/in_block.d.ts.map +1 -1
  79. package/dest/block/in_block.js +1 -1
  80. package/dest/block/index.d.ts +2 -2
  81. package/dest/block/index.d.ts.map +1 -1
  82. package/dest/block/index.js +1 -1
  83. package/dest/block/l2_block.d.ts +21 -41
  84. package/dest/block/l2_block.d.ts.map +1 -1
  85. package/dest/block/l2_block.js +12 -2
  86. package/dest/block/l2_block_info.d.ts +10 -29
  87. package/dest/block/l2_block_info.d.ts.map +1 -1
  88. package/dest/block/l2_block_info.js +6 -5
  89. package/dest/block/l2_block_source.d.ts +238 -337
  90. package/dest/block/l2_block_source.d.ts.map +1 -1
  91. package/dest/block/l2_block_source.js +81 -1
  92. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  93. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  94. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  95. package/dest/block/l2_block_stream/index.d.ts +2 -1
  96. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  97. package/dest/block/l2_block_stream/index.js +1 -0
  98. package/dest/block/l2_block_stream/interfaces.d.ts +83 -10
  99. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  100. package/dest/block/l2_block_stream/interfaces.js +25 -1
  101. package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
  102. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  103. package/dest/block/l2_block_stream/l2_block_stream.js +159 -125
  104. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +8 -12
  105. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  106. package/dest/block/l2_block_stream/l2_tips_memory_store.js +11 -32
  107. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +20 -18
  108. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  109. package/dest/block/l2_block_stream/l2_tips_store_base.js +84 -40
  110. package/dest/block/proposal/attestations_and_signers.d.ts +37 -30
  111. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  112. package/dest/block/proposal/attestations_and_signers.js +73 -25
  113. package/dest/block/proposal/committee_attestation.d.ts +6 -12
  114. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  115. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  116. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  117. package/dest/block/test/l2_tips_store_test_suite.js +296 -36
  118. package/dest/block/validate_block_result.d.ts +16 -1
  119. package/dest/block/validate_block_result.d.ts.map +1 -1
  120. package/dest/block/validate_block_result.js +18 -3
  121. package/dest/checkpoint/checkpoint.d.ts +48 -99
  122. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  123. package/dest/checkpoint/checkpoint.js +42 -18
  124. package/dest/checkpoint/checkpoint_data.d.ts +97 -0
  125. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
  126. package/dest/checkpoint/checkpoint_data.js +38 -0
  127. package/dest/checkpoint/checkpoint_info.d.ts +7 -23
  128. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  129. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts +60 -0
  130. package/dest/checkpoint/checkpoint_reexecution_tracker.d.ts.map +1 -0
  131. package/dest/checkpoint/checkpoint_reexecution_tracker.js +108 -0
  132. package/dest/checkpoint/digest.d.ts +18 -0
  133. package/dest/checkpoint/digest.d.ts.map +1 -0
  134. package/dest/checkpoint/digest.js +12 -0
  135. package/dest/checkpoint/index.d.ts +7 -1
  136. package/dest/checkpoint/index.d.ts.map +1 -1
  137. package/dest/checkpoint/index.js +6 -0
  138. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts +33 -0
  139. package/dest/checkpoint/previous_checkpoint_out_hashes.d.ts.map +1 -0
  140. package/dest/checkpoint/previous_checkpoint_out_hashes.js +45 -0
  141. package/dest/checkpoint/published_checkpoint.d.ts +53 -190
  142. package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
  143. package/dest/checkpoint/published_checkpoint.js +1 -2
  144. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  145. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  146. package/dest/checkpoint/simulation_overrides.js +98 -0
  147. package/dest/checkpoint/validate.d.ts +44 -0
  148. package/dest/checkpoint/validate.d.ts.map +1 -0
  149. package/dest/checkpoint/validate.js +123 -0
  150. package/dest/config/chain-config.d.ts +4 -9
  151. package/dest/config/chain-config.d.ts.map +1 -1
  152. package/dest/config/chain-config.js +13 -12
  153. package/dest/config/index.d.ts +3 -1
  154. package/dest/config/index.d.ts.map +1 -1
  155. package/dest/config/index.js +2 -0
  156. package/dest/config/network-consensus-config.d.ts +72 -0
  157. package/dest/config/network-consensus-config.d.ts.map +1 -0
  158. package/dest/config/network-consensus-config.js +223 -0
  159. package/dest/config/sequencer-config.d.ts +16 -0
  160. package/dest/config/sequencer-config.d.ts.map +1 -0
  161. package/dest/config/sequencer-config.js +57 -0
  162. package/dest/contract/complete_address.d.ts +3 -2
  163. package/dest/contract/complete_address.d.ts.map +1 -1
  164. package/dest/contract/complete_address.js +6 -2
  165. package/dest/contract/contract_address.d.ts +10 -9
  166. package/dest/contract/contract_address.d.ts.map +1 -1
  167. package/dest/contract/contract_address.js +9 -8
  168. package/dest/contract/contract_class.d.ts +2 -3
  169. package/dest/contract/contract_class.d.ts.map +1 -1
  170. package/dest/contract/contract_class_id.d.ts +3 -3
  171. package/dest/contract/contract_class_id.d.ts.map +1 -1
  172. package/dest/contract/contract_class_id.js +7 -6
  173. package/dest/contract/contract_deployment_data.d.ts +15 -61
  174. package/dest/contract/contract_deployment_data.d.ts.map +1 -1
  175. package/dest/contract/contract_instance.d.ts +19 -3
  176. package/dest/contract/contract_instance.d.ts.map +1 -1
  177. package/dest/contract/contract_instance.js +55 -3
  178. package/dest/contract/index.d.ts +1 -3
  179. package/dest/contract/index.d.ts.map +1 -1
  180. package/dest/contract/index.js +0 -2
  181. package/dest/contract/interfaces/contract_class.d.ts +17 -241
  182. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  183. package/dest/contract/interfaces/contract_class.js +1 -28
  184. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  185. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  186. package/dest/contract/interfaces/contract_instance.d.ts +111 -104
  187. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  188. package/dest/contract/interfaces/contract_instance.js +11 -4
  189. package/dest/contract/interfaces/contract_instance_update.d.ts +6 -26
  190. package/dest/contract/interfaces/contract_instance_update.d.ts.map +1 -1
  191. package/dest/contract/interfaces/node-info.d.ts +13 -1
  192. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  193. package/dest/contract/interfaces/node-info.js +8 -1
  194. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +2 -12
  195. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  196. package/dest/contract/partial_address.d.ts +9 -3
  197. package/dest/contract/partial_address.d.ts.map +1 -1
  198. package/dest/contract/partial_address.js +8 -2
  199. package/dest/contract/private_function.d.ts +1 -1
  200. package/dest/contract/private_function.d.ts.map +1 -1
  201. package/dest/contract/private_function.js +4 -6
  202. package/dest/database-version/database_version.d.ts +5 -11
  203. package/dest/database-version/database_version.d.ts.map +1 -1
  204. package/dest/database-version/version_manager.d.ts +22 -4
  205. package/dest/database-version/version_manager.d.ts.map +1 -1
  206. package/dest/database-version/version_manager.js +87 -6
  207. package/dest/deserialization/index.d.ts +35 -3
  208. package/dest/deserialization/index.d.ts.map +1 -1
  209. package/dest/deserialization/index.js +32 -1
  210. package/dest/epoch-helpers/index.d.ts +14 -18
  211. package/dest/epoch-helpers/index.d.ts.map +1 -1
  212. package/dest/epoch-helpers/index.js +18 -2
  213. package/dest/file-store/factory.d.ts +4 -3
  214. package/dest/file-store/factory.d.ts.map +1 -1
  215. package/dest/file-store/factory.js +9 -2
  216. package/dest/file-store/http.d.ts +9 -2
  217. package/dest/file-store/http.d.ts.map +1 -1
  218. package/dest/file-store/http.js +20 -9
  219. package/dest/file-store/index.d.ts +3 -1
  220. package/dest/file-store/index.d.ts.map +1 -1
  221. package/dest/file-store/index.js +1 -0
  222. package/dest/file-store/local.d.ts +3 -3
  223. package/dest/file-store/local.d.ts.map +1 -1
  224. package/dest/file-store/local.js +13 -4
  225. package/dest/file-store/memory.d.ts +24 -0
  226. package/dest/file-store/memory.d.ts.map +1 -0
  227. package/dest/file-store/memory.js +80 -0
  228. package/dest/file-store/s3.d.ts +1 -1
  229. package/dest/file-store/s3.d.ts.map +1 -1
  230. package/dest/file-store/s3.js +11 -3
  231. package/dest/gas/fee_math.d.ts +49 -0
  232. package/dest/gas/fee_math.d.ts.map +1 -0
  233. package/dest/gas/fee_math.js +80 -0
  234. package/dest/gas/gas.d.ts +9 -14
  235. package/dest/gas/gas.d.ts.map +1 -1
  236. package/dest/gas/gas.js +6 -3
  237. package/dest/gas/gas_fees.d.ts +13 -14
  238. package/dest/gas/gas_fees.d.ts.map +1 -1
  239. package/dest/gas/gas_fees.js +20 -4
  240. package/dest/gas/gas_settings.d.ts +60 -86
  241. package/dest/gas/gas_settings.d.ts.map +1 -1
  242. package/dest/gas/gas_settings.js +49 -9
  243. package/dest/gas/index.d.ts +3 -1
  244. package/dest/gas/index.d.ts.map +1 -1
  245. package/dest/gas/index.js +2 -0
  246. package/dest/gas/tx_gas_limits.d.ts +72 -0
  247. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  248. package/dest/gas/tx_gas_limits.js +85 -0
  249. package/dest/ha-signing/config.d.ts +86 -0
  250. package/dest/ha-signing/config.d.ts.map +1 -0
  251. package/dest/ha-signing/config.js +94 -0
  252. package/dest/ha-signing/index.d.ts +4 -0
  253. package/dest/ha-signing/index.d.ts.map +1 -0
  254. package/dest/ha-signing/index.js +3 -0
  255. package/dest/ha-signing/local_config.d.ts +40 -0
  256. package/dest/ha-signing/local_config.d.ts.map +1 -0
  257. package/dest/ha-signing/local_config.js +30 -0
  258. package/dest/ha-signing/types.d.ts +90 -0
  259. package/dest/ha-signing/types.d.ts.map +1 -0
  260. package/dest/ha-signing/types.js +39 -0
  261. package/dest/hash/hash.d.ts +35 -2
  262. package/dest/hash/hash.d.ts.map +1 -1
  263. package/dest/hash/hash.js +77 -17
  264. package/dest/hash/map_slot.js +2 -2
  265. package/dest/interfaces/allowed_element.d.ts +17 -35
  266. package/dest/interfaces/allowed_element.d.ts.map +1 -1
  267. package/dest/interfaces/allowed_element.js +8 -8
  268. package/dest/interfaces/api_limit.d.ts +1 -1
  269. package/dest/interfaces/api_limit.js +1 -1
  270. package/dest/interfaces/archiver.d.ts +27 -32
  271. package/dest/interfaces/archiver.d.ts.map +1 -1
  272. package/dest/interfaces/archiver.js +217 -65
  273. package/dest/interfaces/aztec-node-admin.d.ts +115 -257
  274. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  275. package/dest/interfaces/aztec-node-admin.js +69 -18
  276. package/dest/interfaces/aztec-node-debug.d.ts +59 -0
  277. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  278. package/dest/interfaces/aztec-node-debug.js +49 -0
  279. package/dest/interfaces/aztec-node.d.ts +166 -116
  280. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  281. package/dest/interfaces/aztec-node.js +351 -72
  282. package/dest/interfaces/block-builder.d.ts +43 -12
  283. package/dest/interfaces/block-builder.d.ts.map +1 -1
  284. package/dest/interfaces/block-builder.js +13 -6
  285. package/dest/interfaces/block_response.d.ts +90 -0
  286. package/dest/interfaces/block_response.d.ts.map +1 -0
  287. package/dest/interfaces/block_response.js +30 -0
  288. package/dest/interfaces/chain_tips.d.ts +11 -0
  289. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  290. package/dest/interfaces/chain_tips.js +6 -0
  291. package/dest/interfaces/checkpoint_parameter.d.ts +14 -0
  292. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  293. package/dest/interfaces/checkpoint_parameter.js +18 -0
  294. package/dest/interfaces/checkpoint_response.d.ts +122 -0
  295. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  296. package/dest/interfaces/checkpoint_response.js +26 -0
  297. package/dest/interfaces/client.d.ts +9 -2
  298. package/dest/interfaces/client.d.ts.map +1 -1
  299. package/dest/interfaces/client.js +7 -1
  300. package/dest/interfaces/configs.d.ts +98 -121
  301. package/dest/interfaces/configs.d.ts.map +1 -1
  302. package/dest/interfaces/configs.js +23 -4
  303. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  304. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  305. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  306. package/dest/interfaces/l1_publish_info.d.ts +29 -0
  307. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  308. package/dest/interfaces/l1_publish_info.js +26 -0
  309. package/dest/interfaces/l2_logs_source.d.ts +14 -34
  310. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  311. package/dest/interfaces/l2_logs_source.js +5 -0
  312. package/dest/interfaces/merkle_tree_operations.d.ts +13 -22
  313. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  314. package/dest/interfaces/p2p-bootstrap.js +8 -2
  315. package/dest/interfaces/p2p.d.ts +49 -15
  316. package/dest/interfaces/p2p.d.ts.map +1 -1
  317. package/dest/interfaces/p2p.js +41 -6
  318. package/dest/interfaces/private_kernel_prover.d.ts +69 -11
  319. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  320. package/dest/interfaces/prover-agent.d.ts +5 -23
  321. package/dest/interfaces/prover-agent.d.ts.map +1 -1
  322. package/dest/interfaces/prover-agent.js +4 -1
  323. package/dest/interfaces/prover-broker.d.ts +16 -1
  324. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  325. package/dest/interfaces/prover-broker.js +4 -1
  326. package/dest/interfaces/prover-client.d.ts +13 -25
  327. package/dest/interfaces/prover-client.d.ts.map +1 -1
  328. package/dest/interfaces/prover-client.js +12 -4
  329. package/dest/interfaces/prover-node.d.ts +12 -8
  330. package/dest/interfaces/prover-node.d.ts.map +1 -1
  331. package/dest/interfaces/prover-node.js +37 -16
  332. package/dest/interfaces/proving-job-source.js +24 -4
  333. package/dest/interfaces/proving-job.d.ts +757 -5795
  334. package/dest/interfaces/proving-job.d.ts.map +1 -1
  335. package/dest/interfaces/proving-job.js +14 -5
  336. package/dest/interfaces/public_storage_override.d.ts +22 -0
  337. package/dest/interfaces/public_storage_override.d.ts.map +1 -0
  338. package/dest/interfaces/public_storage_override.js +7 -0
  339. package/dest/interfaces/server.d.ts +6 -2
  340. package/dest/interfaces/server.d.ts.map +1 -1
  341. package/dest/interfaces/server.js +5 -1
  342. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  343. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  344. package/dest/interfaces/slasher.d.ts +27 -59
  345. package/dest/interfaces/slasher.d.ts.map +1 -1
  346. package/dest/interfaces/slasher.js +10 -4
  347. package/dest/interfaces/tx_provider.d.ts +6 -1
  348. package/dest/interfaces/tx_provider.d.ts.map +1 -1
  349. package/dest/interfaces/validator.d.ts +89 -170
  350. package/dest/interfaces/validator.d.ts.map +1 -1
  351. package/dest/interfaces/validator.js +19 -6
  352. package/dest/interfaces/world_state.d.ts +19 -5
  353. package/dest/interfaces/world_state.d.ts.map +1 -1
  354. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +3 -3
  355. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  356. package/dest/kernel/hints/build_note_hash_read_request_hints.js +13 -10
  357. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +3 -3
  358. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  359. package/dest/kernel/hints/build_nullifier_read_request_hints.js +13 -10
  360. package/dest/kernel/hints/build_transient_data_hints.d.ts +5 -2
  361. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  362. package/dest/kernel/hints/build_transient_data_hints.js +9 -3
  363. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  364. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  365. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  366. package/dest/kernel/hints/index.d.ts +2 -2
  367. package/dest/kernel/hints/index.js +2 -2
  368. package/dest/kernel/hints/key_validation_request.d.ts +12 -8
  369. package/dest/kernel/hints/key_validation_request.d.ts.map +1 -1
  370. package/dest/kernel/hints/key_validation_request.js +20 -18
  371. package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
  372. package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
  373. package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
  374. package/dest/kernel/hints/read_request.js +1 -1
  375. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
  376. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
  377. package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
  378. package/dest/kernel/index.d.ts +6 -2
  379. package/dest/kernel/index.d.ts.map +1 -1
  380. package/dest/kernel/index.js +5 -1
  381. package/dest/kernel/log_hash.d.ts +6 -2
  382. package/dest/kernel/log_hash.d.ts.map +1 -1
  383. package/dest/kernel/log_hash.js +23 -11
  384. package/dest/kernel/note_hash.js +1 -1
  385. package/dest/kernel/nullifier.js +1 -1
  386. package/dest/kernel/private_circuit_public_inputs.d.ts +21 -11
  387. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  388. package/dest/kernel/private_circuit_public_inputs.js +26 -19
  389. package/dest/kernel/private_context_inputs.d.ts +4 -3
  390. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  391. package/dest/kernel/private_context_inputs.js +7 -3
  392. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +10 -4
  393. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  394. package/dest/kernel/private_kernel_circuit_public_inputs.js +11 -4
  395. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +22 -0
  396. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -0
  397. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +33 -0
  398. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +23 -0
  399. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -0
  400. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +35 -0
  401. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  402. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  403. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  404. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts +16 -0
  405. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.d.ts.map +1 -0
  406. package/dest/kernel/private_kernel_inner_2_circuit_private_inputs.js +23 -0
  407. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts +17 -0
  408. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.d.ts.map +1 -0
  409. package/dest/kernel/private_kernel_inner_3_circuit_private_inputs.js +25 -0
  410. package/dest/kernel/private_kernel_prover_output.d.ts +3 -29
  411. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  412. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  413. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  414. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  415. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  416. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  417. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +12 -8
  418. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  419. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +32 -13
  420. package/dest/kernel/private_log_data.d.ts +1 -1
  421. package/dest/kernel/private_log_data.d.ts.map +1 -1
  422. package/dest/kernel/private_log_data.js +1 -1
  423. package/dest/kernel/private_to_avm_accumulated_data.d.ts +25 -69
  424. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  425. package/dest/kernel/private_to_avm_accumulated_data.js +11 -5
  426. package/dest/kernel/private_to_public_accumulated_data.d.ts +4 -3
  427. package/dest/kernel/private_to_public_accumulated_data.d.ts.map +1 -1
  428. package/dest/kernel/private_to_public_accumulated_data.js +6 -3
  429. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +7 -6
  430. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  431. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +13 -9
  432. package/dest/kernel/private_to_rollup_accumulated_data.d.ts +5 -4
  433. package/dest/kernel/private_to_rollup_accumulated_data.d.ts.map +1 -1
  434. package/dest/kernel/private_to_rollup_accumulated_data.js +6 -3
  435. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +7 -6
  436. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  437. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +13 -9
  438. package/dest/kernel/private_validation_requests.d.ts +3 -3
  439. package/dest/kernel/private_validation_requests.js +9 -9
  440. package/dest/kernel/public_call_request.d.ts +15 -30
  441. package/dest/kernel/public_call_request.d.ts.map +1 -1
  442. package/dest/kernel/public_call_request.js +16 -7
  443. package/dest/keys/derivation.d.ts +45 -6
  444. package/dest/keys/derivation.d.ts.map +1 -1
  445. package/dest/keys/derivation.js +59 -26
  446. package/dest/keys/key_types.d.ts +3 -3
  447. package/dest/keys/key_types.d.ts.map +1 -1
  448. package/dest/keys/public_key.d.ts +22 -3
  449. package/dest/keys/public_key.d.ts.map +1 -1
  450. package/dest/keys/public_key.js +20 -1
  451. package/dest/keys/public_keys.d.ts +55 -82
  452. package/dest/keys/public_keys.d.ts.map +1 -1
  453. package/dest/keys/public_keys.js +102 -74
  454. package/dest/keys/utils.js +5 -5
  455. package/dest/kv-store/config.d.ts +14 -0
  456. package/dest/kv-store/config.d.ts.map +1 -0
  457. package/dest/kv-store/config.js +21 -0
  458. package/dest/kv-store/index.d.ts +2 -0
  459. package/dest/kv-store/index.d.ts.map +1 -0
  460. package/dest/kv-store/index.js +1 -0
  461. package/dest/l1-contracts/index.d.ts +2 -2
  462. package/dest/l1-contracts/index.d.ts.map +1 -1
  463. package/dest/l1-contracts/index.js +1 -1
  464. package/dest/logs/app_tagging_secret.d.ts +69 -0
  465. package/dest/logs/app_tagging_secret.d.ts.map +1 -0
  466. package/dest/logs/app_tagging_secret.js +116 -0
  467. package/dest/logs/app_tagging_secret_kind.d.ts +7 -0
  468. package/dest/logs/app_tagging_secret_kind.d.ts.map +1 -0
  469. package/dest/logs/app_tagging_secret_kind.js +17 -0
  470. package/dest/logs/contract_class_log.d.ts +16 -35
  471. package/dest/logs/contract_class_log.d.ts.map +1 -1
  472. package/dest/logs/contract_class_log.js +11 -13
  473. package/dest/logs/debug_log_store.d.ts +30 -0
  474. package/dest/logs/debug_log_store.d.ts.map +1 -0
  475. package/dest/logs/debug_log_store.js +30 -0
  476. package/dest/logs/index.d.ts +9 -9
  477. package/dest/logs/index.d.ts.map +1 -1
  478. package/dest/logs/index.js +8 -8
  479. package/dest/logs/log_cursor.d.ts +51 -0
  480. package/dest/logs/log_cursor.d.ts.map +1 -0
  481. package/dest/logs/log_cursor.js +82 -0
  482. package/dest/logs/log_result.d.ts +54 -0
  483. package/dest/logs/log_result.d.ts.map +1 -0
  484. package/dest/logs/log_result.js +56 -0
  485. package/dest/logs/logs_query.d.ts +82 -0
  486. package/dest/logs/logs_query.d.ts.map +1 -0
  487. package/dest/logs/logs_query.js +50 -0
  488. package/dest/logs/pre_tag.d.ts +14 -22
  489. package/dest/logs/pre_tag.d.ts.map +1 -1
  490. package/dest/logs/pre_tag.js +2 -2
  491. package/dest/logs/private_log.d.ts +8 -13
  492. package/dest/logs/private_log.d.ts.map +1 -1
  493. package/dest/logs/private_log.js +6 -3
  494. package/dest/logs/public_log.d.ts +4 -3
  495. package/dest/logs/public_log.d.ts.map +1 -1
  496. package/dest/logs/public_log.js +2 -1
  497. package/dest/logs/query_all_logs_by_tags.d.ts +24 -0
  498. package/dest/logs/query_all_logs_by_tags.d.ts.map +1 -0
  499. package/dest/logs/query_all_logs_by_tags.js +64 -0
  500. package/dest/logs/shared_secret_derivation.d.ts +33 -9
  501. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  502. package/dest/logs/shared_secret_derivation.js +49 -10
  503. package/dest/logs/siloed_tag.d.ts +12 -9
  504. package/dest/logs/siloed_tag.d.ts.map +1 -1
  505. package/dest/logs/siloed_tag.js +18 -7
  506. package/dest/logs/tag.d.ts +5 -6
  507. package/dest/logs/tag.d.ts.map +1 -1
  508. package/dest/logs/tag.js +5 -1
  509. package/dest/logs/tagging_index_range.d.ts +22 -0
  510. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  511. package/dest/logs/tagging_index_range.js +8 -0
  512. package/dest/messaging/append_l1_to_l2_messages.d.ts +9 -0
  513. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -0
  514. package/dest/messaging/append_l1_to_l2_messages.js +12 -0
  515. package/dest/messaging/index.d.ts +2 -1
  516. package/dest/messaging/index.d.ts.map +1 -1
  517. package/dest/messaging/index.js +1 -0
  518. package/dest/messaging/l1_to_l2_message.d.ts +25 -3
  519. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  520. package/dest/messaging/l1_to_l2_message.js +38 -15
  521. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  522. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  523. package/dest/messaging/l2_to_l1_membership.d.ts +72 -9
  524. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  525. package/dest/messaging/l2_to_l1_membership.js +133 -30
  526. package/dest/messaging/l2_to_l1_message.d.ts +38 -112
  527. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  528. package/dest/messaging/l2_to_l1_message.js +21 -12
  529. package/dest/noir/index.d.ts +5 -3
  530. package/dest/noir/index.d.ts.map +1 -1
  531. package/dest/note/index.d.ts +1 -2
  532. package/dest/note/index.d.ts.map +1 -1
  533. package/dest/note/index.js +0 -1
  534. package/dest/note/note.d.ts +2 -2
  535. package/dest/note/note.d.ts.map +1 -1
  536. package/dest/note/note_dao.d.ts +1 -1
  537. package/dest/note/note_dao.d.ts.map +1 -1
  538. package/dest/note/note_dao.js +1 -4
  539. package/dest/p2p/attestation_utils.d.ts +11 -1
  540. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  541. package/dest/p2p/attestation_utils.js +53 -1
  542. package/dest/p2p/block_proposal.d.ts +32 -15
  543. package/dest/p2p/block_proposal.d.ts.map +1 -1
  544. package/dest/p2p/block_proposal.js +58 -42
  545. package/dest/p2p/checkpoint_attestation.d.ts +25 -9
  546. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  547. package/dest/p2p/checkpoint_attestation.js +33 -24
  548. package/dest/p2p/checkpoint_proposal.d.ts +51 -24
  549. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  550. package/dest/p2p/checkpoint_proposal.js +77 -65
  551. package/dest/p2p/client_type.d.ts +2 -5
  552. package/dest/p2p/client_type.d.ts.map +1 -1
  553. package/dest/p2p/client_type.js +0 -7
  554. package/dest/p2p/consensus_payload.d.ts +33 -17
  555. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  556. package/dest/p2p/consensus_payload.js +47 -21
  557. package/dest/p2p/constants.d.ts +3 -1
  558. package/dest/p2p/constants.d.ts.map +1 -1
  559. package/dest/p2p/constants.js +1 -0
  560. package/dest/p2p/gossipable.d.ts +4 -4
  561. package/dest/p2p/gossipable.d.ts.map +1 -1
  562. package/dest/p2p/index.d.ts +1 -2
  563. package/dest/p2p/index.d.ts.map +1 -1
  564. package/dest/p2p/index.js +0 -1
  565. package/dest/p2p/peer_error.d.ts +3 -1
  566. package/dest/p2p/peer_error.d.ts.map +1 -1
  567. package/dest/p2p/peer_error.js +5 -0
  568. package/dest/p2p/signature_utils.d.ts +35 -17
  569. package/dest/p2p/signature_utils.d.ts.map +1 -1
  570. package/dest/p2p/signature_utils.js +125 -20
  571. package/dest/p2p/signed_txs.d.ts +15 -13
  572. package/dest/p2p/signed_txs.d.ts.map +1 -1
  573. package/dest/p2p/signed_txs.js +26 -24
  574. package/dest/p2p/topic_type.d.ts +3 -4
  575. package/dest/p2p/topic_type.d.ts.map +1 -1
  576. package/dest/p2p/topic_type.js +7 -24
  577. package/dest/parity/parity_base_private_inputs.d.ts +8 -4
  578. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  579. package/dest/parity/parity_base_private_inputs.js +7 -5
  580. package/dest/parity/parity_public_inputs.d.ts +8 -4
  581. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  582. package/dest/parity/parity_public_inputs.js +6 -3
  583. package/dest/parity/parity_root_private_inputs.d.ts +2 -2
  584. package/dest/parity/parity_root_private_inputs.d.ts.map +1 -1
  585. package/dest/proofs/chonk_proof.d.ts +57 -7
  586. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  587. package/dest/proofs/chonk_proof.js +112 -15
  588. package/dest/proofs/recursive_proof.d.ts +2 -2
  589. package/dest/proofs/recursive_proof.d.ts.map +1 -1
  590. package/dest/rollup/avm_proof_data.d.ts +3 -3
  591. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  592. package/dest/rollup/block_headers_hash.d.ts +1 -1
  593. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  594. package/dest/rollup/block_headers_hash.js +8 -2
  595. package/dest/rollup/block_merge_rollup_private_inputs.d.ts +2 -2
  596. package/dest/rollup/block_merge_rollup_private_inputs.d.ts.map +1 -1
  597. package/dest/rollup/block_rollup_public_inputs.d.ts +12 -2
  598. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  599. package/dest/rollup/block_rollup_public_inputs.js +12 -0
  600. package/dest/rollup/block_root_rollup_private_inputs.d.ts +6 -6
  601. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  602. package/dest/rollup/checkpoint_header.d.ts +10 -5
  603. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  604. package/dest/rollup/checkpoint_header.js +22 -12
  605. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts +2 -2
  606. package/dest/rollup/checkpoint_merge_rollup_private_inputs.d.ts.map +1 -1
  607. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +14 -7
  608. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  609. package/dest/rollup/checkpoint_rollup_public_inputs.js +11 -2
  610. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +6 -6
  611. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  612. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts +2 -2
  613. package/dest/rollup/private_tx_base_rollup_private_inputs.d.ts.map +1 -1
  614. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts +2 -2
  615. package/dest/rollup/public_chonk_verifier_private_inputs.d.ts.map +1 -1
  616. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts +2 -2
  617. package/dest/rollup/public_chonk_verifier_public_inputs.d.ts.map +1 -1
  618. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts +2 -2
  619. package/dest/rollup/public_tx_base_rollup_private_inputs.d.ts.map +1 -1
  620. package/dest/rollup/root_rollup_private_inputs.d.ts +2 -2
  621. package/dest/rollup/root_rollup_private_inputs.d.ts.map +1 -1
  622. package/dest/rollup/root_rollup_public_inputs.d.ts +7 -7
  623. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  624. package/dest/rollup/root_rollup_public_inputs.js +3 -3
  625. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts +2 -2
  626. package/dest/rollup/tx_merge_rollup_private_inputs.d.ts.map +1 -1
  627. package/dest/rollup/tx_rollup_public_inputs.d.ts +2 -2
  628. package/dest/rollup/tx_rollup_public_inputs.d.ts.map +1 -1
  629. package/dest/schemas/schemas.d.ts +32 -78
  630. package/dest/schemas/schemas.d.ts.map +1 -1
  631. package/dest/schemas/schemas.js +2 -2
  632. package/dest/slashing/helpers.d.ts +2 -2
  633. package/dest/slashing/helpers.d.ts.map +1 -1
  634. package/dest/slashing/helpers.js +16 -7
  635. package/dest/slashing/index.d.ts +2 -3
  636. package/dest/slashing/index.d.ts.map +1 -1
  637. package/dest/slashing/index.js +1 -2
  638. package/dest/slashing/serialization.d.ts +2 -6
  639. package/dest/slashing/serialization.d.ts.map +1 -1
  640. package/dest/slashing/serialization.js +0 -60
  641. package/dest/slashing/types.d.ts +21 -111
  642. package/dest/slashing/types.d.ts.map +1 -1
  643. package/dest/slashing/types.js +28 -24
  644. package/dest/slashing/{tally.d.ts → votes.d.ts} +8 -2
  645. package/dest/slashing/votes.d.ts.map +1 -0
  646. package/dest/slashing/{tally.js → votes.js} +35 -3
  647. package/dest/snapshots/types.d.ts +15 -78
  648. package/dest/snapshots/types.d.ts.map +1 -1
  649. package/dest/stats/stats.d.ts +2 -2
  650. package/dest/stats/stats.d.ts.map +1 -1
  651. package/dest/tests/factories.d.ts +25 -30
  652. package/dest/tests/factories.d.ts.map +1 -1
  653. package/dest/tests/factories.js +93 -90
  654. package/dest/tests/mocks.d.ts +15 -7
  655. package/dest/tests/mocks.d.ts.map +1 -1
  656. package/dest/tests/mocks.js +69 -70
  657. package/dest/timetable/budgets.d.ts +57 -0
  658. package/dest/timetable/budgets.d.ts.map +1 -0
  659. package/dest/timetable/budgets.js +56 -0
  660. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  661. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  662. package/dest/timetable/build_proposer_timetable.js +17 -0
  663. package/dest/timetable/consensus_timetable.d.ts +70 -0
  664. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  665. package/dest/timetable/consensus_timetable.js +89 -0
  666. package/dest/timetable/index.d.ts +5 -0
  667. package/dest/timetable/index.d.ts.map +1 -0
  668. package/dest/timetable/index.js +4 -0
  669. package/dest/timetable/proposer_timetable.d.ts +106 -0
  670. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  671. package/dest/timetable/proposer_timetable.js +132 -0
  672. package/dest/trees/append_only_tree_snapshot.d.ts +9 -14
  673. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  674. package/dest/trees/append_only_tree_snapshot.js +6 -3
  675. package/dest/trees/nullifier_leaf.d.ts +19 -42
  676. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  677. package/dest/trees/nullifier_leaf.js +3 -0
  678. package/dest/trees/nullifier_membership_witness.d.ts +17 -63
  679. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  680. package/dest/trees/nullifier_membership_witness.js +0 -21
  681. package/dest/trees/public_data_leaf.d.ts +22 -53
  682. package/dest/trees/public_data_leaf.d.ts.map +1 -1
  683. package/dest/trees/public_data_leaf.js +7 -6
  684. package/dest/trees/public_data_witness.d.ts +19 -71
  685. package/dest/trees/public_data_witness.d.ts.map +1 -1
  686. package/dest/trees/public_data_witness.js +0 -27
  687. package/dest/tx/block_header.d.ts +7 -4
  688. package/dest/tx/block_header.d.ts.map +1 -1
  689. package/dest/tx/block_header.js +13 -6
  690. package/dest/tx/call_context.d.ts +4 -14
  691. package/dest/tx/call_context.d.ts.map +1 -1
  692. package/dest/tx/capsule.d.ts +7 -3
  693. package/dest/tx/capsule.d.ts.map +1 -1
  694. package/dest/tx/capsule.js +9 -3
  695. package/dest/tx/execution_payload.d.ts +1 -1
  696. package/dest/tx/execution_payload.d.ts.map +1 -1
  697. package/dest/tx/execution_payload.js +1 -1
  698. package/dest/tx/fee_provider.d.ts +10 -0
  699. package/dest/tx/fee_provider.d.ts.map +1 -0
  700. package/dest/tx/fee_provider.js +1 -0
  701. package/dest/tx/function_data.d.ts +4 -10
  702. package/dest/tx/function_data.d.ts.map +1 -1
  703. package/dest/tx/global_variable_builder.d.ts +4 -15
  704. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  705. package/dest/tx/global_variables.d.ts +19 -52
  706. package/dest/tx/global_variables.d.ts.map +1 -1
  707. package/dest/tx/global_variables.js +10 -14
  708. package/dest/tx/hashed_values.d.ts +4 -3
  709. package/dest/tx/hashed_values.d.ts.map +1 -1
  710. package/dest/tx/hashed_values.js +6 -3
  711. package/dest/tx/in_tx.d.ts +5 -17
  712. package/dest/tx/in_tx.d.ts.map +1 -1
  713. package/dest/tx/index.d.ts +2 -1
  714. package/dest/tx/index.d.ts.map +1 -1
  715. package/dest/tx/index.js +1 -0
  716. package/dest/tx/indexed_tx_effect.d.ts +8 -19
  717. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  718. package/dest/tx/indexed_tx_effect.js +9 -6
  719. package/dest/tx/partial_state_reference.d.ts +22 -65
  720. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  721. package/dest/tx/partial_state_reference.js +6 -3
  722. package/dest/tx/private_execution_result.d.ts +11 -21
  723. package/dest/tx/private_execution_result.d.ts.map +1 -1
  724. package/dest/tx/private_execution_result.js +6 -6
  725. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  726. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  727. package/dest/tx/private_tx_constant_data.js +13 -4
  728. package/dest/tx/profiling.d.ts +70 -356
  729. package/dest/tx/profiling.d.ts.map +1 -1
  730. package/dest/tx/profiling.js +19 -9
  731. package/dest/tx/protocol_contracts.d.ts +5 -9
  732. package/dest/tx/protocol_contracts.d.ts.map +1 -1
  733. package/dest/tx/protocol_contracts.js +2 -2
  734. package/dest/tx/proven_tx.d.ts +30 -74
  735. package/dest/tx/proven_tx.d.ts.map +1 -1
  736. package/dest/tx/proven_tx.js +6 -0
  737. package/dest/tx/public_call_request_with_calldata.d.ts +4 -3
  738. package/dest/tx/public_call_request_with_calldata.d.ts.map +1 -1
  739. package/dest/tx/public_call_request_with_calldata.js +6 -3
  740. package/dest/tx/public_simulation_output.d.ts +4 -2
  741. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  742. package/dest/tx/public_simulation_output.js +7 -3
  743. package/dest/tx/simulated_tx.d.ts +77 -1149
  744. package/dest/tx/simulated_tx.d.ts.map +1 -1
  745. package/dest/tx/simulated_tx.js +17 -12
  746. package/dest/tx/state_reference.d.ts +30 -117
  747. package/dest/tx/state_reference.d.ts.map +1 -1
  748. package/dest/tx/state_reference.js +6 -4
  749. package/dest/tx/tree_snapshots.d.ts +27 -84
  750. package/dest/tx/tree_snapshots.d.ts.map +1 -1
  751. package/dest/tx/tree_snapshots.js +6 -4
  752. package/dest/tx/tx.d.ts +27 -17
  753. package/dest/tx/tx.d.ts.map +1 -1
  754. package/dest/tx/tx.js +62 -28
  755. package/dest/tx/tx_constant_data.d.ts +4 -3
  756. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  757. package/dest/tx/tx_constant_data.js +6 -3
  758. package/dest/tx/tx_context.d.ts +32 -131
  759. package/dest/tx/tx_context.d.ts.map +1 -1
  760. package/dest/tx/tx_context.js +6 -6
  761. package/dest/tx/tx_hash.d.ts +6 -4
  762. package/dest/tx/tx_hash.d.ts.map +1 -1
  763. package/dest/tx/tx_hash.js +13 -5
  764. package/dest/tx/tx_receipt.d.ts +151 -51
  765. package/dest/tx/tx_receipt.d.ts.map +1 -1
  766. package/dest/tx/tx_receipt.js +145 -51
  767. package/dest/tx/tx_request.js +2 -2
  768. package/dest/tx/validator/empty_validator.d.ts +2 -2
  769. package/dest/tx/validator/empty_validator.d.ts.map +1 -1
  770. package/dest/tx/validator/error_texts.d.ts +11 -3
  771. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  772. package/dest/tx/validator/error_texts.js +12 -2
  773. package/dest/tx/validator/tx_validator.d.ts +6 -28
  774. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  775. package/dest/tx/validator/tx_validator.js +0 -4
  776. package/dest/types/shared.d.ts +4 -12
  777. package/dest/types/shared.d.ts.map +1 -1
  778. package/dest/types/shared.js +6 -12
  779. package/dest/update-checker/dev_version.d.ts +3 -0
  780. package/dest/update-checker/dev_version.d.ts.map +1 -0
  781. package/dest/update-checker/dev_version.js +1 -0
  782. package/dest/update-checker/index.d.ts +4 -2
  783. package/dest/update-checker/index.d.ts.map +1 -1
  784. package/dest/update-checker/index.js +3 -1
  785. package/dest/update-checker/package_version.d.ts +6 -0
  786. package/dest/update-checker/package_version.d.ts.map +1 -0
  787. package/dest/update-checker/package_version.js +13 -0
  788. package/dest/update-checker/version_checker.d.ts +25 -0
  789. package/dest/update-checker/version_checker.d.ts.map +1 -0
  790. package/dest/update-checker/version_checker.js +50 -0
  791. package/dest/validators/errors.d.ts +6 -1
  792. package/dest/validators/errors.d.ts.map +1 -1
  793. package/dest/validators/errors.js +7 -0
  794. package/dest/validators/schemas.d.ts +147 -614
  795. package/dest/validators/schemas.d.ts.map +1 -1
  796. package/dest/validators/schemas.js +9 -6
  797. package/dest/validators/types.d.ts +21 -4
  798. package/dest/validators/types.d.ts.map +1 -1
  799. package/dest/versioning/versioning.d.ts +4 -2
  800. package/dest/versioning/versioning.d.ts.map +1 -1
  801. package/dest/versioning/versioning.js +5 -2
  802. package/dest/vks/verification_key.d.ts +4 -139
  803. package/dest/vks/verification_key.d.ts.map +1 -1
  804. package/dest/vks/verification_key.js +5 -126
  805. package/dest/world-state/genesis_data.d.ts +21 -0
  806. package/dest/world-state/genesis_data.d.ts.map +1 -0
  807. package/dest/world-state/genesis_data.js +8 -0
  808. package/dest/world-state/index.d.ts +2 -1
  809. package/dest/world-state/index.d.ts.map +1 -1
  810. package/dest/world-state/index.js +1 -0
  811. package/dest/world-state/world_state_revision.d.ts +15 -26
  812. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  813. package/dest/world-state/world_state_revision.js +7 -1
  814. package/package.json +27 -14
  815. package/src/abi/abi.ts +78 -21
  816. package/src/abi/authorization_selector.ts +2 -8
  817. package/src/abi/buffer.ts +38 -5
  818. package/src/abi/contract_artifact.ts +30 -6
  819. package/src/abi/decoder.ts +36 -82
  820. package/src/abi/encoder.ts +85 -6
  821. package/src/abi/event_metadata_definition.ts +2 -0
  822. package/src/abi/event_selector.ts +2 -8
  823. package/src/abi/function_call.ts +25 -3
  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/in_block.ts +1 -1
  840. package/src/block/index.ts +1 -1
  841. package/src/block/l2_block.ts +13 -1
  842. package/src/block/l2_block_info.ts +8 -6
  843. package/src/block/l2_block_source.ts +267 -122
  844. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  845. package/src/block/l2_block_stream/index.ts +1 -0
  846. package/src/block/l2_block_stream/interfaces.ts +99 -9
  847. package/src/block/l2_block_stream/l2_block_stream.ts +231 -158
  848. package/src/block/l2_block_stream/l2_tips_memory_store.ts +17 -41
  849. package/src/block/l2_block_stream/l2_tips_store_base.ts +85 -60
  850. package/src/block/proposal/attestations_and_signers.ts +85 -24
  851. package/src/block/test/l2_tips_store_test_suite.ts +271 -22
  852. package/src/block/validate_block_result.ts +48 -2
  853. package/src/checkpoint/checkpoint.ts +55 -18
  854. package/src/checkpoint/checkpoint_data.ts +91 -0
  855. package/src/checkpoint/checkpoint_reexecution_tracker.ts +167 -0
  856. package/src/checkpoint/digest.ts +28 -0
  857. package/src/checkpoint/index.ts +6 -0
  858. package/src/checkpoint/previous_checkpoint_out_hashes.ts +61 -0
  859. package/src/checkpoint/published_checkpoint.ts +3 -1
  860. package/src/checkpoint/simulation_overrides.ts +171 -0
  861. package/src/checkpoint/validate.ts +240 -0
  862. package/src/config/chain-config.ts +13 -16
  863. package/src/config/index.ts +2 -0
  864. package/src/config/network-consensus-config.ts +291 -0
  865. package/src/config/sequencer-config.ts +96 -0
  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 +30 -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 +1 -1
  902. package/src/interfaces/archiver.ts +97 -88
  903. package/src/interfaces/aztec-node-admin.ts +58 -19
  904. package/src/interfaces/aztec-node-debug.ts +92 -0
  905. package/src/interfaces/aztec-node.ts +407 -261
  906. package/src/interfaces/block-builder.ts +65 -14
  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 +102 -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 +60 -31
  919. package/src/interfaces/private_kernel_prover.ts +98 -12
  920. package/src/interfaces/prover-agent.ts +1 -1
  921. package/src/interfaces/prover-broker.ts +22 -0
  922. package/src/interfaces/prover-client.ts +18 -8
  923. package/src/interfaces/prover-node.ts +36 -21
  924. package/src/interfaces/proving-job-source.ts +4 -4
  925. package/src/interfaces/proving-job.ts +18 -6
  926. package/src/interfaces/public_storage_override.ts +26 -0
  927. package/src/interfaces/server.ts +5 -1
  928. package/src/interfaces/server_circuit_prover.ts +2 -2
  929. package/src/interfaces/slasher.ts +21 -10
  930. package/src/interfaces/tx_provider.ts +6 -0
  931. package/src/interfaces/validator.ts +98 -36
  932. package/src/interfaces/world_state.ts +19 -4
  933. package/src/kernel/hints/build_note_hash_read_request_hints.ts +14 -18
  934. package/src/kernel/hints/build_nullifier_read_request_hints.ts +15 -18
  935. package/src/kernel/hints/build_transient_data_hints.ts +17 -2
  936. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  937. package/src/kernel/hints/index.ts +2 -2
  938. package/src/kernel/hints/key_validation_request.ts +18 -16
  939. package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
  940. package/src/kernel/hints/read_request.ts +1 -1
  941. package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
  942. package/src/kernel/index.ts +5 -1
  943. package/src/kernel/log_hash.ts +36 -13
  944. package/src/kernel/note_hash.ts +1 -1
  945. package/src/kernel/nullifier.ts +1 -1
  946. package/src/kernel/private_circuit_public_inputs.ts +26 -15
  947. package/src/kernel/private_context_inputs.ts +10 -3
  948. package/src/kernel/private_kernel_circuit_public_inputs.ts +11 -2
  949. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +46 -0
  950. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +49 -0
  951. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  952. package/src/kernel/private_kernel_inner_2_circuit_private_inputs.ts +29 -0
  953. package/src/kernel/private_kernel_inner_3_circuit_private_inputs.ts +31 -0
  954. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  955. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  956. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +42 -18
  957. package/src/kernel/private_log_data.ts +4 -1
  958. package/src/kernel/private_to_avm_accumulated_data.ts +16 -5
  959. package/src/kernel/private_to_public_accumulated_data.ts +9 -3
  960. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +14 -8
  961. package/src/kernel/private_to_rollup_accumulated_data.ts +8 -3
  962. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +13 -13
  963. package/src/kernel/private_validation_requests.ts +8 -8
  964. package/src/kernel/public_call_request.ts +22 -7
  965. package/src/keys/derivation.ts +83 -26
  966. package/src/keys/key_types.ts +6 -2
  967. package/src/keys/public_key.ts +26 -2
  968. package/src/keys/public_keys.ts +125 -111
  969. package/src/keys/utils.ts +5 -5
  970. package/src/kv-store/config.ts +29 -0
  971. package/src/kv-store/index.ts +1 -0
  972. package/src/l1-contracts/index.ts +1 -1
  973. package/src/logs/app_tagging_secret.ts +160 -0
  974. package/src/logs/app_tagging_secret_kind.ts +21 -0
  975. package/src/logs/contract_class_log.ts +15 -14
  976. package/src/logs/debug_log_store.ts +54 -0
  977. package/src/logs/index.ts +8 -8
  978. package/src/logs/log_cursor.ts +110 -0
  979. package/src/logs/log_result.ts +104 -0
  980. package/src/logs/logs_query.ts +138 -0
  981. package/src/logs/pre_tag.ts +3 -6
  982. package/src/logs/private_log.ts +9 -3
  983. package/src/logs/public_log.ts +4 -2
  984. package/src/logs/query_all_logs_by_tags.ts +98 -0
  985. package/src/logs/shared_secret_derivation.ts +55 -11
  986. package/src/logs/siloed_tag.ts +28 -14
  987. package/src/logs/tag.ts +9 -9
  988. package/src/logs/tagging_index_range.ts +18 -0
  989. package/src/messaging/append_l1_to_l2_messages.ts +21 -0
  990. package/src/messaging/index.ts +1 -0
  991. package/src/messaging/l1_to_l2_message.ts +56 -15
  992. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  993. package/src/messaging/l2_to_l1_membership.ts +192 -38
  994. package/src/messaging/l2_to_l1_message.ts +29 -9
  995. package/src/noir/index.ts +4 -2
  996. package/src/note/index.ts +0 -1
  997. package/src/note/note_dao.ts +1 -4
  998. package/src/p2p/attestation_utils.ts +64 -1
  999. package/src/p2p/block_proposal.ts +112 -39
  1000. package/src/p2p/checkpoint_attestation.ts +44 -31
  1001. package/src/p2p/checkpoint_proposal.ts +159 -86
  1002. package/src/p2p/client_type.ts +0 -6
  1003. package/src/p2p/consensus_payload.ts +68 -24
  1004. package/src/p2p/constants.ts +3 -0
  1005. package/src/p2p/gossipable.ts +4 -4
  1006. package/src/p2p/index.ts +0 -1
  1007. package/src/p2p/peer_error.ts +7 -0
  1008. package/src/p2p/signature_utils.ts +117 -23
  1009. package/src/p2p/signed_txs.ts +46 -28
  1010. package/src/p2p/topic_type.ts +8 -15
  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 +15 -5
  1019. package/src/rollup/root_rollup_public_inputs.ts +7 -7
  1020. package/src/schemas/schemas.ts +6 -1
  1021. package/src/slashing/helpers.ts +21 -9
  1022. package/src/slashing/index.ts +1 -2
  1023. package/src/slashing/serialization.ts +1 -81
  1024. package/src/slashing/types.ts +38 -49
  1025. package/src/slashing/{tally.ts → votes.ts} +41 -2
  1026. package/src/stats/stats.ts +6 -2
  1027. package/src/tests/factories.ts +128 -127
  1028. package/src/tests/mocks.ts +111 -84
  1029. package/src/timetable/README.md +609 -0
  1030. package/src/timetable/budgets.ts +87 -0
  1031. package/src/timetable/build_proposer_timetable.ts +42 -0
  1032. package/src/timetable/consensus_timetable.ts +126 -0
  1033. package/src/timetable/index.ts +4 -0
  1034. package/src/timetable/proposer_timetable.ts +190 -0
  1035. package/src/timetable/timetable-example.svg +108 -0
  1036. package/src/trees/append_only_tree_snapshot.ts +8 -3
  1037. package/src/trees/nullifier_leaf.ts +4 -0
  1038. package/src/trees/nullifier_membership_witness.ts +0 -21
  1039. package/src/trees/public_data_leaf.ts +11 -5
  1040. package/src/trees/public_data_witness.ts +0 -31
  1041. package/src/tx/block_header.ts +18 -7
  1042. package/src/tx/capsule.ts +10 -2
  1043. package/src/tx/execution_payload.ts +2 -1
  1044. package/src/tx/fee_provider.ts +10 -0
  1045. package/src/tx/global_variable_builder.ts +3 -20
  1046. package/src/tx/global_variables.ts +15 -23
  1047. package/src/tx/hashed_values.ts +8 -3
  1048. package/src/tx/index.ts +1 -0
  1049. package/src/tx/indexed_tx_effect.ts +18 -6
  1050. package/src/tx/partial_state_reference.ts +8 -3
  1051. package/src/tx/private_execution_result.ts +5 -5
  1052. package/src/tx/private_tx_constant_data.ts +25 -2
  1053. package/src/tx/profiling.ts +18 -9
  1054. package/src/tx/protocol_contracts.ts +2 -2
  1055. package/src/tx/proven_tx.ts +6 -0
  1056. package/src/tx/public_call_request_with_calldata.ts +8 -3
  1057. package/src/tx/public_simulation_output.ts +4 -0
  1058. package/src/tx/simulated_tx.ts +30 -22
  1059. package/src/tx/state_reference.ts +9 -4
  1060. package/src/tx/tree_snapshots.ts +9 -4
  1061. package/src/tx/tx.ts +80 -35
  1062. package/src/tx/tx_constant_data.ts +8 -3
  1063. package/src/tx/tx_context.ts +8 -3
  1064. package/src/tx/tx_hash.ts +20 -5
  1065. package/src/tx/tx_receipt.ts +269 -74
  1066. package/src/tx/tx_request.ts +2 -2
  1067. package/src/tx/validator/empty_validator.ts +1 -1
  1068. package/src/tx/validator/error_texts.ts +15 -2
  1069. package/src/tx/validator/tx_validator.ts +2 -6
  1070. package/src/types/shared.ts +8 -13
  1071. package/src/update-checker/dev_version.ts +2 -0
  1072. package/src/update-checker/index.ts +3 -1
  1073. package/src/update-checker/package_version.ts +17 -0
  1074. package/src/update-checker/version_checker.ts +65 -0
  1075. package/src/validators/errors.ts +9 -0
  1076. package/src/validators/schemas.ts +13 -4
  1077. package/src/validators/types.ts +25 -5
  1078. package/src/versioning/versioning.ts +5 -2
  1079. package/src/vks/verification_key.ts +5 -184
  1080. package/src/world-state/genesis_data.ts +37 -0
  1081. package/src/world-state/index.ts +1 -0
  1082. package/src/world-state/world_state_revision.ts +9 -1
  1083. package/dest/abi/mocked_keys.d.ts +0 -2
  1084. package/dest/abi/mocked_keys.d.ts.map +0 -1
  1085. package/dest/abi/mocked_keys.js +0 -1
  1086. package/dest/block/checkpointed_l2_block.d.ts +0 -150
  1087. package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
  1088. package/dest/block/checkpointed_l2_block.js +0 -46
  1089. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  1090. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  1091. package/dest/contract/private_function_membership_proof.js +0 -124
  1092. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  1093. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  1094. package/dest/contract/utility_function_membership_proof.js +0 -87
  1095. package/dest/interfaces/epoch-prover.d.ts +0 -57
  1096. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  1097. package/dest/interfaces/epoch-prover.js +0 -1
  1098. package/dest/interfaces/get_logs_response.d.ts +0 -90
  1099. package/dest/interfaces/get_logs_response.d.ts.map +0 -1
  1100. package/dest/interfaces/get_logs_response.js +0 -12
  1101. package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
  1102. package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
  1103. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  1104. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  1105. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  1106. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  1107. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  1108. package/dest/l1-contracts/slash_factory.js +0 -158
  1109. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  1110. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
  1111. package/dest/logs/directional_app_tagging_secret.js +0 -64
  1112. package/dest/logs/extended_contract_class_log.d.ts +0 -51
  1113. package/dest/logs/extended_contract_class_log.d.ts.map +0 -1
  1114. package/dest/logs/extended_contract_class_log.js +0 -67
  1115. package/dest/logs/extended_public_log.d.ts +0 -100
  1116. package/dest/logs/extended_public_log.d.ts.map +0 -1
  1117. package/dest/logs/extended_public_log.js +0 -73
  1118. package/dest/logs/log_filter.d.ts +0 -22
  1119. package/dest/logs/log_filter.d.ts.map +0 -1
  1120. package/dest/logs/log_filter.js +0 -11
  1121. package/dest/logs/log_id.d.ts +0 -82
  1122. package/dest/logs/log_id.d.ts.map +0 -1
  1123. package/dest/logs/log_id.js +0 -92
  1124. package/dest/logs/message_context.d.ts +0 -29
  1125. package/dest/logs/message_context.d.ts.map +0 -1
  1126. package/dest/logs/message_context.js +0 -56
  1127. package/dest/logs/pending_tagged_log.d.ts +0 -14
  1128. package/dest/logs/pending_tagged_log.d.ts.map +0 -1
  1129. package/dest/logs/pending_tagged_log.js +0 -34
  1130. package/dest/logs/tx_scoped_l2_log.d.ts +0 -49
  1131. package/dest/logs/tx_scoped_l2_log.d.ts.map +0 -1
  1132. package/dest/logs/tx_scoped_l2_log.js +0 -70
  1133. package/dest/note/notes_filter.d.ts +0 -27
  1134. package/dest/note/notes_filter.d.ts.map +0 -1
  1135. package/dest/note/notes_filter.js +0 -11
  1136. package/dest/slashing/empire.d.ts +0 -31
  1137. package/dest/slashing/empire.d.ts.map +0 -1
  1138. package/dest/slashing/empire.js +0 -85
  1139. package/dest/slashing/tally.d.ts.map +0 -1
  1140. package/dest/update-checker/update-checker.d.ts +0 -49
  1141. package/dest/update-checker/update-checker.d.ts.map +0 -1
  1142. package/dest/update-checker/update-checker.js +0 -130
  1143. package/src/abi/mocked_keys.ts +0 -2
  1144. package/src/block/checkpointed_l2_block.ts +0 -70
  1145. package/src/contract/private_function_membership_proof.ts +0 -167
  1146. package/src/contract/utility_function_membership_proof.ts +0 -118
  1147. package/src/interfaces/epoch-prover.ts +0 -72
  1148. package/src/interfaces/get_logs_response.ts +0 -35
  1149. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
  1150. package/src/l1-contracts/slash_factory.ts +0 -180
  1151. package/src/logs/directional_app_tagging_secret.ts +0 -79
  1152. package/src/logs/extended_contract_class_log.ts +0 -87
  1153. package/src/logs/extended_public_log.ts +0 -94
  1154. package/src/logs/log_filter.ts +0 -31
  1155. package/src/logs/log_id.ts +0 -122
  1156. package/src/logs/message_context.ts +0 -62
  1157. package/src/logs/pending_tagged_log.ts +0 -41
  1158. package/src/logs/tx_scoped_l2_log.ts +0 -98
  1159. package/src/note/notes_filter.ts +0 -38
  1160. package/src/slashing/empire.ts +0 -102
  1161. package/src/update-checker/update-checker.ts +0 -166
@@ -1,14 +1,13 @@
1
- import { GENESIS_BLOCK_HEADER_HASH } from '@aztec/constants';
2
1
  import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
3
2
 
4
- import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
3
+ import type { BlockHash } from '../block_hash.js';
5
4
  import type { L2Block } from '../l2_block.js';
6
5
  import {
7
6
  type CheckpointId,
8
7
  GENESIS_CHECKPOINT_HEADER_HASH,
9
8
  type L2BlockId,
10
9
  type L2BlockTag,
11
- type L2Tips,
10
+ type LocalL2Tips,
12
11
  } from '../l2_block_source.js';
13
12
  import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider } from './interfaces.js';
14
13
 
@@ -17,6 +16,7 @@ import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalD
17
16
  * while delegating storage operations to subclasses.
18
17
  */
19
18
  export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
19
+ constructor(protected readonly initialBlockHash: BlockHash) {}
20
20
  // Abstract storage primitives - subclasses implement these based on their backing store
21
21
 
22
22
  /** Gets the block number for a given tag. */
@@ -25,6 +25,12 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
25
25
  /** Sets the block number for a given tag. */
26
26
  protected abstract setTip(tag: L2BlockTag, blockNumber: BlockNumber): Promise<void>;
27
27
 
28
+ /** Gets the checkpoint id recorded for a given tag, if any. */
29
+ protected abstract getTipCheckpoint(tag: L2BlockTag): Promise<CheckpointId | undefined>;
30
+
31
+ /** Records the checkpoint id for a given tag. */
32
+ protected abstract setTipCheckpoint(tag: L2BlockTag, checkpoint: CheckpointId): Promise<void>;
33
+
28
34
  /** Gets the block hash for a given block number. */
29
35
  protected abstract getStoredBlockHash(blockNumber: BlockNumber): Promise<string | undefined>;
30
36
 
@@ -34,37 +40,19 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
34
40
  /** Deletes all block hashes for blocks before the given block number. */
35
41
  protected abstract deleteBlockHashesBefore(blockNumber: BlockNumber): Promise<void>;
36
42
 
37
- /** Gets the checkpoint number for a given block number. */
38
- protected abstract getCheckpointNumberForBlock(blockNumber: BlockNumber): Promise<CheckpointNumber | undefined>;
39
-
40
- /** Sets the checkpoint number for a given block number. */
41
- protected abstract setCheckpointNumberForBlock(
42
- blockNumber: BlockNumber,
43
- checkpointNumber: CheckpointNumber,
44
- ): Promise<void>;
45
-
46
- /** Deletes all block-to-checkpoint mappings for blocks before the given block number. */
47
- protected abstract deleteBlockToCheckpointBefore(blockNumber: BlockNumber): Promise<void>;
48
-
49
- /** Gets a checkpoint by its number. */
50
- protected abstract getCheckpoint(checkpointNumber: CheckpointNumber): Promise<PublishedCheckpoint | undefined>;
51
-
52
- /** Saves a checkpoint. */
53
- protected abstract saveCheckpointData(checkpoint: PublishedCheckpoint): Promise<void>;
54
-
55
- /** Deletes all checkpoints before the given checkpoint number. */
56
- protected abstract deleteCheckpointsBefore(checkpointNumber: CheckpointNumber): Promise<void>;
57
-
58
43
  /** Runs the given function in a transaction. Memory stores can just execute immediately. */
59
44
  protected abstract runInTransaction<T>(fn: () => Promise<T>): Promise<T>;
60
45
 
61
46
  // Public interface implementation
62
47
 
63
- public getL2BlockHash(number: BlockNumber): Promise<string | undefined> {
48
+ public async getL2BlockHash(number: BlockNumber): Promise<string | undefined> {
49
+ if (number === 0) {
50
+ return (await this.getStoredBlockHash(number)) ?? this.initialBlockHash.toString();
51
+ }
64
52
  return this.getStoredBlockHash(number);
65
53
  }
66
54
 
67
- public getL2Tips(): Promise<L2Tips> {
55
+ public getL2Tips(): Promise<LocalL2Tips> {
68
56
  return this.runInTransaction(async () => {
69
57
  const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId] = await Promise.all([
70
58
  this.getBlockId('proposed'),
@@ -88,11 +76,30 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
88
76
  });
89
77
  }
90
78
 
79
+ /**
80
+ * Records `(number → hash)` witnesses into the block-hash index without moving any tip cursor. In tips-only mode
81
+ * the hash history is sparse (one anchor per tip-moving poll), so a consumer that materializes per-height state
82
+ * should witness those heights or its prunes are over-deep by the gap to the nearest anchor. Witnesses are compared
83
+ * against the source, not trusted, so they cannot cause under-deep prunes; this is always safe to call.
84
+ */
85
+ public async recordBlockHashes(blocks: L2BlockId[]): Promise<void> {
86
+ await this.runInTransaction(async () => {
87
+ for (const block of blocks) {
88
+ if (block.hash) {
89
+ await this.setBlockHash(block.number, block.hash);
90
+ }
91
+ }
92
+ });
93
+ }
94
+
91
95
  public async handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void> {
92
96
  switch (event.type) {
93
97
  case 'blocks-added':
94
98
  await this.handleBlocksAdded(event);
95
99
  break;
100
+ case 'chain-proposed':
101
+ await this.handleChainProposed(event);
102
+ break;
96
103
  case 'chain-checkpointed':
97
104
  await this.handleChainCheckpointed(event);
98
105
  break;
@@ -118,7 +125,7 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
118
125
  private async getBlockId(tag: L2BlockTag): Promise<L2BlockId> {
119
126
  const blockNumber = await this.getTip(tag);
120
127
  if (blockNumber === undefined || blockNumber === 0) {
121
- return { number: BlockNumber.ZERO, hash: GENESIS_BLOCK_HEADER_HASH.toString() };
128
+ return { number: BlockNumber.ZERO, hash: this.initialBlockHash.toString() };
122
129
  }
123
130
  const blockHash = await this.getStoredBlockHash(blockNumber);
124
131
  if (!blockHash) {
@@ -130,18 +137,21 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
130
137
  private async getCheckpointId(tag: L2BlockTag): Promise<CheckpointId> {
131
138
  const blockNumber = await this.getTip(tag);
132
139
  if (blockNumber === undefined || blockNumber === 0) {
133
- return { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() };
134
- }
135
- const checkpointNumber = await this.getCheckpointNumberForBlock(blockNumber);
136
- if (checkpointNumber === undefined) {
137
- // No checkpoint associated with this block yet
138
- return { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() };
140
+ return this.genesisCheckpointId();
139
141
  }
140
- const checkpoint = await this.getCheckpoint(checkpointNumber);
141
- if (!checkpoint) {
142
- throw new Error(`Checkpoint not found for checkpoint number ${checkpointNumber}`);
142
+ // The checkpoint id recorded for this cursor when it was last advanced is the single source of truth.
143
+ // The writers (handleChainCheckpointed/Proven/Finalized/Pruned) always record an id alongside any
144
+ // non-genesis cursor advance, so a missing id on a real block is genuine store corruption. Fail loudly
145
+ // rather than silently reporting checkpoint zero, which would drive a checkpoint-replay storm.
146
+ const storedCheckpoint = await this.getTipCheckpoint(tag);
147
+ if (storedCheckpoint !== undefined) {
148
+ return storedCheckpoint;
143
149
  }
144
- return { number: checkpointNumber, hash: checkpoint.checkpoint.hash().toString() };
150
+ throw new Error(`No checkpoint id recorded for ${tag} tip at block ${blockNumber}; the L2 tips store is corrupted`);
151
+ }
152
+
153
+ private genesisCheckpointId(): CheckpointId {
154
+ return { number: CheckpointNumber.ZERO, hash: GENESIS_CHECKPOINT_HEADER_HASH.toString() };
145
155
  }
146
156
 
147
157
  private async handleBlocksAdded(event: L2BlockStreamEvent): Promise<void> {
@@ -157,13 +167,22 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
157
167
  });
158
168
  }
159
169
 
170
+ private async handleChainProposed(event: L2BlockStreamEvent): Promise<void> {
171
+ if (event.type !== 'chain-proposed') {
172
+ return;
173
+ }
174
+ // Records the proposed tip into the block-hash index the walk-back reads. In tips-only mode this is the sole
175
+ // writer of proposed-tip history, leaving one sparse anchor per tip-moving pass for reorg detection.
176
+ await this.runInTransaction(() => this.saveTag('proposed', event.block));
177
+ }
178
+
160
179
  private async handleChainCheckpointed(event: L2BlockStreamEvent): Promise<void> {
161
180
  if (event.type !== 'chain-checkpointed') {
162
181
  return;
163
182
  }
164
183
  await this.runInTransaction(async () => {
165
184
  await this.saveTag('checkpointed', event.block);
166
- await this.saveCheckpoint(event.checkpoint);
185
+ await this.setTipCheckpoint('checkpointed', event.checkpoint);
167
186
  });
168
187
  }
169
188
 
@@ -172,11 +191,24 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
172
191
  return;
173
192
  }
174
193
  await this.runInTransaction(async () => {
194
+ // A prune is a rollback: the proposed tip moves to the prune target unconditionally, but checkpoint-bearing
195
+ // cursors may only move backward (advancing one onto an uncheckpointed block would leave it without a recorded
196
+ // checkpoint id, which getCheckpointId throws on).
175
197
  await this.saveTag('proposed', event.block);
176
- await this.saveTag('checkpointed', event.block);
177
- const storeProven = await this.getBlockId('proven');
178
- if (storeProven.number > event.block.number) {
179
- await this.saveTag('proven', event.block);
198
+
199
+ // Clamp each checkpoint-bearing cursor down to its OWN source tip when it leads it; the event carries a valid
200
+ // (block, id) pair for each. Clamping the proven cursor onto the (possibly higher) checkpointed tip instead
201
+ // would transiently report unproven blocks as proven. The source guarantees proven <= checkpointed, so per-tip
202
+ // clamping preserves the local invariant.
203
+ for (const { tag, sourceTip } of [
204
+ { tag: 'checkpointed', sourceTip: event.checkpointed },
205
+ { tag: 'proven', sourceTip: event.proven },
206
+ ] as const) {
207
+ const current = await this.getTip(tag);
208
+ if (current !== undefined && current > sourceTip.block.number) {
209
+ await this.saveTag(tag, sourceTip.block);
210
+ await this.setTipCheckpoint(tag, sourceTip.checkpoint);
211
+ }
180
212
  }
181
213
  });
182
214
  }
@@ -187,6 +219,7 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
187
219
  }
188
220
  await this.runInTransaction(async () => {
189
221
  await this.saveTag('proven', event.block);
222
+ await this.setTipCheckpoint('proven', event.checkpoint);
190
223
  });
191
224
  }
192
225
 
@@ -196,14 +229,16 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
196
229
  }
197
230
  await this.runInTransaction(async () => {
198
231
  await this.saveTag('finalized', event.block);
199
- const finalizedCheckpointNumber = await this.getCheckpointNumberForBlock(event.block.number);
200
-
201
- await this.deleteBlockHashesBefore(event.block.number);
202
- await this.deleteBlockToCheckpointBefore(event.block.number);
203
-
204
- if (finalizedCheckpointNumber !== undefined) {
205
- await this.deleteCheckpointsBefore(finalizedCheckpointNumber);
206
- }
232
+ await this.setTipCheckpoint('finalized', event.checkpoint);
233
+
234
+ // Prune block hashes below the lowest live tip. Cap the deletion bound at the lowest live tip rather
235
+ // than the finalized tip alone: this should always be the finalized tip, but we have hit bugs where
236
+ // this is not the case. Deleting the block hash for a live tip would dangle subsequent `getBlockId`
237
+ // lookups and lock the block stream into an error loop.
238
+ const tips = await Promise.all([this.getTip('proposed'), this.getTip('checkpointed'), this.getTip('proven')]);
239
+ const liveTipBlocks = tips.filter((t): t is BlockNumber => t !== undefined && t > 0);
240
+ const safeBlockBound = BlockNumber(Math.min(event.block.number, ...liveTipBlocks));
241
+ await this.deleteBlockHashesBefore(safeBlockBound);
207
242
  });
208
243
  }
209
244
 
@@ -213,14 +248,4 @@ export abstract class L2TipsStoreBase implements L2BlockStreamEventHandler, L2Bl
213
248
  await this.setBlockHash(block.number, block.hash);
214
249
  }
215
250
  }
216
-
217
- private async saveCheckpoint(publishedCheckpoint: PublishedCheckpoint): Promise<void> {
218
- const checkpoint = publishedCheckpoint.checkpoint;
219
- const lastBlock = checkpoint.blocks.at(-1)!;
220
- // Only store the mapping for the last block since tips only point to checkpoint boundaries
221
- await Promise.all([
222
- this.setCheckpointNumberForBlock(lastBlock.number, checkpoint.number),
223
- this.saveCheckpointData(publishedCheckpoint),
224
- ]);
225
- }
226
251
  }
@@ -1,29 +1,40 @@
1
1
  import type { ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
2
- import { hexToBuffer } from '@aztec/foundation/string';
2
+ import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
3
3
 
4
4
  import { encodeAbiParameters, parseAbiParameters } from 'viem';
5
5
  import { z } from 'zod';
6
6
 
7
- import type { Signable, SignatureDomainSeparator } from '../../p2p/signature_utils.js';
7
+ import {
8
+ type CoordinationSignatureContext,
9
+ type CoordinationSignatureType,
10
+ type Signable,
11
+ coordinationSignatureContextSchema,
12
+ } from '../../p2p/signature_utils.js';
8
13
  import { CommitteeAttestation, EthAddress } from './committee_attestation.js';
9
14
 
10
15
  export class CommitteeAttestationsAndSigners implements Signable {
11
- constructor(public attestations: CommitteeAttestation[]) {}
16
+ readonly primaryType: CoordinationSignatureType = 'AttestationsAndSigners';
17
+
18
+ constructor(
19
+ public attestations: CommitteeAttestation[],
20
+ public readonly signatureContext: CoordinationSignatureContext,
21
+ ) {}
12
22
 
13
23
  static get schema() {
14
24
  return z
15
25
  .object({
16
26
  attestations: CommitteeAttestation.schema.array(),
27
+ signatureContext: coordinationSignatureContextSchema,
17
28
  })
18
- .transform(obj => new CommitteeAttestationsAndSigners(obj.attestations));
29
+ .transform(obj => new CommitteeAttestationsAndSigners(obj.attestations, obj.signatureContext));
19
30
  }
20
31
 
21
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer {
22
- const abi = parseAbiParameters('uint8,(bytes,bytes),address[]');
32
+ getPayloadToSign(): Buffer {
33
+ // Matches the L1 abi.encode(attestations, signers) in AttestationLib.sol#getAttestationsAndSignersDigest.
34
+ const abi = parseAbiParameters('(bytes,bytes),address[]');
23
35
  const packed = this.getPackedAttestations();
24
36
 
25
37
  const encodedData = encodeAbiParameters(abi, [
26
- domainSeparator,
27
38
  [packed.signatureIndices, packed.signaturesOrAddresses],
28
39
  this.getSigners().map(s => s.toString()),
29
40
  ]);
@@ -31,8 +42,8 @@ export class CommitteeAttestationsAndSigners implements Signable {
31
42
  return hexToBuffer(encodedData);
32
43
  }
33
44
 
34
- static empty(): CommitteeAttestationsAndSigners {
35
- return new CommitteeAttestationsAndSigners([]);
45
+ static empty(signatureContext: CoordinationSignatureContext): CommitteeAttestationsAndSigners {
46
+ return new CommitteeAttestationsAndSigners([], signatureContext);
36
47
  }
37
48
 
38
49
  toString() {
@@ -53,9 +64,9 @@ export class CommitteeAttestationsAndSigners implements Signable {
53
64
  * @param attestations - Array of committee attestations with addresses and signatures
54
65
  * @returns Packed attestations with bitmap and tightly packed signature/address data
55
66
  */
56
- getPackedAttestations(): ViemCommitteeAttestations {
57
- const length = this.attestations.length;
58
- const attestations = this.attestations.map(a => a.toViem());
67
+ static packAttestations(attestations: CommitteeAttestation[]): ViemCommitteeAttestations {
68
+ const length = attestations.length;
69
+ const viemAttestations = attestations.map(a => a.toViem());
59
70
 
60
71
  // Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
61
72
  const bitmapSize = Math.ceil(length / 8);
@@ -63,10 +74,12 @@ export class CommitteeAttestationsAndSigners implements Signable {
63
74
 
64
75
  // Calculate total data size needed
65
76
  let totalDataSize = 0;
66
- for (let i = 0; i < length; i++) {
67
- const signature = attestations[i].signature;
68
- // Check if signature is empty (v = 0)
69
- const isEmpty = signature.v === 0;
77
+ for (const attestation of viemAttestations) {
78
+ const signature = attestation.signature;
79
+ // A slot is empty (a non-signing member, packed as its address) only when r, s and v are all zero
80
+ // matching Signature.isEmpty() and getSigners(), so the bitmap popcount and the signers list can
81
+ // never disagree (which would revert propose() with SignersSizeMismatch).
82
+ const isEmpty = signature.v === 0 && BigInt(signature.r) === 0n && BigInt(signature.s) === 0n;
70
83
 
71
84
  if (!isEmpty) {
72
85
  totalDataSize += 65; // v (1) + r (32) + s (32)
@@ -79,21 +92,22 @@ export class CommitteeAttestationsAndSigners implements Signable {
79
92
  let dataIndex = 0;
80
93
 
81
94
  // Pack the data
82
- for (let i = 0; i < length; i++) {
83
- const attestation = attestations[i];
95
+ for (const [i, attestation] of viemAttestations.entries()) {
84
96
  const signature = attestation.signature;
85
97
 
86
- // Check if signature is empty
87
- const isEmpty = signature.v === 0;
98
+ // Empty iff r, s and v are all zero (see the size-tally loop above).
99
+ const isEmpty = signature.v === 0 && BigInt(signature.r) === 0n && BigInt(signature.s) === 0n;
88
100
 
89
101
  if (!isEmpty) {
90
102
  // Set bit in bitmap (bit 7-0 in each byte, left to right)
91
103
  const byteIndex = Math.floor(i / 8);
92
104
  const bitIndex = 7 - (i % 8);
93
- signatureIndices[byteIndex] |= 1 << bitIndex;
105
+ signatureIndices[byteIndex] = (signatureIndices[byteIndex] ?? 0) | (1 << bitIndex);
94
106
 
95
- // Pack signature: v + r + s
96
- signaturesOrAddresses[dataIndex] = signature.v;
107
+ // Pack signature: v + r + s. Canonicalize a yParity recovery byte (v = 0/1) to 27/28 — it
108
+ // recovers to the same signer, but L1 ECDSA.recover only accepts 27/28. Any other value is left
109
+ // as-is so a genuinely malformed signature still fails on L1 rather than being silently rewritten.
110
+ signaturesOrAddresses[dataIndex] = signature.v === 0 || signature.v === 1 ? signature.v + 27 : signature.v;
97
111
  dataIndex++;
98
112
 
99
113
  // Pack r (32 bytes)
@@ -118,6 +132,10 @@ export class CommitteeAttestationsAndSigners implements Signable {
118
132
  signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`,
119
133
  };
120
134
  }
135
+
136
+ getPackedAttestations(): ViemCommitteeAttestations {
137
+ return CommitteeAttestationsAndSigners.packAttestations(this.attestations);
138
+ }
121
139
  }
122
140
 
123
141
  /**
@@ -130,11 +148,54 @@ export class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestati
130
148
  constructor(
131
149
  attestations: CommitteeAttestation[],
132
150
  private signers: EthAddress[],
151
+ signatureContext: CoordinationSignatureContext,
133
152
  ) {
134
- super(attestations);
153
+ super(attestations, signatureContext);
135
154
  }
136
155
 
137
156
  override getSigners(): EthAddress[] {
138
157
  return this.signers;
139
158
  }
140
159
  }
160
+
161
+ /**
162
+ * Malicious extension of CommitteeAttestationsAndSigners that rewrites every non-proposer signature slot's
163
+ * recovery byte to yParity form (v ∈ {0, 1}) in the packed output, after the honest `packAttestations` has
164
+ * already canonicalized it to v ∈ {27, 28}. Models a malicious selected proposer that hand-crafts
165
+ * `propose()` calldata L1 accepts but no honest node can byte-replay: each rewritten signature still
166
+ * recovers to the same member (r, s and the recovery parity are preserved), the bitmap bits stay set, and
167
+ * `getSigners()` stays consistent, so `propose()` does not revert `SignersSizeMismatch` -- yet the
168
+ * checkpoint can never be proven (`ECDSA.recover` rejects v ∉ {27, 28}). The proposer's own slot is left
169
+ * canonical so L1 `verifyProposer` (which recovers that slot) still accepts the checkpoint. For testing only.
170
+ */
171
+ export class MaliciousYParityCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
172
+ constructor(
173
+ attestations: CommitteeAttestation[],
174
+ /** Committee index of the proposer's own slot, left canonical so `propose()` passes `verifyProposer`. */
175
+ private proposerIndex: number,
176
+ signatureContext: CoordinationSignatureContext,
177
+ ) {
178
+ super(attestations, signatureContext);
179
+ }
180
+
181
+ override getPackedAttestations(): ViemCommitteeAttestations {
182
+ const packed = super.getPackedAttestations();
183
+ const data = hexToBuffer(packed.signaturesOrAddresses);
184
+
185
+ // Walk the packed byte-vector and rewrite every non-proposer signed slot's v-byte to yParity form. A
186
+ // signed slot occupies 65 bytes (v, r, s); an empty slot occupies 20 bytes (address only).
187
+ let offset = 0;
188
+ for (let i = 0; i < this.attestations.length; i++) {
189
+ const isSigned = !this.attestations[i].signature.isEmpty();
190
+ if (isSigned && i !== this.proposerIndex) {
191
+ // `packAttestations` canonicalized v to 27/28; rewrite back to the equivalent yParity byte (0/1),
192
+ // preserving the recovery parity so the signature still recovers to the same member.
193
+ const v = data[offset];
194
+ data[offset] = v >= 27 ? v - 27 : v;
195
+ }
196
+ offset += isSigned ? 65 : 20;
197
+ }
198
+
199
+ return { signatureIndices: packed.signatureIndices, signaturesOrAddresses: bufferToHex(data) };
200
+ }
201
+ }