@aztec/stdlib 0.0.1-commit.ef17749e1 → 0.0.1-commit.f103f88

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 (405) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/authorization_selector.d.ts +3 -6
  5. package/dest/abi/authorization_selector.d.ts.map +1 -1
  6. package/dest/abi/buffer.d.ts +14 -4
  7. package/dest/abi/buffer.d.ts.map +1 -1
  8. package/dest/abi/buffer.js +25 -4
  9. package/dest/abi/decoder.d.ts +5 -44
  10. package/dest/abi/decoder.d.ts.map +1 -1
  11. package/dest/abi/decoder.js +12 -67
  12. package/dest/abi/event_selector.d.ts +3 -6
  13. package/dest/abi/event_selector.d.ts.map +1 -1
  14. package/dest/abi/function_selector.d.ts +3 -6
  15. package/dest/abi/function_selector.d.ts.map +1 -1
  16. package/dest/abi/function_selector.js +2 -4
  17. package/dest/abi/function_signature_decoder.d.ts +43 -0
  18. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  19. package/dest/abi/function_signature_decoder.js +66 -0
  20. package/dest/abi/index.d.ts +2 -1
  21. package/dest/abi/index.d.ts.map +1 -1
  22. package/dest/abi/index.js +1 -0
  23. package/dest/abi/note_selector.d.ts +3 -6
  24. package/dest/abi/note_selector.d.ts.map +1 -1
  25. package/dest/abi/note_selector.js +1 -3
  26. package/dest/abi/selector.d.ts +2 -2
  27. package/dest/abi/selector.d.ts.map +1 -1
  28. package/dest/abi/selector.js +1 -1
  29. package/dest/avm/revert_code.d.ts +8 -18
  30. package/dest/avm/revert_code.d.ts.map +1 -1
  31. package/dest/avm/revert_code.js +15 -30
  32. package/dest/aztec-address/index.d.ts +3 -6
  33. package/dest/aztec-address/index.d.ts.map +1 -1
  34. package/dest/aztec-address/index.js +2 -4
  35. package/dest/block/block_data.d.ts +8 -8
  36. package/dest/block/block_data.d.ts.map +1 -1
  37. package/dest/block/block_data.js +2 -2
  38. package/dest/block/block_hash.d.ts +11 -10
  39. package/dest/block/block_hash.d.ts.map +1 -1
  40. package/dest/block/block_hash.js +10 -9
  41. package/dest/block/l2_block_info.d.ts +6 -5
  42. package/dest/block/l2_block_info.d.ts.map +1 -1
  43. package/dest/block/l2_block_info.js +6 -5
  44. package/dest/block/l2_block_source.d.ts +90 -10
  45. package/dest/block/l2_block_source.d.ts.map +1 -1
  46. package/dest/block/l2_block_source.js +1 -0
  47. package/dest/block/l2_block_stream/interfaces.d.ts +6 -3
  48. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  49. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  50. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  51. package/dest/block/l2_block_stream/l2_tips_store_base.js +18 -5
  52. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  53. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  54. package/dest/block/test/l2_tips_store_test_suite.js +4 -3
  55. package/dest/checkpoint/checkpoint.d.ts +7 -1
  56. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  57. package/dest/checkpoint/checkpoint.js +9 -1
  58. package/dest/checkpoint/checkpoint_data.d.ts +71 -5
  59. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  60. package/dest/checkpoint/checkpoint_data.js +10 -0
  61. package/dest/checkpoint/validate.js +2 -2
  62. package/dest/config/chain-config.d.ts +1 -1
  63. package/dest/config/chain-config.d.ts.map +1 -1
  64. package/dest/config/chain-config.js +7 -1
  65. package/dest/config/index.d.ts +2 -1
  66. package/dest/config/index.d.ts.map +1 -1
  67. package/dest/config/index.js +1 -0
  68. package/dest/config/pipelining-config.d.ts +19 -0
  69. package/dest/config/pipelining-config.d.ts.map +1 -0
  70. package/dest/config/pipelining-config.js +18 -0
  71. package/dest/config/sequencer-config.d.ts +2 -2
  72. package/dest/config/sequencer-config.d.ts.map +1 -1
  73. package/dest/config/sequencer-config.js +10 -3
  74. package/dest/contract/contract_address.d.ts +3 -3
  75. package/dest/contract/contract_address.js +3 -3
  76. package/dest/contract/contract_class_id.d.ts +2 -2
  77. package/dest/contract/contract_class_id.js +2 -2
  78. package/dest/contract/index.d.ts +1 -3
  79. package/dest/contract/index.d.ts.map +1 -1
  80. package/dest/contract/index.js +0 -2
  81. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  82. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  83. package/dest/contract/interfaces/contract_class.js +1 -28
  84. package/dest/epoch-helpers/index.d.ts +11 -1
  85. package/dest/epoch-helpers/index.d.ts.map +1 -1
  86. package/dest/epoch-helpers/index.js +16 -2
  87. package/dest/file-store/factory.d.ts +4 -3
  88. package/dest/file-store/factory.d.ts.map +1 -1
  89. package/dest/file-store/factory.js +2 -2
  90. package/dest/file-store/http.d.ts +9 -2
  91. package/dest/file-store/http.d.ts.map +1 -1
  92. package/dest/file-store/http.js +20 -9
  93. package/dest/file-store/index.d.ts +2 -1
  94. package/dest/file-store/index.d.ts.map +1 -1
  95. package/dest/gas/fee_math.d.ts +49 -0
  96. package/dest/gas/fee_math.d.ts.map +1 -0
  97. package/dest/gas/fee_math.js +80 -0
  98. package/dest/gas/gas_fees.d.ts +1 -1
  99. package/dest/gas/gas_fees.d.ts.map +1 -1
  100. package/dest/gas/gas_fees.js +10 -1
  101. package/dest/gas/gas_settings.d.ts +40 -3
  102. package/dest/gas/gas_settings.d.ts.map +1 -1
  103. package/dest/gas/gas_settings.js +50 -6
  104. package/dest/gas/index.d.ts +2 -1
  105. package/dest/gas/index.d.ts.map +1 -1
  106. package/dest/gas/index.js +1 -0
  107. package/dest/ha-signing/index.d.ts +2 -2
  108. package/dest/ha-signing/index.d.ts.map +1 -1
  109. package/dest/ha-signing/index.js +1 -1
  110. package/dest/ha-signing/local_config.js +1 -1
  111. package/dest/ha-signing/types.d.ts +37 -32
  112. package/dest/ha-signing/types.d.ts.map +1 -1
  113. package/dest/ha-signing/types.js +13 -6
  114. package/dest/hash/hash.d.ts +19 -1
  115. package/dest/hash/hash.d.ts.map +1 -1
  116. package/dest/hash/hash.js +29 -0
  117. package/dest/interfaces/archiver.d.ts +1 -1
  118. package/dest/interfaces/archiver.d.ts.map +1 -1
  119. package/dest/interfaces/archiver.js +5 -3
  120. package/dest/interfaces/aztec-node-admin.d.ts +10 -14
  121. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  122. package/dest/interfaces/aztec-node-admin.js +3 -3
  123. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  124. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  125. package/dest/interfaces/aztec-node-debug.js +18 -0
  126. package/dest/interfaces/aztec-node.d.ts +12 -2
  127. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  128. package/dest/interfaces/aztec-node.js +4 -0
  129. package/dest/interfaces/block-builder.d.ts +32 -11
  130. package/dest/interfaces/block-builder.d.ts.map +1 -1
  131. package/dest/interfaces/block-builder.js +6 -4
  132. package/dest/interfaces/client.d.ts +2 -1
  133. package/dest/interfaces/client.d.ts.map +1 -1
  134. package/dest/interfaces/client.js +1 -0
  135. package/dest/interfaces/configs.d.ts +7 -2
  136. package/dest/interfaces/configs.d.ts.map +1 -1
  137. package/dest/interfaces/configs.js +1 -0
  138. package/dest/interfaces/l2_logs_source.d.ts +5 -3
  139. package/dest/interfaces/l2_logs_source.d.ts.map +1 -1
  140. package/dest/interfaces/merkle_tree_operations.d.ts +12 -21
  141. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  142. package/dest/interfaces/prover-client.d.ts +6 -1
  143. package/dest/interfaces/prover-client.d.ts.map +1 -1
  144. package/dest/interfaces/prover-client.js +7 -4
  145. package/dest/interfaces/proving-job.d.ts +200 -200
  146. package/dest/interfaces/slasher.d.ts +1 -10
  147. package/dest/interfaces/slasher.d.ts.map +1 -1
  148. package/dest/interfaces/slasher.js +0 -2
  149. package/dest/interfaces/validator.d.ts +9 -20
  150. package/dest/interfaces/validator.d.ts.map +1 -1
  151. package/dest/interfaces/validator.js +0 -1
  152. package/dest/interfaces/world_state.d.ts +5 -4
  153. package/dest/interfaces/world_state.d.ts.map +1 -1
  154. package/dest/l1-contracts/index.d.ts +2 -2
  155. package/dest/l1-contracts/index.d.ts.map +1 -1
  156. package/dest/l1-contracts/index.js +1 -1
  157. package/dest/logs/extended_directional_app_tagging_secret.d.ts +4 -4
  158. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
  159. package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
  160. package/dest/logs/index.d.ts +2 -1
  161. package/dest/logs/index.d.ts.map +1 -1
  162. package/dest/logs/index.js +1 -0
  163. package/dest/logs/log_filter.d.ts +4 -1
  164. package/dest/logs/log_filter.d.ts.map +1 -1
  165. package/dest/logs/log_filter.js +2 -1
  166. package/dest/logs/log_id.d.ts +1 -1
  167. package/dest/logs/log_id.d.ts.map +1 -1
  168. package/dest/logs/log_id.js +1 -2
  169. package/dest/logs/message_context.d.ts +4 -7
  170. package/dest/logs/message_context.d.ts.map +1 -1
  171. package/dest/logs/message_context.js +23 -9
  172. package/dest/logs/pending_tagged_log.d.ts +2 -3
  173. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  174. package/dest/logs/pending_tagged_log.js +2 -2
  175. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  176. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  177. package/dest/logs/shared_secret_derivation.js +15 -9
  178. package/dest/logs/siloed_tag.d.ts +8 -7
  179. package/dest/logs/siloed_tag.d.ts.map +1 -1
  180. package/dest/logs/siloed_tag.js +11 -3
  181. package/dest/logs/tag.d.ts +5 -6
  182. package/dest/logs/tag.d.ts.map +1 -1
  183. package/dest/logs/tag.js +4 -0
  184. package/dest/logs/tagging_index_range.d.ts +40 -0
  185. package/dest/logs/tagging_index_range.d.ts.map +1 -0
  186. package/dest/logs/tagging_index_range.js +8 -0
  187. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  188. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  189. package/dest/logs/tx_scoped_l2_log.js +7 -0
  190. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  191. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  192. package/dest/messaging/l1_to_l2_message.js +11 -13
  193. package/dest/messaging/l1_to_l2_message_source.d.ts +4 -2
  194. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  195. package/dest/messaging/l2_to_l1_membership.d.ts +32 -6
  196. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  197. package/dest/messaging/l2_to_l1_membership.js +69 -26
  198. package/dest/noir/index.d.ts +3 -3
  199. package/dest/noir/index.d.ts.map +1 -1
  200. package/dest/note/note_dao.d.ts +1 -1
  201. package/dest/note/note_dao.d.ts.map +1 -1
  202. package/dest/note/note_dao.js +1 -4
  203. package/dest/p2p/block_proposal.d.ts +6 -8
  204. package/dest/p2p/block_proposal.d.ts.map +1 -1
  205. package/dest/p2p/block_proposal.js +4 -9
  206. package/dest/p2p/checkpoint_attestation.d.ts +4 -6
  207. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  208. package/dest/p2p/checkpoint_attestation.js +2 -7
  209. package/dest/p2p/checkpoint_proposal.d.ts +8 -10
  210. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  211. package/dest/p2p/checkpoint_proposal.js +5 -22
  212. package/dest/p2p/gossipable.d.ts +4 -4
  213. package/dest/p2p/gossipable.d.ts.map +1 -1
  214. package/dest/proofs/chonk_proof.d.ts +46 -2
  215. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  216. package/dest/proofs/chonk_proof.js +85 -10
  217. package/dest/slashing/index.d.ts +2 -3
  218. package/dest/slashing/index.d.ts.map +1 -1
  219. package/dest/slashing/index.js +1 -2
  220. package/dest/slashing/serialization.d.ts +2 -6
  221. package/dest/slashing/serialization.d.ts.map +1 -1
  222. package/dest/slashing/serialization.js +0 -60
  223. package/dest/slashing/types.d.ts +4 -90
  224. package/dest/slashing/types.d.ts.map +1 -1
  225. package/dest/slashing/types.js +0 -14
  226. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  227. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  228. package/dest/slashing/{tally.js → votes.js} +1 -1
  229. package/dest/tests/factories.d.ts +2 -4
  230. package/dest/tests/factories.d.ts.map +1 -1
  231. package/dest/tests/factories.js +11 -28
  232. package/dest/tests/mocks.d.ts +1 -1
  233. package/dest/tests/mocks.d.ts.map +1 -1
  234. package/dest/tests/mocks.js +14 -19
  235. package/dest/timetable/index.d.ts +51 -1
  236. package/dest/timetable/index.d.ts.map +1 -1
  237. package/dest/timetable/index.js +204 -14
  238. package/dest/tx/block_header.d.ts +2 -2
  239. package/dest/tx/block_header.d.ts.map +1 -1
  240. package/dest/tx/block_header.js +1 -1
  241. package/dest/tx/capsule.d.ts +6 -2
  242. package/dest/tx/capsule.d.ts.map +1 -1
  243. package/dest/tx/capsule.js +9 -3
  244. package/dest/tx/fee_provider.d.ts +10 -0
  245. package/dest/tx/fee_provider.d.ts.map +1 -0
  246. package/dest/tx/fee_provider.js +1 -0
  247. package/dest/tx/global_variable_builder.d.ts +3 -4
  248. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  249. package/dest/tx/index.d.ts +2 -1
  250. package/dest/tx/index.d.ts.map +1 -1
  251. package/dest/tx/index.js +1 -0
  252. package/dest/tx/indexed_tx_effect.d.ts +1 -1
  253. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  254. package/dest/tx/indexed_tx_effect.js +1 -2
  255. package/dest/tx/private_execution_result.d.ts +6 -6
  256. package/dest/tx/private_execution_result.d.ts.map +1 -1
  257. package/dest/tx/private_execution_result.js +6 -6
  258. package/dest/tx/profiling.d.ts +14 -2
  259. package/dest/tx/profiling.d.ts.map +1 -1
  260. package/dest/tx/profiling.js +13 -3
  261. package/dest/tx/simulated_tx.d.ts +112 -4
  262. package/dest/tx/simulated_tx.d.ts.map +1 -1
  263. package/dest/tx/simulated_tx.js +3 -3
  264. package/dest/tx/tx.d.ts +3 -3
  265. package/dest/tx/tx.d.ts.map +1 -1
  266. package/dest/tx/tx_receipt.d.ts +14 -5
  267. package/dest/tx/tx_receipt.d.ts.map +1 -1
  268. package/dest/tx/tx_receipt.js +14 -18
  269. package/dest/tx/validator/error_texts.d.ts +5 -1
  270. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  271. package/dest/tx/validator/error_texts.js +6 -0
  272. package/dest/update-checker/package_version.d.ts +2 -2
  273. package/dest/update-checker/package_version.d.ts.map +1 -1
  274. package/dest/update-checker/package_version.js +16 -3
  275. package/dest/validators/errors.d.ts +6 -1
  276. package/dest/validators/errors.d.ts.map +1 -1
  277. package/dest/validators/errors.js +7 -0
  278. package/dest/versioning/versioning.d.ts +4 -2
  279. package/dest/versioning/versioning.d.ts.map +1 -1
  280. package/dest/versioning/versioning.js +4 -1
  281. package/dest/world-state/genesis_data.d.ts +11 -0
  282. package/dest/world-state/genesis_data.d.ts.map +1 -0
  283. package/dest/world-state/genesis_data.js +4 -0
  284. package/dest/world-state/index.d.ts +2 -1
  285. package/dest/world-state/index.d.ts.map +1 -1
  286. package/dest/world-state/index.js +1 -0
  287. package/package.json +8 -8
  288. package/src/abi/abi.ts +25 -2
  289. package/src/abi/authorization_selector.ts +2 -8
  290. package/src/abi/buffer.ts +25 -4
  291. package/src/abi/decoder.ts +23 -78
  292. package/src/abi/event_selector.ts +2 -8
  293. package/src/abi/function_selector.ts +4 -13
  294. package/src/abi/function_signature_decoder.ts +77 -0
  295. package/src/abi/index.ts +1 -0
  296. package/src/abi/note_selector.ts +3 -12
  297. package/src/abi/selector.ts +1 -1
  298. package/src/avm/revert_code.ts +25 -39
  299. package/src/aztec-address/index.ts +4 -10
  300. package/src/block/block_data.ts +3 -4
  301. package/src/block/block_hash.ts +21 -14
  302. package/src/block/l2_block_info.ts +8 -6
  303. package/src/block/l2_block_source.ts +20 -9
  304. package/src/block/l2_block_stream/interfaces.ts +6 -2
  305. package/src/block/l2_block_stream/l2_tips_store_base.ts +25 -13
  306. package/src/block/test/l2_tips_store_test_suite.ts +9 -2
  307. package/src/checkpoint/checkpoint.ts +11 -1
  308. package/src/checkpoint/checkpoint_data.ts +40 -4
  309. package/src/checkpoint/validate.ts +2 -2
  310. package/src/config/chain-config.ts +7 -1
  311. package/src/config/index.ts +1 -0
  312. package/src/config/pipelining-config.ts +31 -0
  313. package/src/config/sequencer-config.ts +14 -4
  314. package/src/contract/contract_address.ts +3 -3
  315. package/src/contract/contract_class_id.ts +2 -2
  316. package/src/contract/index.ts +0 -2
  317. package/src/contract/interfaces/contract_class.ts +2 -82
  318. package/src/epoch-helpers/index.ts +27 -0
  319. package/src/file-store/factory.ts +13 -4
  320. package/src/file-store/http.ts +29 -10
  321. package/src/file-store/index.ts +1 -0
  322. package/src/gas/README.md +154 -0
  323. package/src/gas/fee_math.ts +120 -0
  324. package/src/gas/gas_fees.ts +12 -4
  325. package/src/gas/gas_settings.ts +65 -12
  326. package/src/gas/index.ts +1 -0
  327. package/src/ha-signing/index.ts +3 -1
  328. package/src/ha-signing/local_config.ts +1 -1
  329. package/src/ha-signing/types.ts +48 -34
  330. package/src/hash/hash.ts +34 -0
  331. package/src/interfaces/archiver.ts +5 -3
  332. package/src/interfaces/aztec-node-admin.ts +5 -7
  333. package/src/interfaces/aztec-node-debug.ts +40 -0
  334. package/src/interfaces/aztec-node.ts +25 -1
  335. package/src/interfaces/block-builder.ts +39 -13
  336. package/src/interfaces/client.ts +1 -0
  337. package/src/interfaces/configs.ts +4 -1
  338. package/src/interfaces/l2_logs_source.ts +4 -1
  339. package/src/interfaces/merkle_tree_operations.ts +11 -20
  340. package/src/interfaces/prover-client.ts +10 -5
  341. package/src/interfaces/slasher.ts +0 -6
  342. package/src/interfaces/validator.ts +16 -13
  343. package/src/interfaces/world_state.ts +4 -3
  344. package/src/l1-contracts/index.ts +1 -1
  345. package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
  346. package/src/logs/index.ts +1 -0
  347. package/src/logs/log_filter.ts +5 -0
  348. package/src/logs/log_id.ts +1 -2
  349. package/src/logs/message_context.ts +17 -7
  350. package/src/logs/pending_tagged_log.ts +1 -3
  351. package/src/logs/shared_secret_derivation.ts +21 -10
  352. package/src/logs/siloed_tag.ts +15 -11
  353. package/src/logs/tag.ts +8 -8
  354. package/src/logs/tagging_index_range.ts +24 -0
  355. package/src/logs/tx_scoped_l2_log.ts +16 -0
  356. package/src/messaging/l1_to_l2_message.ts +12 -9
  357. package/src/messaging/l1_to_l2_message_source.ts +3 -1
  358. package/src/messaging/l2_to_l1_membership.ts +98 -33
  359. package/src/noir/index.ts +2 -2
  360. package/src/note/note_dao.ts +1 -4
  361. package/src/p2p/block_proposal.ts +13 -9
  362. package/src/p2p/checkpoint_attestation.ts +5 -9
  363. package/src/p2p/checkpoint_proposal.ts +19 -31
  364. package/src/p2p/gossipable.ts +4 -4
  365. package/src/proofs/chonk_proof.ts +91 -5
  366. package/src/slashing/index.ts +1 -2
  367. package/src/slashing/serialization.ts +1 -81
  368. package/src/slashing/types.ts +3 -35
  369. package/src/slashing/{tally.ts → votes.ts} +1 -1
  370. package/src/tests/factories.ts +5 -34
  371. package/src/tests/mocks.ts +16 -12
  372. package/src/timetable/index.ts +293 -13
  373. package/src/tx/block_header.ts +2 -2
  374. package/src/tx/capsule.ts +10 -2
  375. package/src/tx/fee_provider.ts +10 -0
  376. package/src/tx/global_variable_builder.ts +2 -3
  377. package/src/tx/index.ts +1 -0
  378. package/src/tx/indexed_tx_effect.ts +1 -2
  379. package/src/tx/private_execution_result.ts +5 -5
  380. package/src/tx/profiling.ts +11 -2
  381. package/src/tx/simulated_tx.ts +6 -2
  382. package/src/tx/tx.ts +2 -2
  383. package/src/tx/tx_receipt.ts +18 -16
  384. package/src/tx/validator/error_texts.ts +8 -0
  385. package/src/update-checker/package_version.ts +19 -6
  386. package/src/validators/errors.ts +9 -0
  387. package/src/versioning/versioning.ts +4 -1
  388. package/src/world-state/genesis_data.ts +15 -0
  389. package/src/world-state/index.ts +1 -0
  390. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  391. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  392. package/dest/contract/private_function_membership_proof.js +0 -124
  393. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  394. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  395. package/dest/contract/utility_function_membership_proof.js +0 -87
  396. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  397. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  398. package/dest/l1-contracts/slash_factory.js +0 -158
  399. package/dest/slashing/empire.d.ts +0 -31
  400. package/dest/slashing/empire.d.ts.map +0 -1
  401. package/dest/slashing/empire.js +0 -87
  402. package/src/contract/private_function_membership_proof.ts +0 -167
  403. package/src/contract/utility_function_membership_proof.ts +0 -118
  404. package/src/l1-contracts/slash_factory.ts +0 -180
  405. package/src/slashing/empire.ts +0 -104
@@ -28,40 +28,6 @@ export interface PrivateFunction {
28
28
  /** Hash of the verification key associated to this private function. */
29
29
  vkHash: Fr;
30
30
  }
31
- /** Private function definition with executable bytecode. */
32
- export interface ExecutablePrivateFunction extends PrivateFunction {
33
- /** ACIR and Brillig bytecode */
34
- bytecode: Buffer;
35
- }
36
- /** Utility function definition. */
37
- export interface UtilityFunction {
38
- /** Selector of the function. Calculated as the hash of the method name and parameters. The specification of this is not enforced by the protocol. */
39
- selector: FunctionSelector;
40
- /** Brillig. */
41
- bytecode: Buffer;
42
- }
43
- /** Sibling paths and sibling commitments for proving membership of a private function within a contract class. */
44
- export type PrivateFunctionMembershipProof = {
45
- artifactMetadataHash: Fr;
46
- functionMetadataHash: Fr;
47
- utilityFunctionsTreeRoot: Fr;
48
- privateFunctionTreeSiblingPath: Fr[];
49
- privateFunctionTreeLeafIndex: number;
50
- artifactTreeSiblingPath: Fr[];
51
- artifactTreeLeafIndex: number;
52
- };
53
- /** A private function with a membership proof. */
54
- export type ExecutablePrivateFunctionWithMembershipProof = ExecutablePrivateFunction & PrivateFunctionMembershipProof;
55
- /** Sibling paths and commitments for proving membership of a utility function within a contract class. */
56
- export type UtilityFunctionMembershipProof = {
57
- artifactMetadataHash: Fr;
58
- functionMetadataHash: Fr;
59
- privateFunctionsArtifactTreeRoot: Fr;
60
- artifactTreeSiblingPath: Fr[];
61
- artifactTreeLeafIndex: number;
62
- };
63
- /** A utility function with a membership proof. */
64
- export type UtilityFunctionWithMembershipProof = UtilityFunction & UtilityFunctionMembershipProof;
65
31
  export declare const ContractClassSchema: z.ZodObject<{
66
32
  version: z.ZodLiteral<1>;
67
33
  artifactHash: z.ZodType<Fr, any, string>;
@@ -139,137 +105,18 @@ export declare const ContractClassWithIdSchema: z.ZodObject<{
139
105
  packedBytecode?: any;
140
106
  id: string;
141
107
  }>;
142
- /** A contract class with public bytecode information, and optional private and utility functions. */
143
- export type ContractClassPublic = {
144
- privateFunctions: ExecutablePrivateFunctionWithMembershipProof[];
145
- utilityFunctions: UtilityFunctionWithMembershipProof[];
146
- } & Pick<ContractClassCommitments, 'id' | 'privateFunctionsRoot'> & Omit<ContractClass, 'privateFunctions'>;
108
+ /** A contract class with public bytecode information. */
109
+ export type ContractClassPublic = Pick<ContractClassCommitments, 'id' | 'privateFunctionsRoot'> & Omit<ContractClass, 'privateFunctions'>;
147
110
  export type ContractClassPublicWithCommitment = ContractClassPublic & Pick<ContractClassCommitments, 'publicBytecodeCommitment'>;
148
111
  export declare const ContractClassPublicSchema: z.ZodIntersection<z.ZodObject<{
149
112
  id: z.ZodType<Fr, any, string>;
150
113
  privateFunctionsRoot: z.ZodType<Fr, any, string>;
151
- privateFunctions: z.ZodArray<z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
152
- selector: import("@aztec/foundation/schemas").ZodFor<FunctionSelector>;
153
- vkHash: z.ZodType<Fr, any, string>;
154
- }, "strip", z.ZodTypeAny, {
155
- selector: FunctionSelector;
156
- vkHash: Fr;
157
- }, {
158
- selector?: any;
159
- vkHash: string;
160
- }>, z.ZodObject<{
161
- bytecode: import("@aztec/foundation/schemas").ZodFor<Buffer<ArrayBufferLike>>;
162
- }, "strip", z.ZodTypeAny, {
163
- bytecode: Buffer<ArrayBufferLike>;
164
- }, {
165
- bytecode?: any;
166
- }>>, z.ZodObject<{
167
- artifactMetadataHash: z.ZodType<Fr, any, string>;
168
- functionMetadataHash: z.ZodType<Fr, any, string>;
169
- utilityFunctionsTreeRoot: z.ZodType<Fr, any, string>;
170
- privateFunctionTreeSiblingPath: z.ZodArray<z.ZodType<Fr, any, string>, "many">;
171
- privateFunctionTreeLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
172
- artifactTreeSiblingPath: z.ZodArray<z.ZodType<Fr, any, string>, "many">;
173
- artifactTreeLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
174
- }, "strip", z.ZodTypeAny, {
175
- artifactMetadataHash: Fr;
176
- functionMetadataHash: Fr;
177
- utilityFunctionsTreeRoot: Fr;
178
- privateFunctionTreeSiblingPath: Fr[];
179
- privateFunctionTreeLeafIndex: number;
180
- artifactTreeSiblingPath: Fr[];
181
- artifactTreeLeafIndex: number;
182
- }, {
183
- artifactMetadataHash: string;
184
- functionMetadataHash: string;
185
- utilityFunctionsTreeRoot: string;
186
- privateFunctionTreeSiblingPath: string[];
187
- privateFunctionTreeLeafIndex: string | number | bigint;
188
- artifactTreeSiblingPath: string[];
189
- artifactTreeLeafIndex: string | number | bigint;
190
- }>>, "many">;
191
- utilityFunctions: z.ZodArray<z.ZodIntersection<z.ZodObject<{
192
- selector: import("@aztec/foundation/schemas").ZodFor<FunctionSelector>;
193
- bytecode: import("@aztec/foundation/schemas").ZodFor<Buffer<ArrayBufferLike>>;
194
- }, "strip", z.ZodTypeAny, {
195
- selector: FunctionSelector;
196
- bytecode: Buffer<ArrayBufferLike>;
197
- }, {
198
- selector?: any;
199
- bytecode?: any;
200
- }>, z.ZodObject<{
201
- artifactMetadataHash: z.ZodType<Fr, any, string>;
202
- functionMetadataHash: z.ZodType<Fr, any, string>;
203
- privateFunctionsArtifactTreeRoot: z.ZodType<Fr, any, string>;
204
- artifactTreeSiblingPath: z.ZodArray<z.ZodType<Fr, any, string>, "many">;
205
- artifactTreeLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
206
- }, "strip", z.ZodTypeAny, {
207
- artifactMetadataHash: Fr;
208
- functionMetadataHash: Fr;
209
- privateFunctionsArtifactTreeRoot: Fr;
210
- artifactTreeSiblingPath: Fr[];
211
- artifactTreeLeafIndex: number;
212
- }, {
213
- artifactMetadataHash: string;
214
- functionMetadataHash: string;
215
- privateFunctionsArtifactTreeRoot: string;
216
- artifactTreeSiblingPath: string[];
217
- artifactTreeLeafIndex: string | number | bigint;
218
- }>>, "many">;
219
114
  }, "strip", z.ZodTypeAny, {
220
115
  id: Fr;
221
116
  privateFunctionsRoot: Fr;
222
- privateFunctions: ({
223
- selector: FunctionSelector;
224
- vkHash: Fr;
225
- } & {
226
- bytecode: Buffer<ArrayBufferLike>;
227
- } & {
228
- artifactMetadataHash: Fr;
229
- functionMetadataHash: Fr;
230
- utilityFunctionsTreeRoot: Fr;
231
- privateFunctionTreeSiblingPath: Fr[];
232
- privateFunctionTreeLeafIndex: number;
233
- artifactTreeSiblingPath: Fr[];
234
- artifactTreeLeafIndex: number;
235
- })[];
236
- utilityFunctions: ({
237
- selector: FunctionSelector;
238
- bytecode: Buffer<ArrayBufferLike>;
239
- } & {
240
- artifactMetadataHash: Fr;
241
- functionMetadataHash: Fr;
242
- privateFunctionsArtifactTreeRoot: Fr;
243
- artifactTreeSiblingPath: Fr[];
244
- artifactTreeLeafIndex: number;
245
- })[];
246
117
  }, {
247
118
  id: string;
248
119
  privateFunctionsRoot: string;
249
- privateFunctions: ({
250
- selector?: any;
251
- vkHash: string;
252
- } & {
253
- bytecode?: any;
254
- } & {
255
- artifactMetadataHash: string;
256
- functionMetadataHash: string;
257
- utilityFunctionsTreeRoot: string;
258
- privateFunctionTreeSiblingPath: string[];
259
- privateFunctionTreeLeafIndex: string | number | bigint;
260
- artifactTreeSiblingPath: string[];
261
- artifactTreeLeafIndex: string | number | bigint;
262
- })[];
263
- utilityFunctions: ({
264
- selector?: any;
265
- bytecode?: any;
266
- } & {
267
- artifactMetadataHash: string;
268
- functionMetadataHash: string;
269
- privateFunctionsArtifactTreeRoot: string;
270
- artifactTreeSiblingPath: string[];
271
- artifactTreeLeafIndex: string | number | bigint;
272
- })[];
273
120
  }>, z.ZodObject<Omit<{
274
121
  version: z.ZodLiteral<1>;
275
122
  artifactHash: z.ZodType<Fr, any, string>;
@@ -305,4 +152,4 @@ export type ContractClassPublicWithBlockNumber = {
305
152
  */
306
153
  export declare function contractClassPublicFromPlainObject(obj: any): ContractClassPublic;
307
154
  export {};
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9pbnRlcmZhY2VzL2NvbnRyYWN0X2NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELFFBQUEsTUFBTSxPQUFPLEdBQWEsQ0FBQztBQUUzQjs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLGFBQWE7SUFDNUIscUNBQXFDO0lBQ3JDLE9BQU8sRUFBRSxPQUFPLE9BQU8sQ0FBQztJQUN4Qjs7OztPQUlHO0lBQ0gsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUNqQixtRUFBbUU7SUFDbkUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDcEMsMkRBQTJEO0lBQzNELGNBQWMsRUFBRSxNQUFNLENBQUM7Q0FDeEI7QUFFRCwyREFBMkQ7QUFDM0QsTUFBTSxXQUFXLGVBQWU7SUFDOUIscUpBQXFKO0lBQ3JKLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUMzQix3RUFBd0U7SUFDeEUsTUFBTSxFQUFFLEVBQUUsQ0FBQztDQUNaO0FBU0QsNERBQTREO0FBQzVELE1BQU0sV0FBVyx5QkFBMEIsU0FBUSxlQUFlO0lBQ2hFLGdDQUFnQztJQUNoQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0NBQ2xCO0FBTUQsbUNBQW1DO0FBQ25DLE1BQU0sV0FBVyxlQUFlO0lBQzlCLHFKQUFxSjtJQUNySixRQUFRLEVBQUUsZ0JBQWdCLENBQUM7SUFDM0IsZUFBZTtJQUNmLFFBQVEsRUFBRSxNQUFNLENBQUM7Q0FDbEI7QUFTRCxrSEFBa0g7QUFDbEgsTUFBTSxNQUFNLDhCQUE4QixHQUFHO0lBQzNDLG9CQUFvQixFQUFFLEVBQUUs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
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cmFjdC9pbnRlcmZhY2VzL2NvbnRyYWN0X2NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXRELFFBQUEsTUFBTSxPQUFPLEdBQWEsQ0FBQztBQUUzQjs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLGFBQWE7SUFDNUIscUNBQXFDO0lBQ3JDLE9BQU8sRUFBRSxPQUFPLE9BQU8sQ0FBQztJQUN4Qjs7OztPQUlHO0lBQ0gsWUFBWSxFQUFFLEVBQUUsQ0FBQztJQUNqQixtRUFBbUU7SUFDbkUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDcEMsMkRBQTJEO0lBQzNELGNBQWMsRUFBRSxNQUFNLENBQUM7Q0FDeEI7QUFFRCwyREFBMkQ7QUFDM0QsTUFBTSxXQUFXLGVBQWU7SUFDOUIscUpBQXFKO0lBQ3JKLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQztJQUMzQix3RUFBd0U7SUFDeEUsTUFBTSxFQUFFLEVBQUUsQ0FBQztDQUNaO0FBU0QsZUFBTyxNQUFNLG1CQUFtQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBTy9CLENBQUM7QUFFRixpREFBaUQ7QUFDakQsVUFBVSx3QkFBd0I7SUFDaEMsd0NBQXdDO0lBQ3hDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDUCx5Q0FBeUM7SUFDekMsd0JBQXdCLEVBQUUsRUFBRSxDQUFDO0lBQzdCLDBDQUEwQztJQUMxQyxvQkFBb0IsRUFBRSxFQUFFLENBQUM7Q0FDMUI7QUFFRCxnREFBZ0Q7QUFDaEQsTUFBTSxNQUFNLG1CQUFtQixHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFdkYsZUFBTyxNQUFNLHlCQUF5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUlyQyxDQUFDO0FBRUYseURBQXlEO0FBQ3pELE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxHQUFHLHNCQUFzQixDQUFDLEdBQzdGLElBQUksQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztBQUUxQyxNQUFNLE1BQU0saUNBQWlDLEdBQUcsbUJBQW1CLEdBQ2pFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0FBRTdELGVBQU8sTUFBTSx5QkFBeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FPckMsQ0FBQztBQUVGLHFFQUFxRTtBQUNyRSxNQUFNLE1BQU0sa0NBQWtDLEdBQUc7SUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FBRyxtQkFBbUIsQ0FBQztBQUVqRzs7Ozs7R0FLRztBQUNILHdCQUFnQixrQ0FBa0MsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLG1CQUFtQixDQVFoRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"contract_class.d.ts","sourceRoot":"","sources":["../../../src/contract/interfaces/contract_class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract_class.d.ts","sourceRoot":"","sources":["../../../src/contract/interfaces/contract_class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,QAAA,MAAM,OAAO,GAAa,CAAC;AAE3B;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB;;;;OAIG;IACH,YAAY,EAAE,EAAE,CAAC;IACjB,mEAAmE;IACnE,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,qJAAqJ;IACrJ,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,wEAAwE;IACxE,MAAM,EAAE,EAAE,CAAC;CACZ;AASD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEF,iDAAiD;AACjD,UAAU,wBAAwB;IAChC,wCAAwC;IACxC,EAAE,EAAE,EAAE,CAAC;IACP,yCAAyC;IACzC,wBAAwB,EAAE,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,oBAAoB,EAAE,EAAE,CAAC;CAC1B;AAED,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;AAEvF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIrC,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,IAAI,GAAG,sBAAsB,CAAC,GAC7F,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;AAE1C,MAAM,MAAM,iCAAiC,GAAG,mBAAmB,GACjE,IAAI,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;AAE7D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOrC,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,kCAAkC,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,CAAC;AAEjG;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB,CAQhF"}
@@ -7,29 +7,6 @@ const PrivateFunctionSchema = zodFor()(z.object({
7
7
  selector: FunctionSelector.schema,
8
8
  vkHash: schemas.Fr
9
9
  }));
10
- const ExecutablePrivateFunctionSchema = zodFor()(PrivateFunctionSchema.and(z.object({
11
- bytecode: schemas.Buffer
12
- })));
13
- const UtilityFunctionSchema = zodFor()(z.object({
14
- selector: FunctionSelector.schema,
15
- bytecode: schemas.Buffer
16
- }));
17
- const PrivateFunctionMembershipProofSchema = zodFor()(z.object({
18
- artifactMetadataHash: schemas.Fr,
19
- functionMetadataHash: schemas.Fr,
20
- utilityFunctionsTreeRoot: schemas.Fr,
21
- privateFunctionTreeSiblingPath: z.array(schemas.Fr),
22
- privateFunctionTreeLeafIndex: schemas.Integer,
23
- artifactTreeSiblingPath: z.array(schemas.Fr),
24
- artifactTreeLeafIndex: schemas.Integer
25
- }));
26
- const UtilityFunctionMembershipProofSchema = zodFor()(z.object({
27
- artifactMetadataHash: schemas.Fr,
28
- functionMetadataHash: schemas.Fr,
29
- privateFunctionsArtifactTreeRoot: schemas.Fr,
30
- artifactTreeSiblingPath: z.array(schemas.Fr),
31
- artifactTreeLeafIndex: schemas.Integer
32
- }));
33
10
  export const ContractClassSchema = zodFor()(z.object({
34
11
  version: z.literal(VERSION),
35
12
  artifactHash: schemas.Fr,
@@ -41,9 +18,7 @@ export const ContractClassWithIdSchema = zodFor()(ContractClassSchema.extend({
41
18
  }));
42
19
  export const ContractClassPublicSchema = zodFor()(z.object({
43
20
  id: schemas.Fr,
44
- privateFunctionsRoot: schemas.Fr,
45
- privateFunctions: z.array(ExecutablePrivateFunctionSchema.and(PrivateFunctionMembershipProofSchema)),
46
- utilityFunctions: z.array(UtilityFunctionSchema.and(UtilityFunctionMembershipProofSchema))
21
+ privateFunctionsRoot: schemas.Fr
47
22
  }).and(ContractClassSchema.omit({
48
23
  privateFunctions: true
49
24
  })));
@@ -58,8 +33,6 @@ export const ContractClassPublicSchema = zodFor()(z.object({
58
33
  version: 1,
59
34
  artifactHash: Fr.fromPlainObject(obj.artifactHash),
60
35
  privateFunctionsRoot: Fr.fromPlainObject(obj.privateFunctionsRoot),
61
- privateFunctions: [],
62
- utilityFunctions: [],
63
36
  packedBytecode: obj.packedBytecode instanceof Buffer ? obj.packedBytecode : Buffer.from(obj.packedBytecode)
64
37
  };
65
38
  }
@@ -8,6 +8,7 @@ export type L1RollupConstants = {
8
8
  ethereumSlotDuration: number;
9
9
  proofSubmissionEpochs: number;
10
10
  targetCommitteeSize: number;
11
+ rollupManaLimit: number;
11
12
  };
12
13
  export declare const EmptyL1RollupConstants: L1RollupConstants;
13
14
  export declare const L1RollupConstantsSchema: z.ZodObject<{
@@ -18,6 +19,7 @@ export declare const L1RollupConstantsSchema: z.ZodObject<{
18
19
  ethereumSlotDuration: z.ZodNumber;
19
20
  proofSubmissionEpochs: z.ZodNumber;
20
21
  targetCommitteeSize: z.ZodNumber;
22
+ rollupManaLimit: z.ZodNumber;
21
23
  }, "strip", z.ZodTypeAny, {
22
24
  l1StartBlock: bigint;
23
25
  l1GenesisTime: bigint;
@@ -26,6 +28,7 @@ export declare const L1RollupConstantsSchema: z.ZodObject<{
26
28
  ethereumSlotDuration: number;
27
29
  proofSubmissionEpochs: number;
28
30
  targetCommitteeSize: number;
31
+ rollupManaLimit: number;
29
32
  }, {
30
33
  l1StartBlock: string | number | bigint;
31
34
  l1GenesisTime: string | number | bigint;
@@ -34,11 +37,16 @@ export declare const L1RollupConstantsSchema: z.ZodObject<{
34
37
  ethereumSlotDuration: number;
35
38
  proofSubmissionEpochs: number;
36
39
  targetCommitteeSize: number;
40
+ rollupManaLimit: number;
37
41
  }>;
38
42
  /** Returns the timestamp for a given L2 slot. */
39
43
  export declare function getTimestampForSlot(slot: SlotNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>): bigint;
40
44
  /** Returns the slot number for a given timestamp. */
41
45
  export declare function getSlotAtTimestamp(ts: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration'>): SlotNumber;
46
+ /** Returns the timestamp of the next L1 slot boundary after the given wall-clock time. */
47
+ export declare function getNextL1SlotTimestamp(nowInSeconds: number, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'ethereumSlotDuration'>): bigint;
48
+ /** Returns the timestamp of the last L1 slot within a given L2 slot. */
49
+ export declare function getLastL1SlotTimestampForL2Slot(slot: SlotNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>): bigint;
42
50
  /** Returns the L2 slot number at the next L1 block based on the current timestamp. */
43
51
  export declare function getSlotAtNextL1Block(currentL1Timestamp: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>): SlotNumber;
44
52
  /** Returns the epoch number for a given timestamp. */
@@ -66,6 +74,8 @@ export declare function getProofSubmissionDeadlineEpoch(epochNumber: EpochNumber
66
74
  * Computed as the start of the given epoch plus the proof submission window.
67
75
  */
68
76
  export declare function getProofSubmissionDeadlineTimestamp(epochNumber: EpochNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'proofSubmissionEpochs'>): bigint;
77
+ /** Computes the quorum size required for a committee (⌊2n/3⌋ + 1). */
78
+ export declare function computeQuorum(committeeSize: number): number;
69
79
  /** Returns the timestamp to start building a block for a given L2 slot. Computed as the start timestamp of the slot minus one L1 slot duration. */
70
80
  export declare function getSlotStartBuildTimestamp(slotNumber: SlotNumber, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'ethereumSlotDuration'>): number;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcG9jaC1oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztDQUM3QixDQUFDO0FBRUYsZUFBTyxNQUFNLHNCQUFzQixFQUFFLGlCQVFwQyxDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBVW5DLENBQUM7QUFFRixpREFBaUQ7QUFDakQsd0JBQWdCLG1CQUFtQixDQUNqQyxJQUFJLEVBQUUsVUFBVSxFQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsR0FBRyxjQUFjLENBQUMsVUFHckU7QUFFRCxxREFBcUQ7QUFDckQsd0JBQWdCLGtCQUFrQixDQUNoQyxFQUFFLEVBQUUsTUFBTSxFQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsQ0FBQyxHQUNuRSxVQUFVLENBSVo7QUFFRCxzRkFBc0Y7QUFDdEYsd0JBQWdCLG9CQUFvQixDQUNsQyxrQkFBa0IsRUFBRSxNQUFNLEVBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxHQUM1RixVQUFVLENBR1o7QUFFRCxzREFBc0Q7QUFDdEQsd0JBQWdCLHlCQUF5QixDQUN2QyxFQUFFLEVBQUUsTUFBTSxFQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FDckYsV0FBVyxDQUViO0FBRUQsaURBQWlEO0FBQ2pELHdCQUFnQixjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUFHLFdBQVcsQ0FFakg7QUFFRCwwRUFBMEU7QUFDMUUsd0JBQWdCLG9CQUFvQixDQUNsQyxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUNsRCxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FHMUI7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsc0JBQXNCLENBQUMsR0FDOUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBU2xCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFJdkY7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsK0JBQStCLENBQzdDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsR0FDMUQsV0FBVyxDQUViO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLG1DQUFtQyxDQUNqRCxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLHVCQUF1QixDQUFDLFVBT2pIO0FBRUQsbUpBQW1KO0FBQ25KLHdCQUFnQiwwQkFBMEIsQ0FDeEMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEdBQUcsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQzVGLE1BQU0sQ0FFUiJ9
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcG9jaC1oZWxwZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1QixlQUFlLEVBQUUsTUFBTSxDQUFDO0NBQ3pCLENBQUM7QUFFRixlQUFPLE1BQU0sc0JBQXNCLEVBQUUsaUJBU3BDLENBQUM7QUFFRixlQUFPLE1BQU0sdUJBQXVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFXbkMsQ0FBQztBQUVGLGlEQUFpRDtBQUNqRCx3QkFBZ0IsbUJBQW1CLENBQ2pDLElBQUksRUFBRSxVQUFVLEVBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsQ0FBQyxVQUdyRTtBQUVELHFEQUFxRDtBQUNyRCx3QkFBZ0Isa0JBQWtCLENBQ2hDLEVBQUUsRUFBRSxNQUFNLEVBQ1YsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEdBQUcsY0FBYyxDQUFDLEdBQ25FLFVBQVUsQ0FJWjtBQUVELDBGQUEwRjtBQUMxRix3QkFBZ0Isc0JBQXNCLENBQ3BDLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLHNCQUFzQixDQUFDLEdBQzNFLE1BQU0sQ0FLUjtBQUVELHdFQUF3RTtBQUN4RSx3QkFBZ0IsK0JBQStCLENBQzdDLElBQUksRUFBRSxVQUFVLEVBQ2hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxHQUM1RixNQUFNLENBRVI7QUFFRCxzRkFBc0Y7QUFDdEYsd0JBQWdCLG9CQUFvQixDQUNsQyxrQkFBa0IsRUFBRSxNQUFNLEVBQzFCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxHQUM1RixVQUFVLENBR1o7QUFFRCxzREFBc0Q7QUFDdEQsd0JBQWdCLHlCQUF5QixDQUN2QyxFQUFFLEVBQUUsTUFBTSxFQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FDckYsV0FBVyxDQUViO0FBRUQsaURBQWlEO0FBQ2pELHdCQUFnQixjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUFHLFdBQVcsQ0FFakg7QUFFRCwwRUFBMEU7QUFDMUUsd0JBQWdCLG9CQUFvQixDQUNsQyxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxHQUNsRCxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FHMUI7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLEdBQUcsc0JBQXNCLENBQUMsR0FDOUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBU2xCO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0IseUJBQXlCLENBQ3ZDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxlQUFlLENBQUMsVUFJdkY7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsK0JBQStCLENBQzdDLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLENBQUMsR0FDMUQsV0FBVyxDQUViO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLG1DQUFtQyxDQUNqRCxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLGVBQWUsR0FBRyxjQUFjLEdBQUcsZUFBZSxHQUFHLHVCQUF1QixDQUFDLFVBT2pIO0FBRUQsMEVBQXNFO0FBQ3RFLHdCQUFnQixhQUFhLENBQUMsYUFBYSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRTNEO0FBRUQsbUpBQW1KO0FBQ25KLHdCQUFnQiwwQkFBMEIsQ0FDeEMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLEdBQUcsY0FBYyxHQUFHLHNCQUFzQixDQUFDLEdBQzVGLE1BQU0sQ0FFUiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAQpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC;AAEF,iDAAiD;AACjD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,UAGrE;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,GACnE,UAAU,CAIZ;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAClC,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC5F,UAAU,CAGZ;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,GACrF,WAAW,CAEb;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAAG,WAAW,CAEjH;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,CAAC,UAAU,EAAE,UAAU,CAAC,CAG1B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,sBAAsB,CAAC,GAC9G,CAAC,MAAM,EAAE,MAAM,CAAC,CASlB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,UAIvF;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,GAC1D,WAAW,CAEb;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,uBAAuB,CAAC,UAOjH;AAED,mJAAmJ;AACnJ,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,GAC5F,MAAM,CAER"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch-helpers/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@ export const EmptyL1RollupConstants = {
8
8
  slotDuration: 1,
9
9
  ethereumSlotDuration: 1,
10
10
  proofSubmissionEpochs: 1,
11
- targetCommitteeSize: 48
11
+ targetCommitteeSize: 48,
12
+ rollupManaLimit: Number.MAX_SAFE_INTEGER
12
13
  };
13
14
  export const L1RollupConstantsSchema = zodFor()(z.object({
14
15
  l1StartBlock: schemas.BigInt,
@@ -17,7 +18,8 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
17
18
  epochDuration: z.number(),
18
19
  ethereumSlotDuration: z.number(),
19
20
  proofSubmissionEpochs: z.number(),
20
- targetCommitteeSize: z.number()
21
+ targetCommitteeSize: z.number(),
22
+ rollupManaLimit: z.number()
21
23
  }));
22
24
  /** Returns the timestamp for a given L2 slot. */ export function getTimestampForSlot(slot, constants) {
23
25
  return constants.l1GenesisTime + BigInt(slot) * BigInt(constants.slotDuration);
@@ -25,6 +27,15 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
25
27
  /** Returns the slot number for a given timestamp. */ export function getSlotAtTimestamp(ts, constants) {
26
28
  return ts < constants.l1GenesisTime ? SlotNumber.ZERO : SlotNumber.fromBigInt((ts - constants.l1GenesisTime) / BigInt(constants.slotDuration));
27
29
  }
30
+ /** Returns the timestamp of the next L1 slot boundary after the given wall-clock time. */ export function getNextL1SlotTimestamp(nowInSeconds, constants) {
31
+ const now = BigInt(nowInSeconds);
32
+ const elapsed = now - constants.l1GenesisTime;
33
+ const currentL1Slot = elapsed / BigInt(constants.ethereumSlotDuration);
34
+ return constants.l1GenesisTime + (currentL1Slot + 1n) * BigInt(constants.ethereumSlotDuration);
35
+ }
36
+ /** Returns the timestamp of the last L1 slot within a given L2 slot. */ export function getLastL1SlotTimestampForL2Slot(slot, constants) {
37
+ return getTimestampForSlot(slot, constants) + BigInt(constants.slotDuration - constants.ethereumSlotDuration);
38
+ }
28
39
  /** Returns the L2 slot number at the next L1 block based on the current timestamp. */ export function getSlotAtNextL1Block(currentL1Timestamp, constants) {
29
40
  const nextL1BlockTimestamp = currentL1Timestamp + BigInt(constants.ethereumSlotDuration);
30
41
  return getSlotAtTimestamp(nextL1BlockTimestamp, constants);
@@ -75,6 +86,9 @@ export const L1RollupConstantsSchema = zodFor()(z.object({
75
86
  const [deadlineSlot] = getSlotRangeForEpoch(deadlineEpoch, constants);
76
87
  return getTimestampForSlot(deadlineSlot, constants);
77
88
  }
89
+ /** Computes the quorum size required for a committee (⌊2n/3⌋ + 1). */ export function computeQuorum(committeeSize) {
90
+ return Math.floor(committeeSize * 2 / 3) + 1;
91
+ }
78
92
  /** Returns the timestamp to start building a block for a given L2 slot. Computed as the start timestamp of the slot minus one L1 slot duration. */ export function getSlotStartBuildTimestamp(slotNumber, constants) {
79
93
  return Number(constants.l1GenesisTime) + slotNumber * constants.slotDuration - constants.ethereumSlotDuration;
80
94
  }
@@ -1,7 +1,8 @@
1
1
  import { type Logger } from '@aztec/foundation/log';
2
+ import { type HttpFileStoreOptions } from './http.js';
2
3
  import type { FileStore, ReadOnlyFileStore } from './interface.js';
3
4
  export declare function createFileStore(config: string, logger?: Logger): Promise<FileStore>;
4
5
  export declare function createFileStore(config: undefined, logger?: Logger): Promise<undefined>;
5
- export declare function createReadOnlyFileStore(config: string, logger?: Logger): Promise<ReadOnlyFileStore>;
6
- export declare function createReadOnlyFileStore(config: undefined, logger?: Logger): Promise<undefined>;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbGUtc3RvcmUvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFJbEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXbkUsd0JBQXNCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0Ysd0JBQXNCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUE2QzlGLHdCQUFzQix1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUMzRyx3QkFBc0IsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDIn0=
6
+ export declare function createReadOnlyFileStore(config: string, logger?: Logger, options?: HttpFileStoreOptions): Promise<ReadOnlyFileStore>;
7
+ export declare function createReadOnlyFileStore(config: undefined, logger?: Logger, options?: HttpFileStoreOptions): Promise<undefined>;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbGUtc3RvcmUvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHbEUsT0FBTyxFQUFpQixLQUFLLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV25FLHdCQUFzQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzNGLHdCQUFzQixlQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBNkM5Rix3QkFBc0IsdUJBQXVCLENBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUNmLE9BQU8sQ0FBQyxFQUFFLG9CQUFvQixHQUM3QixPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUM5Qix3QkFBc0IsdUJBQXVCLENBQzNDLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFDZixPQUFPLENBQUMsRUFBRSxvQkFBb0IsR0FDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/file-store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAWnE,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AA6C9F,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC3G,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/file-store/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAWnE,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3F,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AA6C9F,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAC9B,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -52,12 +52,12 @@ export async function createFileStore(config, logger = createLogger('stdlib:file
52
52
  throw new Error(`Unknown file store config: '${config}'. Supported values are ${supportedExamples.join(', ')}.`);
53
53
  }
54
54
  }
55
- export async function createReadOnlyFileStore(config, logger = createLogger('stdlib:file-store')) {
55
+ export async function createReadOnlyFileStore(config, logger = createLogger('stdlib:file-store'), options) {
56
56
  if (config === undefined) {
57
57
  return undefined;
58
58
  } else if (config.startsWith('http://') || config.startsWith('https://')) {
59
59
  logger.info(`Creating read-only HTTP file store at ${config}`);
60
- return new HttpFileStore(config, logger);
60
+ return new HttpFileStore(config, logger, options);
61
61
  } else {
62
62
  return await createFileStore(config, logger);
63
63
  }
@@ -1,14 +1,21 @@
1
1
  import { type Logger } from '@aztec/foundation/log';
2
2
  import type { ReadOnlyFileStore } from './interface.js';
3
+ /** Options for configuring HttpFileStore behavior. */
4
+ export interface HttpFileStoreOptions {
5
+ /** Retry backoff intervals in seconds. Empty array disables retries. Default: [1, 1, 3]. */
6
+ retryBackoff?: number[];
7
+ /** Request timeout in milliseconds. Default: no timeout (axios default). */
8
+ timeoutMs?: number;
9
+ }
3
10
  export declare class HttpFileStore implements ReadOnlyFileStore {
4
11
  private readonly baseUrl;
5
12
  private readonly log;
6
13
  private readonly axiosInstance;
7
14
  private readonly fetch;
8
- constructor(baseUrl: string, log?: Logger);
15
+ constructor(baseUrl: string, log?: Logger, options?: HttpFileStoreOptions);
9
16
  read(pathOrUrl: string): Promise<Buffer>;
10
17
  download(pathOrUrl: string, destPath: string): Promise<void>;
11
18
  exists(pathOrUrl: string): Promise<boolean>;
12
19
  private getUrl;
13
20
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbGUtc3RvcmUvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFVbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxxQkFBYSxhQUFjLFlBQVcsaUJBQWlCO0lBS25ELE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTztJQUN4QixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7SUFMdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQWdCO0lBQzlDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUErRDtJQUVyRixZQUNtQixPQUFPLEVBQUUsTUFBTSxFQUNmLEdBQUcsR0FBRSxNQUErQyxFQVl0RTtJQUVZLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FRcEQ7SUFFWSxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FZeEU7SUFFWSxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBUXZEO0lBRUQsT0FBTyxDQUFDLE1BQU07Q0FHZiJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpbGUtc3RvcmUvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFVbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RCxzREFBc0Q7QUFDdEQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyw0RkFBNEY7SUFDNUYsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDeEIsNEVBQTRFO0lBQzVFLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNwQjtBQUVELHFCQUFhLGFBQWMsWUFBVyxpQkFBaUI7SUFLbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPO0lBQ3hCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUx0QixPQUFPLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBZ0I7SUFDOUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQStEO0lBRXJGLFlBQ21CLE9BQU8sRUFBRSxNQUFNLEVBQ2YsR0FBRyxHQUFFLE1BQStDLEVBQ3JFLE9BQU8sQ0FBQyxFQUFFLG9CQUFvQixFQXNCL0I7SUFFWSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBUXBEO0lBRVksUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBWXhFO0lBRVksTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQVF2RDtJQUVELE9BQU8sQ0FBQyxNQUFNO0NBR2YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/file-store/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAUlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,qBAAa,aAAc,YAAW,iBAAiB;IAKnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;IAErF,YACmB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAA+C,EAYtE;IAEY,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQpD;IAEY,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;IAEY,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvD;IAED,OAAO,CAAC,MAAM;CAGf"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/file-store/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAUlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,aAAc,YAAW,iBAAiB;IAKnD,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALtB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+D;IAErF,YACmB,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAA+C,EACrE,OAAO,CAAC,EAAE,oBAAoB,EAsB/B;IAEY,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQpD;IAEY,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;IAEY,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQvD;IAED,OAAO,CAAC,MAAM;CAGf"}
@@ -10,17 +10,28 @@ export class HttpFileStore {
10
10
  log;
11
11
  axiosInstance;
12
12
  fetch;
13
- constructor(baseUrl, log = createLogger('stdlib:http-file-store')){
13
+ constructor(baseUrl, log = createLogger('stdlib:http-file-store'), options){
14
14
  this.baseUrl = baseUrl;
15
15
  this.log = log;
16
- this.axiosInstance = axios.create();
17
- this.fetch = async (config)=>{
18
- return await retry(()=>this.axiosInstance.request(config), `Fetching ${config.url}`, makeBackoff([
19
- 1,
20
- 1,
21
- 3
22
- ]), this.log, /*failSilently=*/ true);
23
- };
16
+ this.axiosInstance = axios.create({
17
+ ...options?.timeoutMs !== undefined && {
18
+ timeout: options.timeoutMs
19
+ }
20
+ });
21
+ const retryBackoff = options?.retryBackoff ?? [
22
+ 1,
23
+ 1,
24
+ 3
25
+ ];
26
+ if (retryBackoff.length > 0) {
27
+ this.fetch = async (config)=>{
28
+ return await retry(()=>this.axiosInstance.request(config), `Fetching ${config.url}`, makeBackoff(retryBackoff), this.log, /*failSilently=*/ true);
29
+ };
30
+ } else {
31
+ this.fetch = async (config)=>{
32
+ return await this.axiosInstance.request(config);
33
+ };
34
+ }
24
35
  }
25
36
  async read(pathOrUrl) {
26
37
  const url = this.getUrl(pathOrUrl);
@@ -1,3 +1,4 @@
1
1
  export * from './interface.js';
2
2
  export * from './factory.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUMifQ==
3
+ export { type HttpFileStoreOptions } from './http.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWxlLXN0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file-store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file-store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * TypeScript port of fee computation logic from FeeLib.sol.
3
+ * Used to predict worst-case min fees over a future window of L2 slots.
4
+ */
5
+ export declare const MINIMUM_CONGESTION_MULTIPLIER = 1000000000n;
6
+ export declare const L1_GAS_PER_CHECKPOINT_PROPOSED = 300000n;
7
+ export declare const L1_GAS_PER_EPOCH_VERIFIED = 3600000n;
8
+ export declare const BLOBS_PER_CHECKPOINT = 3n;
9
+ export declare const BLOB_GAS_PER_BLOB: bigint;
10
+ export declare const MAGIC_CONGESTION_VALUE_MULTIPLIER = 854700854n;
11
+ export declare const MAGIC_CONGESTION_VALUE_DIVISOR = 100000000n;
12
+ export declare const ETH_PER_FEE_ASSET_PRECISION = 1000000000000n;
13
+ export declare const MIN_ETH_PER_FEE_ASSET = 100n;
14
+ /** Number of L2 slots of lag before new oracle values activate. Defines the prediction window. */
15
+ export declare const FEE_ORACLE_LAG = 2;
16
+ /** Expected mana usage per checkpoint for fee prediction. */
17
+ export declare enum ManaUsageEstimate {
18
+ /** No usage — fees decrease as congestion drains. */
19
+ None = "none",
20
+ /** Target usage — congestion stays roughly flat (steady state). */
21
+ Target = "target",
22
+ /** Limit usage (2x target) — worst case, congestion grows maximally. */
23
+ Limit = "limit"
24
+ }
25
+ /** Parameters for computing the mana min fee at a given point in time. */
26
+ export type ManaMinFeeParams = {
27
+ l1BaseFee: bigint;
28
+ l1BlobFee: bigint;
29
+ manaTarget: bigint;
30
+ epochDuration: bigint;
31
+ provingCostPerManaEth: bigint;
32
+ excessMana: bigint;
33
+ ethPerFeeAsset: bigint;
34
+ };
35
+ /**
36
+ * Taylor series approximation of `factor * e^(numerator/denominator)`.
37
+ * Direct port of FeeLib.sol fakeExponential (EIP-4844 style).
38
+ */
39
+ export declare function fakeExponential(factor: bigint, numerator: bigint, denominator: bigint): bigint;
40
+ /** Computes excess mana for the next checkpoint, clamped to zero. */
41
+ export declare function computeExcessMana(prevExcessMana: bigint, prevManaUsed: bigint, manaTarget: bigint): bigint;
42
+ /** Computes the congestion multiplier from excess mana (1e9 = no congestion). */
43
+ export declare function computeCongestionMultiplier(excessMana: bigint, manaTarget: bigint): bigint;
44
+ /**
45
+ * Computes the full mana min fee (sequencer + prover + congestion) in fee asset terms.
46
+ * Mirrors FeeLib.getManaMinFeeComponentsAt + summedMinFee.
47
+ */
48
+ export declare function computeManaMinFee(params: ManaMinFeeParams): bigint;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX21hdGguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYXMvZmVlX21hdGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBR0gsZUFBTyxNQUFNLDZCQUE2QixjQUFpQixDQUFDO0FBQzVELGVBQU8sTUFBTSw4QkFBOEIsVUFBVyxDQUFDO0FBQ3ZELGVBQU8sTUFBTSx5QkFBeUIsV0FBYSxDQUFDO0FBQ3BELGVBQU8sTUFBTSxvQkFBb0IsS0FBSyxDQUFDO0FBQ3ZDLGVBQU8sTUFBTSxpQkFBaUIsUUFBWSxDQUFDO0FBQzNDLGVBQU8sTUFBTSxpQ0FBaUMsYUFBZSxDQUFDO0FBQzlELGVBQU8sTUFBTSw4QkFBOEIsYUFBZSxDQUFDO0FBQzNELGVBQU8sTUFBTSwyQkFBMkIsaUJBQXFCLENBQUM7QUFDOUQsZUFBTyxNQUFNLHFCQUFxQixPQUFPLENBQUM7QUFFMUMsa0dBQWtHO0FBQ2xHLGVBQU8sTUFBTSxjQUFjLElBQUksQ0FBQztBQUVoQyw2REFBNkQ7QUFDN0Qsb0JBQVksaUJBQWlCO0lBQzNCLHVEQUFxRDtJQUNyRCxJQUFJLFNBQVM7SUFDYixxRUFBbUU7SUFDbkUsTUFBTSxXQUFXO0lBQ2pCLDBFQUF3RTtJQUN4RSxLQUFLLFVBQVU7Q0FDaEI7QUFFRCwwRUFBMEU7QUFDMUUsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQzdCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsY0FBYyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsd0JBQWdCLGVBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBVTlGO0FBRUQscUVBQXFFO0FBQ3JFLHdCQUFnQixpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRzFHO0FBRUQsaUZBQWlGO0FBQ2pGLHdCQUFnQiwyQkFBMkIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUkxRjtBQWVEOzs7R0FHRztBQUNILHdCQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEdBQUcsTUFBTSxDQWlDbEUifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee_math.d.ts","sourceRoot":"","sources":["../../src/gas/fee_math.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,6BAA6B,cAAiB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,UAAW,CAAC;AACvD,eAAO,MAAM,yBAAyB,WAAa,CAAC;AACpD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,iBAAiB,QAAY,CAAC;AAC3C,eAAO,MAAM,iCAAiC,aAAe,CAAC;AAC9D,eAAO,MAAM,8BAA8B,aAAe,CAAC;AAC3D,eAAO,MAAM,2BAA2B,iBAAqB,CAAC;AAC9D,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,kGAAkG;AAClG,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,6DAA6D;AAC7D,oBAAY,iBAAiB;IAC3B,uDAAqD;IACrD,IAAI,SAAS;IACb,qEAAmE;IACnE,MAAM,WAAW;IACjB,0EAAwE;IACxE,KAAK,UAAU;CAChB;AAED,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAU9F;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG1G;AAED,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAI1F;AAeD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAiClE"}