@aztec/stdlib 0.0.1-commit.2f68f620 → 0.0.1-commit.321f6a9

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 (445) hide show
  1. package/dest/abi/abi.d.ts +8 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/buffer.d.ts +6 -2
  4. package/dest/abi/buffer.d.ts.map +1 -1
  5. package/dest/abi/buffer.js +13 -1
  6. package/dest/abi/contract_artifact.d.ts +1 -1
  7. package/dest/abi/contract_artifact.d.ts.map +1 -1
  8. package/dest/abi/contract_artifact.js +26 -8
  9. package/dest/avm/avm.js +1 -1
  10. package/dest/aztec-address/index.d.ts +35 -5
  11. package/dest/aztec-address/index.d.ts.map +1 -1
  12. package/dest/aztec-address/index.js +32 -8
  13. package/dest/block/attestation_info.d.ts +1 -1
  14. package/dest/block/attestation_info.d.ts.map +1 -1
  15. package/dest/block/attestation_info.js +7 -4
  16. package/dest/block/l2_block_source.d.ts +46 -23
  17. package/dest/block/l2_block_source.d.ts.map +1 -1
  18. package/dest/block/l2_block_source.js +15 -1
  19. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +39 -0
  20. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -0
  21. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +165 -0
  22. package/dest/block/l2_block_stream/index.d.ts +2 -1
  23. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  24. package/dest/block/l2_block_stream/index.js +1 -0
  25. package/dest/block/l2_block_stream/interfaces.d.ts +81 -11
  26. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  27. package/dest/block/l2_block_stream/interfaces.js +25 -1
  28. package/dest/block/l2_block_stream/l2_block_stream.d.ts +23 -15
  29. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  30. package/dest/block/l2_block_stream/l2_block_stream.js +149 -152
  31. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +6 -12
  32. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  33. package/dest/block/l2_block_stream/l2_tips_memory_store.js +8 -32
  34. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +17 -18
  35. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  36. package/dest/block/l2_block_stream/l2_tips_store_base.js +70 -58
  37. package/dest/block/proposal/attestations_and_signers.d.ts +19 -1
  38. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  39. package/dest/block/proposal/attestations_and_signers.js +47 -7
  40. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  41. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  42. package/dest/block/test/l2_tips_store_test_suite.js +296 -37
  43. package/dest/block/validate_block_result.d.ts +16 -1
  44. package/dest/block/validate_block_result.d.ts.map +1 -1
  45. package/dest/block/validate_block_result.js +18 -3
  46. package/dest/checkpoint/checkpoint.js +2 -2
  47. package/dest/checkpoint/index.d.ts +2 -1
  48. package/dest/checkpoint/index.d.ts.map +1 -1
  49. package/dest/checkpoint/index.js +1 -0
  50. package/dest/checkpoint/simulation_overrides.d.ts +61 -0
  51. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -0
  52. package/dest/checkpoint/simulation_overrides.js +98 -0
  53. package/dest/checkpoint/validate.d.ts +11 -3
  54. package/dest/checkpoint/validate.d.ts.map +1 -1
  55. package/dest/checkpoint/validate.js +9 -6
  56. package/dest/config/index.d.ts +2 -1
  57. package/dest/config/index.d.ts.map +1 -1
  58. package/dest/config/index.js +1 -0
  59. package/dest/config/network-consensus-config.d.ts +72 -0
  60. package/dest/config/network-consensus-config.d.ts.map +1 -0
  61. package/dest/config/network-consensus-config.js +223 -0
  62. package/dest/config/sequencer-config.d.ts +4 -2
  63. package/dest/config/sequencer-config.d.ts.map +1 -1
  64. package/dest/config/sequencer-config.js +22 -3
  65. package/dest/contract/contract_address.d.ts +5 -4
  66. package/dest/contract/contract_address.d.ts.map +1 -1
  67. package/dest/contract/contract_class.d.ts +1 -1
  68. package/dest/contract/contract_class.d.ts.map +1 -1
  69. package/dest/contract/contract_class.js +3 -2
  70. package/dest/contract/contract_instance.d.ts +16 -2
  71. package/dest/contract/contract_instance.d.ts.map +1 -1
  72. package/dest/contract/contract_instance.js +45 -0
  73. package/dest/contract/interfaces/contract_data_source.d.ts +3 -5
  74. package/dest/contract/interfaces/contract_data_source.d.ts.map +1 -1
  75. package/dest/contract/interfaces/contract_instance.d.ts +71 -10
  76. package/dest/contract/interfaces/contract_instance.d.ts.map +1 -1
  77. package/dest/contract/interfaces/contract_instance.js +7 -2
  78. package/dest/contract/interfaces/node-info.d.ts +11 -1
  79. package/dest/contract/interfaces/node-info.d.ts.map +1 -1
  80. package/dest/contract/interfaces/node-info.js +7 -1
  81. package/dest/contract/partial_address.d.ts +9 -3
  82. package/dest/contract/partial_address.d.ts.map +1 -1
  83. package/dest/contract/partial_address.js +8 -2
  84. package/dest/database-version/version_manager.d.ts +18 -4
  85. package/dest/database-version/version_manager.d.ts.map +1 -1
  86. package/dest/database-version/version_manager.js +76 -6
  87. package/dest/deserialization/index.d.ts +35 -3
  88. package/dest/deserialization/index.d.ts.map +1 -1
  89. package/dest/deserialization/index.js +32 -1
  90. package/dest/file-store/factory.d.ts +1 -1
  91. package/dest/file-store/factory.d.ts.map +1 -1
  92. package/dest/file-store/factory.js +7 -0
  93. package/dest/file-store/index.d.ts +2 -1
  94. package/dest/file-store/index.d.ts.map +1 -1
  95. package/dest/file-store/index.js +1 -0
  96. package/dest/file-store/memory.d.ts +24 -0
  97. package/dest/file-store/memory.d.ts.map +1 -0
  98. package/dest/file-store/memory.js +80 -0
  99. package/dest/gas/gas_settings.d.ts +7 -13
  100. package/dest/gas/gas_settings.d.ts.map +1 -1
  101. package/dest/gas/gas_settings.js +9 -16
  102. package/dest/gas/index.d.ts +2 -1
  103. package/dest/gas/index.d.ts.map +1 -1
  104. package/dest/gas/index.js +1 -0
  105. package/dest/gas/tx_gas_limits.d.ts +72 -0
  106. package/dest/gas/tx_gas_limits.d.ts.map +1 -0
  107. package/dest/gas/tx_gas_limits.js +85 -0
  108. package/dest/ha-signing/config.d.ts +19 -5
  109. package/dest/ha-signing/config.d.ts.map +1 -1
  110. package/dest/ha-signing/config.js +9 -3
  111. package/dest/ha-signing/local_config.d.ts +10 -2
  112. package/dest/ha-signing/local_config.d.ts.map +1 -1
  113. package/dest/ha-signing/local_config.js +8 -2
  114. package/dest/hash/hash.d.ts +1 -2
  115. package/dest/hash/hash.d.ts.map +1 -1
  116. package/dest/hash/hash.js +0 -7
  117. package/dest/interfaces/archiver.d.ts +12 -7
  118. package/dest/interfaces/archiver.d.ts.map +1 -1
  119. package/dest/interfaces/archiver.js +4 -2
  120. package/dest/interfaces/aztec-node-admin.d.ts +24 -17
  121. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  122. package/dest/interfaces/aztec-node-admin.js +1 -1
  123. package/dest/interfaces/aztec-node-debug.d.ts +40 -2
  124. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -1
  125. package/dest/interfaces/aztec-node-debug.js +29 -1
  126. package/dest/interfaces/aztec-node.d.ts +69 -28
  127. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  128. package/dest/interfaces/aztec-node.js +56 -20
  129. package/dest/interfaces/block-builder.d.ts +9 -2
  130. package/dest/interfaces/block-builder.d.ts.map +1 -1
  131. package/dest/interfaces/chain_tips.d.ts +8 -47
  132. package/dest/interfaces/chain_tips.d.ts.map +1 -1
  133. package/dest/interfaces/chain_tips.js +1 -6
  134. package/dest/interfaces/checkpoint_parameter.d.ts +3 -3
  135. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -1
  136. package/dest/interfaces/checkpoint_parameter.js +3 -3
  137. package/dest/interfaces/client.d.ts +2 -1
  138. package/dest/interfaces/client.d.ts.map +1 -1
  139. package/dest/interfaces/configs.d.ts +27 -6
  140. package/dest/interfaces/configs.d.ts.map +1 -1
  141. package/dest/interfaces/configs.js +5 -1
  142. package/dest/interfaces/get_tx_by_hash_options.d.ts +9 -0
  143. package/dest/interfaces/get_tx_by_hash_options.d.ts.map +1 -0
  144. package/dest/interfaces/get_tx_by_hash_options.js +4 -0
  145. package/dest/interfaces/merkle_tree_operations.d.ts +3 -4
  146. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  147. package/dest/interfaces/p2p.d.ts +38 -9
  148. package/dest/interfaces/p2p.d.ts.map +1 -1
  149. package/dest/interfaces/p2p.js +14 -2
  150. package/dest/interfaces/private_kernel_prover.d.ts +71 -12
  151. package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
  152. package/dest/interfaces/prover-client.d.ts +2 -3
  153. package/dest/interfaces/prover-client.d.ts.map +1 -1
  154. package/dest/interfaces/prover-node.d.ts +12 -8
  155. package/dest/interfaces/prover-node.d.ts.map +1 -1
  156. package/dest/interfaces/prover-node.js +24 -17
  157. package/dest/interfaces/proving-job.d.ts +87 -74
  158. package/dest/interfaces/proving-job.d.ts.map +1 -1
  159. package/dest/interfaces/proving-job.js +13 -4
  160. package/dest/interfaces/server.d.ts +1 -2
  161. package/dest/interfaces/server.d.ts.map +1 -1
  162. package/dest/interfaces/server.js +0 -1
  163. package/dest/interfaces/server_circuit_prover.d.ts +3 -3
  164. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  165. package/dest/interfaces/validator.d.ts +15 -4
  166. package/dest/interfaces/validator.d.ts.map +1 -1
  167. package/dest/interfaces/validator.js +3 -1
  168. package/dest/interfaces/world_state.d.ts +14 -1
  169. package/dest/interfaces/world_state.d.ts.map +1 -1
  170. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
  171. package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
  172. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
  173. package/dest/kernel/hints/read_request.js +1 -1
  174. package/dest/kernel/index.d.ts +6 -2
  175. package/dest/kernel/index.d.ts.map +1 -1
  176. package/dest/kernel/index.js +5 -1
  177. package/dest/kernel/log_hash.d.ts +1 -1
  178. package/dest/kernel/log_hash.d.ts.map +1 -1
  179. package/dest/kernel/log_hash.js +2 -2
  180. package/dest/kernel/note_hash.js +1 -1
  181. package/dest/kernel/nullifier.js +1 -1
  182. package/dest/kernel/private_circuit_public_inputs.d.ts +13 -3
  183. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  184. package/dest/kernel/private_circuit_public_inputs.js +14 -7
  185. package/dest/kernel/private_context_inputs.d.ts +4 -3
  186. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  187. package/dest/kernel/private_context_inputs.js +7 -3
  188. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -9
  189. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  190. package/dest/kernel/private_kernel_circuit_public_inputs.js +10 -7
  191. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +2 -3
  192. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -1
  193. package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +3 -5
  194. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +2 -3
  195. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -1
  196. package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +3 -5
  197. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts +24 -0
  198. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.d.ts.map +1 -0
  199. package/dest/kernel/private_kernel_init_4_circuit_private_inputs.js +37 -0
  200. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts +25 -0
  201. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.d.ts.map +1 -0
  202. package/dest/kernel/private_kernel_init_5_circuit_private_inputs.js +39 -0
  203. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
  204. package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
  205. package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
  206. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts +18 -0
  207. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.d.ts.map +1 -0
  208. package/dest/kernel/private_kernel_inner_4_circuit_private_inputs.js +27 -0
  209. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts +19 -0
  210. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.d.ts.map +1 -0
  211. package/dest/kernel/private_kernel_inner_5_circuit_private_inputs.js +29 -0
  212. package/dest/kernel/private_kernel_prover_output.d.ts +4 -1
  213. package/dest/kernel/private_kernel_prover_output.d.ts.map +1 -1
  214. package/dest/kernel/private_kernel_prover_output.js +4 -1
  215. package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
  216. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  217. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
  218. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
  219. package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
  220. package/dest/kernel/private_log_data.d.ts +1 -1
  221. package/dest/kernel/private_log_data.d.ts.map +1 -1
  222. package/dest/kernel/private_log_data.js +1 -1
  223. package/dest/keys/derivation.d.ts +41 -6
  224. package/dest/keys/derivation.d.ts.map +1 -1
  225. package/dest/keys/derivation.js +49 -26
  226. package/dest/logs/app_tagging_secret.d.ts +30 -7
  227. package/dest/logs/app_tagging_secret.d.ts.map +1 -1
  228. package/dest/logs/app_tagging_secret.js +46 -39
  229. package/dest/logs/app_tagging_secret_kind.js +1 -1
  230. package/dest/logs/contract_class_log.d.ts +1 -2
  231. package/dest/logs/contract_class_log.d.ts.map +1 -1
  232. package/dest/logs/contract_class_log.js +0 -4
  233. package/dest/logs/message_context.d.ts +5 -15
  234. package/dest/logs/message_context.d.ts.map +1 -1
  235. package/dest/logs/message_context.js +1 -66
  236. package/dest/logs/pending_tagged_log.d.ts +6 -8
  237. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  238. package/dest/logs/pending_tagged_log.js +1 -31
  239. package/dest/logs/shared_secret_derivation.d.ts +29 -6
  240. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  241. package/dest/logs/shared_secret_derivation.js +44 -11
  242. package/dest/messaging/l1_to_l2_message.d.ts +23 -2
  243. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  244. package/dest/messaging/l1_to_l2_message.js +36 -11
  245. package/dest/noir/index.d.ts +3 -3
  246. package/dest/noir/index.d.ts.map +1 -1
  247. package/dest/p2p/attestation_utils.d.ts +1 -1
  248. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  249. package/dest/p2p/attestation_utils.js +8 -1
  250. package/dest/p2p/checkpoint_attestation.d.ts +10 -1
  251. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  252. package/dest/p2p/checkpoint_attestation.js +10 -0
  253. package/dest/p2p/checkpoint_proposal.d.ts +2 -1
  254. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  255. package/dest/p2p/consensus_payload.d.ts +2 -1
  256. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  257. package/dest/p2p/signature_utils.d.ts +10 -1
  258. package/dest/p2p/signature_utils.d.ts.map +1 -1
  259. package/dest/p2p/signature_utils.js +9 -1
  260. package/dest/rollup/avm_proof_data.d.ts +3 -3
  261. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  262. package/dest/rollup/checkpoint_header.d.ts +8 -3
  263. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  264. package/dest/rollup/checkpoint_header.js +20 -10
  265. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +1 -1
  266. package/dest/stats/stats.d.ts +2 -2
  267. package/dest/stats/stats.d.ts.map +1 -1
  268. package/dest/tests/factories.d.ts +1 -1
  269. package/dest/tests/factories.d.ts.map +1 -1
  270. package/dest/tests/factories.js +10 -15
  271. package/dest/tests/mocks.d.ts +1 -1
  272. package/dest/tests/mocks.d.ts.map +1 -1
  273. package/dest/tests/mocks.js +3 -2
  274. package/dest/timetable/budgets.d.ts +57 -0
  275. package/dest/timetable/budgets.d.ts.map +1 -0
  276. package/dest/timetable/budgets.js +56 -0
  277. package/dest/timetable/build_proposer_timetable.d.ts +21 -0
  278. package/dest/timetable/build_proposer_timetable.d.ts.map +1 -0
  279. package/dest/timetable/build_proposer_timetable.js +17 -0
  280. package/dest/timetable/consensus_timetable.d.ts +70 -0
  281. package/dest/timetable/consensus_timetable.d.ts.map +1 -0
  282. package/dest/timetable/consensus_timetable.js +89 -0
  283. package/dest/timetable/index.d.ts +5 -84
  284. package/dest/timetable/index.d.ts.map +1 -1
  285. package/dest/timetable/index.js +4 -209
  286. package/dest/timetable/proposer_timetable.d.ts +106 -0
  287. package/dest/timetable/proposer_timetable.d.ts.map +1 -0
  288. package/dest/timetable/proposer_timetable.js +132 -0
  289. package/dest/trees/nullifier_membership_witness.d.ts +5 -8
  290. package/dest/trees/nullifier_membership_witness.d.ts.map +1 -1
  291. package/dest/trees/nullifier_membership_witness.js +0 -9
  292. package/dest/trees/public_data_witness.d.ts +7 -17
  293. package/dest/trees/public_data_witness.d.ts.map +1 -1
  294. package/dest/trees/public_data_witness.js +0 -27
  295. package/dest/tx/execution_payload.d.ts +1 -1
  296. package/dest/tx/execution_payload.d.ts.map +1 -1
  297. package/dest/tx/execution_payload.js +1 -1
  298. package/dest/tx/fee_provider.d.ts +2 -2
  299. package/dest/tx/fee_provider.d.ts.map +1 -1
  300. package/dest/tx/global_variable_builder.d.ts +2 -12
  301. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  302. package/dest/tx/global_variables.js +2 -2
  303. package/dest/tx/private_tx_constant_data.d.ts +18 -2
  304. package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
  305. package/dest/tx/private_tx_constant_data.js +13 -4
  306. package/dest/tx/profiling.d.ts +1 -1
  307. package/dest/tx/profiling.d.ts.map +1 -1
  308. package/dest/tx/profiling.js +2 -0
  309. package/dest/tx/simulated_tx.d.ts +10 -6
  310. package/dest/tx/simulated_tx.d.ts.map +1 -1
  311. package/dest/tx/tx.d.ts +9 -1
  312. package/dest/tx/tx.d.ts.map +1 -1
  313. package/dest/tx/tx.js +15 -0
  314. package/dest/tx/validator/error_texts.d.ts +2 -2
  315. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  316. package/dest/tx/validator/error_texts.js +1 -1
  317. package/dest/world-state/genesis_data.d.ts +9 -1
  318. package/dest/world-state/genesis_data.d.ts.map +1 -1
  319. package/dest/world-state/genesis_data.js +1 -0
  320. package/package.json +8 -8
  321. package/src/abi/abi.ts +8 -0
  322. package/src/abi/buffer.ts +13 -1
  323. package/src/abi/contract_artifact.ts +33 -9
  324. package/src/avm/avm.ts +1 -1
  325. package/src/aztec-address/index.ts +36 -6
  326. package/src/block/attestation_info.ts +7 -2
  327. package/src/block/l2_block_source.ts +67 -13
  328. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +207 -0
  329. package/src/block/l2_block_stream/index.ts +1 -0
  330. package/src/block/l2_block_stream/interfaces.ts +96 -10
  331. package/src/block/l2_block_stream/l2_block_stream.ts +216 -175
  332. package/src/block/l2_block_stream/l2_tips_memory_store.ts +12 -41
  333. package/src/block/l2_block_stream/l2_tips_store_base.ts +84 -93
  334. package/src/block/proposal/attestations_and_signers.ts +53 -7
  335. package/src/block/test/l2_tips_store_test_suite.ts +270 -28
  336. package/src/block/validate_block_result.ts +48 -2
  337. package/src/checkpoint/checkpoint.ts +2 -2
  338. package/src/checkpoint/index.ts +1 -0
  339. package/src/checkpoint/simulation_overrides.ts +171 -0
  340. package/src/checkpoint/validate.ts +16 -6
  341. package/src/config/index.ts +1 -0
  342. package/src/config/network-consensus-config.ts +291 -0
  343. package/src/config/sequencer-config.ts +36 -5
  344. package/src/contract/contract_address.ts +4 -3
  345. package/src/contract/contract_class.ts +3 -2
  346. package/src/contract/contract_instance.ts +62 -1
  347. package/src/contract/interfaces/contract_data_source.ts +2 -4
  348. package/src/contract/interfaces/contract_instance.ts +26 -8
  349. package/src/contract/interfaces/node-info.ts +11 -0
  350. package/src/contract/partial_address.ts +8 -2
  351. package/src/database-version/version_manager.ts +96 -6
  352. package/src/deserialization/index.ts +35 -2
  353. package/src/file-store/factory.ts +7 -0
  354. package/src/file-store/index.ts +1 -0
  355. package/src/file-store/memory.ts +94 -0
  356. package/src/gas/README.md +199 -35
  357. package/src/gas/gas_settings.ts +11 -21
  358. package/src/gas/index.ts +1 -0
  359. package/src/gas/tx_gas_limits.ts +123 -0
  360. package/src/ha-signing/config.ts +23 -5
  361. package/src/ha-signing/local_config.ts +20 -1
  362. package/src/hash/hash.ts +0 -8
  363. package/src/interfaces/archiver.ts +14 -7
  364. package/src/interfaces/aztec-node-admin.ts +1 -1
  365. package/src/interfaces/aztec-node-debug.ts +54 -2
  366. package/src/interfaces/aztec-node.ts +121 -43
  367. package/src/interfaces/block-builder.ts +8 -1
  368. package/src/interfaces/chain_tips.ts +8 -16
  369. package/src/interfaces/checkpoint_parameter.ts +3 -3
  370. package/src/interfaces/client.ts +1 -0
  371. package/src/interfaces/configs.ts +27 -6
  372. package/src/interfaces/get_tx_by_hash_options.ts +14 -0
  373. package/src/interfaces/merkle_tree_operations.ts +2 -3
  374. package/src/interfaces/p2p.ts +29 -9
  375. package/src/interfaces/private_kernel_prover.ts +104 -13
  376. package/src/interfaces/prover-client.ts +1 -3
  377. package/src/interfaces/prover-node.ts +32 -17
  378. package/src/interfaces/proving-job.ts +15 -3
  379. package/src/interfaces/server.ts +0 -1
  380. package/src/interfaces/server_circuit_prover.ts +2 -2
  381. package/src/interfaces/validator.ts +11 -0
  382. package/src/interfaces/world_state.ts +14 -0
  383. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
  384. package/src/kernel/hints/read_request.ts +1 -1
  385. package/src/kernel/index.ts +5 -1
  386. package/src/kernel/log_hash.ts +5 -2
  387. package/src/kernel/note_hash.ts +1 -1
  388. package/src/kernel/nullifier.ts +1 -1
  389. package/src/kernel/private_circuit_public_inputs.ts +12 -1
  390. package/src/kernel/private_context_inputs.ts +10 -3
  391. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -7
  392. package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +0 -3
  393. package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +0 -3
  394. package/src/kernel/private_kernel_init_4_circuit_private_inputs.ts +52 -0
  395. package/src/kernel/private_kernel_init_5_circuit_private_inputs.ts +55 -0
  396. package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
  397. package/src/kernel/private_kernel_inner_4_circuit_private_inputs.ts +39 -0
  398. package/src/kernel/private_kernel_inner_5_circuit_private_inputs.ts +42 -0
  399. package/src/kernel/private_kernel_prover_output.ts +4 -0
  400. package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
  401. package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
  402. package/src/kernel/private_log_data.ts +4 -1
  403. package/src/keys/derivation.ts +69 -24
  404. package/src/logs/app_tagging_secret.ts +62 -39
  405. package/src/logs/app_tagging_secret_kind.ts +1 -1
  406. package/src/logs/contract_class_log.ts +0 -9
  407. package/src/logs/message_context.ts +7 -65
  408. package/src/logs/pending_tagged_log.ts +6 -33
  409. package/src/logs/shared_secret_derivation.ts +47 -14
  410. package/src/messaging/l1_to_l2_message.ts +51 -13
  411. package/src/noir/index.ts +2 -1
  412. package/src/p2p/attestation_utils.ts +8 -1
  413. package/src/p2p/checkpoint_attestation.ts +12 -0
  414. package/src/p2p/signature_utils.ts +9 -0
  415. package/src/rollup/avm_proof_data.ts +2 -2
  416. package/src/rollup/checkpoint_header.ts +16 -2
  417. package/src/stats/stats.ts +6 -2
  418. package/src/tests/factories.ts +13 -13
  419. package/src/tests/mocks.ts +7 -2
  420. package/src/timetable/README.md +609 -0
  421. package/src/timetable/budgets.ts +87 -0
  422. package/src/timetable/build_proposer_timetable.ts +42 -0
  423. package/src/timetable/consensus_timetable.ts +126 -0
  424. package/src/timetable/index.ts +4 -304
  425. package/src/timetable/proposer_timetable.ts +190 -0
  426. package/src/timetable/timetable-example.svg +108 -0
  427. package/src/trees/nullifier_membership_witness.ts +0 -11
  428. package/src/trees/public_data_witness.ts +0 -31
  429. package/src/tx/execution_payload.ts +2 -1
  430. package/src/tx/fee_provider.ts +1 -1
  431. package/src/tx/global_variable_builder.ts +1 -17
  432. package/src/tx/global_variables.ts +2 -2
  433. package/src/tx/private_tx_constant_data.ts +25 -2
  434. package/src/tx/profiling.ts +2 -0
  435. package/src/tx/tx.ts +17 -0
  436. package/src/tx/validator/error_texts.ts +2 -1
  437. package/src/world-state/genesis_data.ts +10 -0
  438. package/dest/interfaces/epoch-prover.d.ts +0 -57
  439. package/dest/interfaces/epoch-prover.d.ts.map +0 -1
  440. package/dest/interfaces/epoch-prover.js +0 -1
  441. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
  442. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
  443. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
  444. package/src/interfaces/epoch-prover.ts +0 -72
  445. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
@@ -0,0 +1,106 @@
1
+ import type { SlotNumber } from '@aztec/foundation/branded-types';
2
+ import type { Logger } from '@aztec/foundation/log';
3
+ import { ConsensusTimetable, type SlotTimingConstants } from './consensus_timetable.js';
4
+ /** Result of selecting the next block sub-slot to build. */
5
+ export type SubslotSelection = {
6
+ canStart: false;
7
+ index: undefined;
8
+ deadline: undefined;
9
+ isLastBlock: false;
10
+ } | {
11
+ canStart: true;
12
+ index: number;
13
+ deadline: number;
14
+ isLastBlock: boolean;
15
+ };
16
+ /**
17
+ * Proposer ideal/happy-path schedule and block sub-slot timetable.
18
+ *
19
+ * Composes a {@link ConsensusTimetable} and adds the operational budgets that only the proposer needs
20
+ * (`min_block_duration`, `p2p_propagation_time`, `checkpoint_proposal_prepare_time`). Used by the
21
+ * sequencer and checkpoint-proposal job. All getters take a target slot and return an absolute
22
+ * wall-clock timestamp in seconds (or sub-slot deadlines in seconds for {@link selectNextSubslot}).
23
+ *
24
+ * The single hard deadline {@link getAttestationDeadline} is inherited from the composed
25
+ * {@link ConsensusTimetable}, so the proposer uses one object.
26
+ *
27
+ * `maxBlocksPerCheckpoint` is computed from the local operational budgets and then clamped down to the optional
28
+ * network-provided value when that value is lower; a network value at or above the computed count leaves the
29
+ * computed count in effect. When clamping down occurs and a logger is supplied, a warning is emitted.
30
+ */
31
+ export declare class ProposerTimetable extends ConsensusTimetable {
32
+ /** Minimum block-building time (`min_block_duration`) in seconds. */
33
+ readonly minBlockDuration: number;
34
+ /** One-way proposal/attestation propagation budget (`p2p_propagation_time`) in seconds. */
35
+ readonly p2pPropagationTime: number;
36
+ /** Local checkpoint proposal preparation budget (`checkpoint_proposal_prepare_time`) in seconds. */
37
+ readonly checkpointProposalPrepareTime: number;
38
+ /** Proposer initialization budget (`checkpoint_proposal_init_time`) reserved before the first sub-slot, in seconds. */
39
+ readonly checkpointProposalInitTime: number;
40
+ /**
41
+ * Effective maximum number of block sub-slots per checkpoint: the value the local operational budgets compute,
42
+ * clamped down to the explicit network value when that value is lower. A network value above the computed
43
+ * count has no effect (the computed count is used) and is not logged.
44
+ */
45
+ readonly maxBlocksPerCheckpoint: number;
46
+ constructor(opts: {
47
+ l1Constants: SlotTimingConstants;
48
+ blockDuration: number;
49
+ minBlockDuration: number;
50
+ p2pPropagationTime: number;
51
+ checkpointProposalPrepareTime: number;
52
+ checkpointProposalInitTime: number;
53
+ checkpointProposalSyncGrace?: number;
54
+ /** Explicit network max blocks per checkpoint; the effective value is clamped down to this when it is lower. */
55
+ maxBlocksPerCheckpoint?: number;
56
+ /** Optional logger; warns when the local budgets compute more blocks than the network value allows. */
57
+ logger?: Logger;
58
+ });
59
+ /**
60
+ * Computes the maximum number of full-duration block sub-slots in a checkpoint from the already-resolved
61
+ * budgets. Derived from the spec's `max_blocks_per_checkpoint = floor((last_block_build_time -
62
+ * first_subslot_start) / D)`, where the first sub-slot starts one `checkpoint_proposal_init_time` (`init`)
63
+ * after `build_frame_start`, so it simplifies to `floor((S - init - D - 2P - prepCp) / D)`.
64
+ */
65
+ private computeMaxBlocksPerCheckpoint;
66
+ /**
67
+ * Ideal time the last block must finish building by to make the ideal L1 publish path:
68
+ * `target_slot_start - E - D - 2P - prepCp` (= `checkpoint_proposal_send_time - prepCp`). Single value;
69
+ * the proposer sizes block production around the ideal L1-publish path only.
70
+ */
71
+ getLastBlockBuildTime(slot: SlotNumber): number;
72
+ /**
73
+ * Latest start at which the proposer can still squeeze in a minimum-duration block.
74
+ *
75
+ * Multi-block mode: `last_block_build_time - min_block_duration`, an ideal-derived cutoff
76
+ * intentionally earlier (by `P`) than the consensus receive gate would strictly allow, and
77
+ * conservatively no later than the final sub-slot's start cutoff in {@link selectNextSubslot}.
78
+ *
79
+ */
80
+ getBuildStartDeadline(slot: SlotNumber): number;
81
+ /** Ideal L1 publish/send time: `target_slot_start - E`. Also the ideal attestation-receipt target. */
82
+ getL1PublishIdealTime(slot: SlotNumber): number;
83
+ /**
84
+ * Build deadline for sub-slot `k` (zero-based): `build_frame_start + init + (k + 1) * D`.
85
+ *
86
+ * The `init` (`checkpoint_proposal_init_time`) offset reserves the proposer's sync/proposer-check/init
87
+ * budget at the start of the build frame, so the first sub-slot still has its full duration once the
88
+ * prologue finishes rather than being eaten by it.
89
+ */
90
+ getBlockBuildDeadline(slot: SlotNumber, blockIndex: number): number;
91
+ /** Latest time to keep waiting for txs for sub-slot `k`: `block_build_deadline(k) - min_block_duration`. */
92
+ getWaitForTxsDeadline(slot: SlotNumber, blockIndex: number): number;
93
+ /** Maximum number of full-duration block sub-slots for this timing config. */
94
+ getMaxBlocksPerCheckpoint(): number;
95
+ /**
96
+ * Selects the next block sub-slot to build for the target slot given the current wall-clock time.
97
+ *
98
+ * Scans sub-slots in order and picks the first whose build deadline is at least `min_block_duration`
99
+ * in the future. Sub-slots with insufficient remaining headroom are skipped.
100
+ *
101
+ * @param slot - Target slot the checkpoint commits to.
102
+ * @param now - Current wall-clock time in seconds.
103
+ */
104
+ selectNextSubslot(slot: SlotNumber, now: number): SubslotSelection;
105
+ }
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zZXJfdGltZXRhYmxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZXRhYmxlL3Byb3Bvc2VyX3RpbWV0YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhGLDREQUE0RDtBQUM1RCxNQUFNLE1BQU0sZ0JBQWdCLEdBQ3hCO0lBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQztJQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7SUFBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQTtDQUFFLEdBQzlFO0lBQUUsUUFBUSxFQUFFLElBQUksQ0FBQztJQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7SUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQTtDQUFFLENBQUM7QUFFOUU7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxxQkFBYSxpQkFBa0IsU0FBUSxrQkFBa0I7SUFDdkQscUVBQXFFO0lBQ3JFLFNBQWdCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUV6QywyRkFBMkY7SUFDM0YsU0FBZ0Isa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBRTNDLG9HQUFvRztJQUNwRyxTQUFnQiw2QkFBNkIsRUFBRSxNQUFNLENBQUM7SUFFdEQsdUhBQXVIO0lBQ3ZILFNBQWdCLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUVuRDs7OztPQUlHO0lBQ0gsU0FBZ0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDO0lBRS9DLFlBQVksSUFBSSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSxtQkFBbUIsQ0FBQztRQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDO1FBQ3RCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztRQUN6QixrQkFBa0IsRUFBRSxNQUFNLENBQUM7UUFDM0IsNkJBQTZCLEVBQUUsTUFBTSxDQUFDO1FBQ3RDLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztRQUNuQywyQkFBMkIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQyxnSEFBZ0g7UUFDaEgsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDaEMsdUdBQXVHO1FBQ3ZHLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztLQUNqQixFQXNDQTtJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLDZCQUE2QjtJQVdyQzs7OztPQUlHO0lBQ0kscUJBQXFCLENBQUMsSUFBSSxFQUFFLFVBQVUsR0FBRyxNQUFNLENBUXJEO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHFCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsTUFBTSxDQUVyRDtJQUVELHNHQUFzRztJQUMvRixxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FFckQ7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUV6RTtJQUVELDRHQUE0RztJQUNyRyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUV6RTtJQUVELDhFQUE4RTtJQUN2RSx5QkFBeUIsSUFBSSxNQUFNLENBRXpDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBV3hFO0NBQ0YifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proposer_timetable.d.ts","sourceRoot":"","sources":["../../src/timetable/proposer_timetable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAExF,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,KAAK,CAAA;CAAE,GAC9E;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9E;;;;;;;;;;;;;;GAcG;AACH,qBAAa,iBAAkB,SAAQ,kBAAkB;IACvD,qEAAqE;IACrE,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IAEzC,2FAA2F;IAC3F,SAAgB,kBAAkB,EAAE,MAAM,CAAC;IAE3C,oGAAoG;IACpG,SAAgB,6BAA6B,EAAE,MAAM,CAAC;IAEtD,uHAAuH;IACvH,SAAgB,0BAA0B,EAAE,MAAM,CAAC;IAEnD;;;;OAIG;IACH,SAAgB,sBAAsB,EAAE,MAAM,CAAC;IAE/C,YAAY,IAAI,EAAE;QAChB,WAAW,EAAE,mBAAmB,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,6BAA6B,EAAE,MAAM,CAAC;QACtC,0BAA0B,EAAE,MAAM,CAAC;QACnC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,gHAAgH;QAChH,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,uGAAuG;QACvG,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EAsCA;IAED;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAWrC;;;;OAIG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAQrD;IAED;;;;;;;OAOG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAErD;IAED,sGAAsG;IAC/F,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAErD;IAED;;;;;;OAMG;IACI,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzE;IAED,4GAA4G;IACrG,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEzE;IAED,8EAA8E;IACvE,yBAAyB,IAAI,MAAM,CAEzC;IAED;;;;;;;;OAQG;IACI,iBAAiB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAWxE;CACF"}
@@ -0,0 +1,132 @@
1
+ import { getDefaultCheckpointProposalSyncGrace, resolveTimingBudgets } from './budgets.js';
2
+ import { ConsensusTimetable } from './consensus_timetable.js';
3
+ /**
4
+ * Proposer ideal/happy-path schedule and block sub-slot timetable.
5
+ *
6
+ * Composes a {@link ConsensusTimetable} and adds the operational budgets that only the proposer needs
7
+ * (`min_block_duration`, `p2p_propagation_time`, `checkpoint_proposal_prepare_time`). Used by the
8
+ * sequencer and checkpoint-proposal job. All getters take a target slot and return an absolute
9
+ * wall-clock timestamp in seconds (or sub-slot deadlines in seconds for {@link selectNextSubslot}).
10
+ *
11
+ * The single hard deadline {@link getAttestationDeadline} is inherited from the composed
12
+ * {@link ConsensusTimetable}, so the proposer uses one object.
13
+ *
14
+ * `maxBlocksPerCheckpoint` is computed from the local operational budgets and then clamped down to the optional
15
+ * network-provided value when that value is lower; a network value at or above the computed count leaves the
16
+ * computed count in effect. When clamping down occurs and a logger is supplied, a warning is emitted.
17
+ */ export class ProposerTimetable extends ConsensusTimetable {
18
+ /** Minimum block-building time (`min_block_duration`) in seconds. */ minBlockDuration;
19
+ /** One-way proposal/attestation propagation budget (`p2p_propagation_time`) in seconds. */ p2pPropagationTime;
20
+ /** Local checkpoint proposal preparation budget (`checkpoint_proposal_prepare_time`) in seconds. */ checkpointProposalPrepareTime;
21
+ /** Proposer initialization budget (`checkpoint_proposal_init_time`) reserved before the first sub-slot, in seconds. */ checkpointProposalInitTime;
22
+ /**
23
+ * Effective maximum number of block sub-slots per checkpoint: the value the local operational budgets compute,
24
+ * clamped down to the explicit network value when that value is lower. A network value above the computed
25
+ * count has no effect (the computed count is used) and is not logged.
26
+ */ maxBlocksPerCheckpoint;
27
+ constructor(opts){
28
+ super({
29
+ l1Constants: opts.l1Constants,
30
+ blockDuration: opts.blockDuration,
31
+ checkpointProposalSyncGrace: opts.checkpointProposalSyncGrace ?? getDefaultCheckpointProposalSyncGrace(opts.blockDuration)
32
+ });
33
+ // Resolve operational budgets, applying the fast local/e2e profile for low ethereum slot durations so a
34
+ // fast network does not inherit the conservative production budgets (which would shrink the build window).
35
+ const budgets = resolveTimingBudgets(this.ethereumSlotDuration, {
36
+ minBlockDuration: opts.minBlockDuration,
37
+ p2pPropagationTime: opts.p2pPropagationTime,
38
+ checkpointProposalPrepareTime: opts.checkpointProposalPrepareTime,
39
+ checkpointProposalInitTime: opts.checkpointProposalInitTime
40
+ });
41
+ this.p2pPropagationTime = budgets.p2pPropagationTime;
42
+ this.checkpointProposalPrepareTime = budgets.checkpointProposalPrepareTime;
43
+ this.checkpointProposalInitTime = budgets.checkpointProposalInitTime;
44
+ // Clamp min block duration to the block duration so a single sub-slot is always startable.
45
+ this.minBlockDuration = Math.min(budgets.minBlockDuration, this.blockDuration);
46
+ const computed = this.computeMaxBlocksPerCheckpoint();
47
+ this.maxBlocksPerCheckpoint = opts.maxBlocksPerCheckpoint !== undefined ? Math.min(computed, opts.maxBlocksPerCheckpoint) : computed;
48
+ if (opts.maxBlocksPerCheckpoint !== undefined && opts.maxBlocksPerCheckpoint < computed) {
49
+ opts.logger?.warn(`Locally computed max blocks per checkpoint clamped down to the network-provided value`, {
50
+ computed,
51
+ maxBlocksPerCheckpoint: opts.maxBlocksPerCheckpoint
52
+ });
53
+ }
54
+ if (this.maxBlocksPerCheckpoint < 1) {
55
+ throw new Error(`Invalid timing configuration: derived ${this.maxBlocksPerCheckpoint} blocks per checkpoint for ` + `slot duration ${this.aztecSlotDuration}s and block duration ${this.blockDuration}s.`);
56
+ }
57
+ }
58
+ /**
59
+ * Computes the maximum number of full-duration block sub-slots in a checkpoint from the already-resolved
60
+ * budgets. Derived from the spec's `max_blocks_per_checkpoint = floor((last_block_build_time -
61
+ * first_subslot_start) / D)`, where the first sub-slot starts one `checkpoint_proposal_init_time` (`init`)
62
+ * after `build_frame_start`, so it simplifies to `floor((S - init - D - 2P - prepCp) / D)`.
63
+ */ computeMaxBlocksPerCheckpoint() {
64
+ // last_block_build_time - (build_frame_start + init) = S - init - D - 2P - prepCp.
65
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointProposalInitTime - this.blockDuration - 2 * this.p2pPropagationTime - this.checkpointProposalPrepareTime;
66
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
67
+ }
68
+ /**
69
+ * Ideal time the last block must finish building by to make the ideal L1 publish path:
70
+ * `target_slot_start - E - D - 2P - prepCp` (= `checkpoint_proposal_send_time - prepCp`). Single value;
71
+ * the proposer sizes block production around the ideal L1-publish path only.
72
+ */ getLastBlockBuildTime(slot) {
73
+ return this.getTargetSlotStart(slot) - this.ethereumSlotDuration - this.blockDuration - 2 * this.p2pPropagationTime - this.checkpointProposalPrepareTime;
74
+ }
75
+ /**
76
+ * Latest start at which the proposer can still squeeze in a minimum-duration block.
77
+ *
78
+ * Multi-block mode: `last_block_build_time - min_block_duration`, an ideal-derived cutoff
79
+ * intentionally earlier (by `P`) than the consensus receive gate would strictly allow, and
80
+ * conservatively no later than the final sub-slot's start cutoff in {@link selectNextSubslot}.
81
+ *
82
+ */ getBuildStartDeadline(slot) {
83
+ return this.getLastBlockBuildTime(slot) - this.minBlockDuration;
84
+ }
85
+ /** Ideal L1 publish/send time: `target_slot_start - E`. Also the ideal attestation-receipt target. */ getL1PublishIdealTime(slot) {
86
+ return this.getTargetSlotStart(slot) - this.ethereumSlotDuration;
87
+ }
88
+ /**
89
+ * Build deadline for sub-slot `k` (zero-based): `build_frame_start + init + (k + 1) * D`.
90
+ *
91
+ * The `init` (`checkpoint_proposal_init_time`) offset reserves the proposer's sync/proposer-check/init
92
+ * budget at the start of the build frame, so the first sub-slot still has its full duration once the
93
+ * prologue finishes rather than being eaten by it.
94
+ */ getBlockBuildDeadline(slot, blockIndex) {
95
+ return this.getBuildFrameStart(slot) + this.checkpointProposalInitTime + (blockIndex + 1) * this.blockDuration;
96
+ }
97
+ /** Latest time to keep waiting for txs for sub-slot `k`: `block_build_deadline(k) - min_block_duration`. */ getWaitForTxsDeadline(slot, blockIndex) {
98
+ return this.getBlockBuildDeadline(slot, blockIndex) - this.minBlockDuration;
99
+ }
100
+ /** Maximum number of full-duration block sub-slots for this timing config. */ getMaxBlocksPerCheckpoint() {
101
+ return this.maxBlocksPerCheckpoint;
102
+ }
103
+ /**
104
+ * Selects the next block sub-slot to build for the target slot given the current wall-clock time.
105
+ *
106
+ * Scans sub-slots in order and picks the first whose build deadline is at least `min_block_duration`
107
+ * in the future. Sub-slots with insufficient remaining headroom are skipped.
108
+ *
109
+ * @param slot - Target slot the checkpoint commits to.
110
+ * @param now - Current wall-clock time in seconds.
111
+ */ selectNextSubslot(slot, now) {
112
+ const maxBlocks = this.maxBlocksPerCheckpoint;
113
+ for(let index = 0; index < maxBlocks; index++){
114
+ const deadline = this.getBlockBuildDeadline(slot, index);
115
+ if (deadline - now >= this.minBlockDuration) {
116
+ const isLastBlock = index === maxBlocks - 1;
117
+ return {
118
+ canStart: true,
119
+ index,
120
+ deadline,
121
+ isLastBlock
122
+ };
123
+ }
124
+ }
125
+ return {
126
+ canStart: false,
127
+ index: undefined,
128
+ deadline: undefined,
129
+ isLastBlock: false
130
+ };
131
+ }
132
+ }
@@ -1,5 +1,4 @@
1
1
  import { NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
4
3
  import { z } from 'zod';
5
4
  import { NullifierLeafPreimage } from './nullifier_leaf.js';
@@ -39,15 +38,15 @@ export declare class NullifierMembershipWitness {
39
38
  index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
40
39
  leafPreimage: z.ZodPipe<z.ZodObject<{
41
40
  leaf: z.ZodPipe<z.ZodObject<{
42
- nullifier: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
41
+ nullifier: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
43
42
  }, z.core.$strip>, z.ZodTransform<import("./nullifier_leaf.js").NullifierLeaf, {
44
- nullifier: Fr;
43
+ nullifier: import("@aztec/foundation/schemas").Fr;
45
44
  }>>;
46
- nextKey: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
45
+ nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
47
46
  nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
48
47
  }, z.core.$strip>, z.ZodTransform<NullifierLeafPreimage, {
49
48
  leaf: import("./nullifier_leaf.js").NullifierLeaf;
50
- nextKey: Fr;
49
+ nextKey: import("@aztec/foundation/schemas").Fr;
51
50
  nextIndex: bigint;
52
51
  }>>;
53
52
  siblingPath: z.ZodPipe<import("../schemas/index.js").ZodFor<Buffer<ArrayBufferLike>>, z.ZodTransform<SiblingPath<42>, Buffer<ArrayBufferLike>>>;
@@ -58,7 +57,5 @@ export declare class NullifierMembershipWitness {
58
57
  }>>;
59
58
  static random(): NullifierMembershipWitness;
60
59
  withoutPreimage(): MembershipWitness<typeof NULLIFIER_TREE_HEIGHT>;
61
- /** Serializes as `(NullifierLeafPreimage, MembershipWitness)` to match the Noir oracle return type. */
62
- toNoirRepresentation(): (string | string[])[];
63
60
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX21lbWJlcnNoaXBfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL251bGxpZmllcl9tZW1iZXJzaGlwX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVEOzs7OztHQUtHO0FBQ0gscUJBQWEsMEJBQTBCO0lBRW5DOztPQUVHO2FBQ2EsS0FBSyxFQUFFLE1BQU07SUFDN0I7O09BRUc7YUFDYSxZQUFZLEVBQUUscUJBQXFCO0lBQ25EOztPQUVHO2FBQ2EsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLHFCQUFxQixDQUFDO0lBWnhFO0lBQ0U7O09BRUc7SUFDYSxLQUFLLEVBQUUsTUFBTTtJQUM3Qjs7T0FFRztJQUNhLFlBQVksRUFBRSxxQkFBcUI7SUFDbkQ7O09BRUc7SUFDYSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8scUJBQXFCLENBQUMsRUFDcEU7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFVaEI7SUFFRCxNQUFNLENBQUMsTUFBTSwrQkFNWjtJQUVNLGVBQWUsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLHFCQUFxQixDQUFDLENBRXhFO0lBRUQsdUdBQXVHO0lBQ2hHLG9CQUFvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FPbkQ7Q0FDRiJ9
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX21lbWJlcnNoaXBfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL251bGxpZmllcl9tZW1iZXJzaGlwX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFHeEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQ7Ozs7O0dBS0c7QUFDSCxxQkFBYSwwQkFBMEI7SUFFbkM7O09BRUc7YUFDYSxLQUFLLEVBQUUsTUFBTTtJQUM3Qjs7T0FFRzthQUNhLFlBQVksRUFBRSxxQkFBcUI7SUFDbkQ7O09BRUc7YUFDYSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8scUJBQXFCLENBQUM7SUFaeEU7SUFDRTs7T0FFRztJQUNhLEtBQUssRUFBRSxNQUFNO0lBQzdCOztPQUVHO0lBQ2EsWUFBWSxFQUFFLHFCQUFxQjtJQUNuRDs7T0FFRztJQUNhLFdBQVcsRUFBRSxXQUFXLENBQUMsT0FBTyxxQkFBcUIsQ0FBQyxFQUNwRTtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQVVoQjtJQUVELE1BQU0sQ0FBQyxNQUFNLCtCQU1aO0lBRU0sZUFBZSxJQUFJLGlCQUFpQixDQUFDLE9BQU8scUJBQXFCLENBQUMsQ0FFeEU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"nullifier_membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/nullifier_membership_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,0BAA0B;IAEnC;;OAEG;aACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;aACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;aACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC;IAZxE;IACE;;OAEG;IACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;IACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;IACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC,EACpE;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;QAUhB;IAED,MAAM,CAAC,MAAM,+BAMZ;IAEM,eAAe,IAAI,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAExE;IAED,uGAAuG;IAChG,oBAAoB,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAOnD;CACF"}
1
+ {"version":3,"file":"nullifier_membership_witness.d.ts","sourceRoot":"","sources":["../../src/trees/nullifier_membership_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;GAKG;AACH,qBAAa,0BAA0B;IAEnC;;OAEG;aACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;aACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;aACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC;IAZxE;IACE;;OAEG;IACa,KAAK,EAAE,MAAM;IAC7B;;OAEG;IACa,YAAY,EAAE,qBAAqB;IACnD;;OAEG;IACa,WAAW,EAAE,WAAW,CAAC,OAAO,qBAAqB,CAAC,EACpE;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;QAUhB;IAED,MAAM,CAAC,MAAM,+BAMZ;IAEM,eAAe,IAAI,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAExE;CACF"}
@@ -1,5 +1,4 @@
1
1
  import { NULLIFIER_TREE_HEIGHT } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
4
3
  import { z } from 'zod';
5
4
  import { schemas } from '../schemas/index.js';
@@ -37,12 +36,4 @@ import { NullifierLeafPreimage } from './nullifier_leaf.js';
37
36
  withoutPreimage() {
38
37
  return new MembershipWitness(NULLIFIER_TREE_HEIGHT, this.index, this.siblingPath.toTuple());
39
38
  }
40
- /** Serializes as `(NullifierLeafPreimage, MembershipWitness)` to match the Noir oracle return type. */ toNoirRepresentation() {
41
- // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
42
- return [
43
- ...this.leafPreimage.toFields().map((fr)=>fr.toString()),
44
- new Fr(this.index).toString(),
45
- this.siblingPath.toFields().map((fr)=>fr.toString())
46
- ];
47
- }
48
39
  }
@@ -1,5 +1,4 @@
1
1
  import { PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { BufferReader } from '@aztec/foundation/serialize';
4
3
  import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
5
4
  import { z } from 'zod';
@@ -42,17 +41,17 @@ export declare class PublicDataWitness {
42
41
  index: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
43
42
  leafPreimage: z.ZodPipe<z.ZodObject<{
44
43
  leaf: z.ZodPipe<z.ZodObject<{
45
- slot: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
46
- value: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
44
+ slot: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
45
+ value: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
47
46
  }, z.core.$strip>, z.ZodTransform<import("./public_data_leaf.js").PublicDataTreeLeaf, {
48
- slot: Fr;
49
- value: Fr;
47
+ slot: import("@aztec/foundation/schemas").Fr;
48
+ value: import("@aztec/foundation/schemas").Fr;
50
49
  }>>;
51
- nextKey: z.ZodType<Fr, string, z.core.$ZodTypeInternals<Fr, string>>;
50
+ nextKey: z.ZodType<import("@aztec/foundation/schemas").Fr, string, z.core.$ZodTypeInternals<import("@aztec/foundation/schemas").Fr, string>>;
52
51
  nextIndex: z.ZodPipe<z.ZodUnion<readonly [z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodCoercedBigInt<string | number | bigint>>;
53
52
  }, z.core.$strip>, z.ZodTransform<PublicDataTreeLeafPreimage, {
54
53
  leaf: import("./public_data_leaf.js").PublicDataTreeLeaf;
55
- nextKey: Fr;
54
+ nextKey: import("@aztec/foundation/schemas").Fr;
56
55
  nextIndex: bigint;
57
56
  }>>;
58
57
  siblingPath: z.ZodPipe<import("../schemas/schemas.js").ZodFor<Buffer<ArrayBufferLike>>, z.ZodTransform<SiblingPath<40>, Buffer<ArrayBufferLike>>>;
@@ -61,15 +60,6 @@ export declare class PublicDataWitness {
61
60
  leafPreimage: PublicDataTreeLeafPreimage;
62
61
  siblingPath: SiblingPath<40>;
63
62
  }>>;
64
- /**
65
- * Returns a field array representation of a public data witness.
66
- * @returns A field array representation of a public data witness.
67
- */
68
- toFields(): Fr[];
69
- /**
70
- * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
71
- */
72
- toNoirRepresentation(): (string | string[])[];
73
63
  toBuffer(): Buffer;
74
64
  /**
75
65
  * Returns a string representation of the TxEffect object.
@@ -90,4 +80,4 @@ export declare class PublicDataWitness {
90
80
  */
91
81
  static fromString(str: string): PublicDataWitness;
92
82
  }
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFHeEIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbkU7Ozs7O0dBS0c7QUFDSCxxQkFBYSxpQkFBaUI7SUFFMUI7O09BRUc7YUFDYSxLQUFLLEVBQUUsTUFBTTtJQUM3Qjs7O09BR0c7YUFDYSxZQUFZLEVBQUUsMEJBQTBCO0lBQ3hEOztPQUVHO2FBQ2EsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLHVCQUF1QixDQUFDO0lBYjFFO0lBQ0U7O09BRUc7SUFDYSxLQUFLLEVBQUUsTUFBTTtJQUM3Qjs7O09BR0c7SUFDYSxZQUFZLEVBQUUsMEJBQTBCO0lBQ3hEOztPQUVHO0lBQ2EsV0FBVyxFQUFFLFdBQVcsQ0FBQyxPQUFPLHVCQUF1QixDQUFDLEVBQ3RFO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFRaEI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLElBQUksRUFBRSxFQUFFLENBU3RCO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBVW5EO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FFakI7SUFFRDs7T0FFRztJQUNILFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLE1BQU0sc0JBTVo7SUFFTSxlQUFlLElBQUksaUJBQWlCLENBQUMsT0FBTyx1QkFBdUIsQ0FBQyxDQUUxRTtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGlCQUFpQixDQVFsRTtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLHFCQUU1QjtDQUNGIn0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RhdGFfd2l0bmVzcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RyZWVzL3B1YmxpY19kYXRhX3dpdG5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUd4QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVuRTs7Ozs7R0FLRztBQUNILHFCQUFhLGlCQUFpQjtJQUUxQjs7T0FFRzthQUNhLEtBQUssRUFBRSxNQUFNO0lBQzdCOzs7T0FHRzthQUNhLFlBQVksRUFBRSwwQkFBMEI7SUFDeEQ7O09BRUc7YUFDYSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sdUJBQXVCLENBQUM7SUFiMUU7SUFDRTs7T0FFRztJQUNhLEtBQUssRUFBRSxNQUFNO0lBQzdCOzs7T0FHRztJQUNhLFlBQVksRUFBRSwwQkFBMEI7SUFDeEQ7O09BRUc7SUFDYSxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sdUJBQXVCLENBQUMsRUFDdEU7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQVFoQjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQ7O09BRUc7SUFDSCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxNQUFNLHNCQU1aO0lBRU0sZUFBZSxJQUFJLGlCQUFpQixDQUFDLE9BQU8sdUJBQXVCLENBQUMsQ0FFMUU7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxpQkFBaUIsQ0FRbEU7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxxQkFFNUI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"public_data_witness.d.ts","sourceRoot":"","sources":["../../src/trees/public_data_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,iBAAiB;IAE1B;;OAEG;aACa,KAAK,EAAE,MAAM;IAC7B;;;OAGG;aACa,YAAY,EAAE,0BAA0B;IACxD;;OAEG;aACa,WAAW,EAAE,WAAW,CAAC,OAAO,uBAAuB,CAAC;IAb1E;IACE;;OAEG;IACa,KAAK,EAAE,MAAM;IAC7B;;;OAGG;IACa,YAAY,EAAE,0BAA0B;IACxD;;OAEG;IACa,WAAW,EAAE,WAAW,CAAC,OAAO,uBAAuB,CAAC,EACtE;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;QAQhB;IAED;;;OAGG;IACI,QAAQ,IAAI,EAAE,EAAE,CAStB;IAED;;OAEG;IACI,oBAAoB,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAUnD;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,MAAM,sBAMZ;IAEM,eAAe,IAAI,iBAAiB,CAAC,OAAO,uBAAuB,CAAC,CAE1E;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAQlE;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,qBAE5B;CACF"}
1
+ {"version":3,"file":"public_data_witness.d.ts","sourceRoot":"","sources":["../../src/trees/public_data_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;GAKG;AACH,qBAAa,iBAAiB;IAE1B;;OAEG;aACa,KAAK,EAAE,MAAM;IAC7B;;;OAGG;aACa,YAAY,EAAE,0BAA0B;IACxD;;OAEG;aACa,WAAW,EAAE,WAAW,CAAC,OAAO,uBAAuB,CAAC;IAb1E;IACE;;OAEG;IACa,KAAK,EAAE,MAAM;IAC7B;;;OAGG;IACa,YAAY,EAAE,0BAA0B;IACxD;;OAEG;IACa,WAAW,EAAE,WAAW,CAAC,OAAO,uBAAuB,CAAC,EACtE;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;QAQhB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,MAAM,sBAMZ;IAEM,eAAe,IAAI,iBAAiB,CAAC,OAAO,uBAAuB,CAAC,CAE1E;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB,CAQlE;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,qBAE5B;CACF"}
@@ -1,6 +1,5 @@
1
1
  import { PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { toBigIntBE } from '@aztec/foundation/bigint-buffer';
3
- import { Fr } from '@aztec/foundation/curves/bn254';
4
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
5
  import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
@@ -35,32 +34,6 @@ import { PublicDataTreeLeafPreimage } from './public_data_leaf.js';
35
34
  siblingPath: SiblingPath.schemaFor(PUBLIC_DATA_TREE_HEIGHT)
36
35
  }).transform(({ index, leafPreimage, siblingPath })=>new PublicDataWitness(index, leafPreimage, siblingPath));
37
36
  }
38
- /**
39
- * Returns a field array representation of a public data witness.
40
- * @returns A field array representation of a public data witness.
41
- */ toFields() {
42
- return [
43
- new Fr(this.index),
44
- new Fr(this.leafPreimage.leaf.slot),
45
- new Fr(this.leafPreimage.leaf.value),
46
- new Fr(this.leafPreimage.nextIndex),
47
- new Fr(this.leafPreimage.nextKey),
48
- ...this.siblingPath.toFields()
49
- ];
50
- }
51
- /**
52
- * Returns a representation of the public data witness as expected by intrinsic Noir deserialization.
53
- */ toNoirRepresentation() {
54
- // TODO(#12874): remove the stupid as string conversion by modifying ForeignCallOutput type in acvm.js
55
- return [
56
- new Fr(this.index).toString(),
57
- new Fr(this.leafPreimage.leaf.slot).toString(),
58
- new Fr(this.leafPreimage.leaf.value).toString(),
59
- new Fr(this.leafPreimage.nextKey).toString(),
60
- new Fr(this.leafPreimage.nextIndex).toString(),
61
- this.siblingPath.toFields().map((fr)=>fr.toString())
62
- ];
63
- }
64
37
  toBuffer() {
65
38
  return serializeToBuffer([
66
39
  this.index,
@@ -42,4 +42,4 @@ export declare class ExecutionPayload {
42
42
  * @throws Error if multiple payloads have different fee payers set
43
43
  */
44
44
  export declare function mergeExecutionPayloads(requests: ExecutionPayload[]): ExecutionPayload;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9leGVjdXRpb25fcGF5bG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7S0FHSztBQUNMLHFCQUFhLGdCQUFnQjtJQUV6Qix5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFlBQVksRUFBRTtJQUM1Qiw2REFBNkQ7SUFDdEQsYUFBYSxFQUFFLFdBQVcsRUFBRTtJQUNuQyx3REFBd0Q7SUFDakQsUUFBUSxFQUFFLE9BQU8sRUFBRTtJQUMxQixnRUFBZ0U7SUFDekQsZUFBZSxFQUFFLFlBQVksRUFBRTtJQUN0Qzs7O09BR0c7SUFDSSxRQUFRLENBQUM7SUFibEI7SUFDRSx5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFlBQVksRUFBRTtJQUM1Qiw2REFBNkQ7SUFDdEQsYUFBYSxFQUFFLFdBQVcsRUFBRTtJQUNuQyx3REFBd0Q7SUFDakQsUUFBUSxFQUFFLE9BQU8sRUFBRTtJQUMxQixnRUFBZ0U7SUFDekQsZUFBZSxHQUFFLFlBQVksRUFBTztJQUMzQzs7O09BR0c7SUFDSSxRQUFRLENBQUMsMEJBQWMsRUFDNUI7SUFFSixNQUFNLENBQUMsS0FBSyxxQkFFWDtDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLGdCQUFnQixDQXVCckYifQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9leGVjdXRpb25fcGF5bG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZEOzs7S0FHSztBQUNMLHFCQUFhLGdCQUFnQjtJQUV6Qix5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFlBQVksRUFBRTtJQUM1Qiw2REFBNkQ7SUFDdEQsYUFBYSxFQUFFLFdBQVcsRUFBRTtJQUNuQyx3REFBd0Q7SUFDakQsUUFBUSxFQUFFLE9BQU8sRUFBRTtJQUMxQixnRUFBZ0U7SUFDekQsZUFBZSxFQUFFLFlBQVksRUFBRTtJQUN0Qzs7O09BR0c7SUFDSSxRQUFRLENBQUM7SUFibEI7SUFDRSx5Q0FBeUM7SUFDbEMsS0FBSyxFQUFFLFlBQVksRUFBRTtJQUM1Qiw2REFBNkQ7SUFDdEQsYUFBYSxFQUFFLFdBQVcsRUFBRTtJQUNuQyx3REFBd0Q7SUFDakQsUUFBUSxFQUFFLE9BQU8sRUFBRTtJQUMxQixnRUFBZ0U7SUFDekQsZUFBZSxHQUFFLFlBQVksRUFBTztJQUMzQzs7O09BR0c7SUFDSSxRQUFRLENBQUMsMEJBQWMsRUFDNUI7SUFFSixNQUFNLENBQUMsS0FBSyxxQkFFWDtDQUNGO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLGdCQUFnQixDQXdCckYifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"execution_payload.d.ts","sourceRoot":"","sources":["../../src/tx/execution_payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;KAGK;AACL,qBAAa,gBAAgB;IAEzB,yCAAyC;IAClC,KAAK,EAAE,YAAY,EAAE;IAC5B,6DAA6D;IACtD,aAAa,EAAE,WAAW,EAAE;IACnC,wDAAwD;IACjD,QAAQ,EAAE,OAAO,EAAE;IAC1B,gEAAgE;IACzD,eAAe,EAAE,YAAY,EAAE;IACtC;;;OAGG;IACI,QAAQ,CAAC;IAblB;IACE,yCAAyC;IAClC,KAAK,EAAE,YAAY,EAAE;IAC5B,6DAA6D;IACtD,aAAa,EAAE,WAAW,EAAE;IACnC,wDAAwD;IACjD,QAAQ,EAAE,OAAO,EAAE;IAC1B,gEAAgE;IACzD,eAAe,GAAE,YAAY,EAAO;IAC3C;;;OAGG;IACI,QAAQ,CAAC,0BAAc,EAC5B;IAEJ,MAAM,CAAC,KAAK,qBAEX;CACF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAuBrF"}
1
+ {"version":3,"file":"execution_payload.d.ts","sourceRoot":"","sources":["../../src/tx/execution_payload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;KAGK;AACL,qBAAa,gBAAgB;IAEzB,yCAAyC;IAClC,KAAK,EAAE,YAAY,EAAE;IAC5B,6DAA6D;IACtD,aAAa,EAAE,WAAW,EAAE;IACnC,wDAAwD;IACjD,QAAQ,EAAE,OAAO,EAAE;IAC1B,gEAAgE;IACzD,eAAe,EAAE,YAAY,EAAE;IACtC;;;OAGG;IACI,QAAQ,CAAC;IAblB;IACE,yCAAyC;IAClC,KAAK,EAAE,YAAY,EAAE;IAC5B,6DAA6D;IACtD,aAAa,EAAE,WAAW,EAAE;IACnC,wDAAwD;IACjD,QAAQ,EAAE,OAAO,EAAE;IAC1B,gEAAgE;IACzD,eAAe,GAAE,YAAY,EAAO;IAC3C;;;OAGG;IACI,QAAQ,CAAC,0BAAc,EAC5B;IAEJ,MAAM,CAAC,KAAK,qBAEX;CACF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAwBrF"}
@@ -35,6 +35,6 @@ import { AztecAddress } from '../aztec-address/index.js';
35
35
  if (uniqueFeePayers.size > 1) {
36
36
  throw new Error(`Cannot merge execution payloads with different fee payers. Found: ${Array.from(uniqueFeePayers).join(', ')}`);
37
37
  }
38
- const feePayer = uniqueFeePayers.size === 1 ? AztecAddress.fromString(Array.from(uniqueFeePayers)[0]) : undefined;
38
+ const feePayer = uniqueFeePayers.size === 1 ? AztecAddress.fromStringUnsafe(Array.from(uniqueFeePayers)[0]) : undefined;
39
39
  return new ExecutionPayload(calls, combinedAuthWitnesses, combinedCapsules, combinedExtraHashedArgs, feePayer);
40
40
  }
@@ -4,7 +4,7 @@ import type { GasFees } from '../gas/gas_fees.js';
4
4
  export interface FeeProvider {
5
5
  /** Returns the current minimum fees for inclusion in the next block. */
6
6
  getCurrentMinFees(): Promise<GasFees>;
7
- /** Returns predicted min fees for each slot in the prediction window. */
7
+ /** Returns current min fees first, followed by predicted min fees for each slot in the prediction window. */
8
8
  getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvZmVlX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsOEVBQThFO0FBQzlFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLHdFQUF3RTtJQUN4RSxpQkFBaUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMseUVBQXlFO0lBQ3pFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3hFIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvZmVlX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsOEVBQThFO0FBQzlFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLHdFQUF3RTtJQUN4RSxpQkFBaUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsNkdBQTZHO0lBQzdHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3hFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"fee_provider.d.ts","sourceRoot":"","sources":["../../src/tx/fee_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,yEAAyE;IACzE,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxE"}
1
+ {"version":3,"file":"fee_provider.d.ts","sourceRoot":"","sources":["../../src/tx/fee_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,6GAA6G;IAC7G,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxE"}
@@ -2,22 +2,12 @@ import type { SimulationOverridesPlan } from '@aztec/ethereum/contracts';
2
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import type { SlotNumber } from '@aztec/foundation/schemas';
4
4
  import type { AztecAddress } from '../aztec-address/index.js';
5
- import type { UInt32 } from '../types/index.js';
6
- import type { CheckpointGlobalVariables, GlobalVariables } from './global_variables.js';
5
+ import type { CheckpointGlobalVariables } from './global_variables.js';
7
6
  /**
8
7
  * Interface for building global variables for Aztec blocks.
9
8
  */
10
9
  export interface GlobalVariableBuilder {
11
- /**
12
- * Builds global variables for a given block.
13
- * @param blockNumber - The block number to build global variables for.
14
- * @param coinbase - The address to receive block reward.
15
- * @param feeRecipient - The address to receive fees.
16
- * @param slotNumber - Optional. The slot number to use for the global variables. If undefined, it will be calculated.
17
- * @returns A promise that resolves to the GlobalVariables for the given block number.
18
- */
19
- buildGlobalVariables(blockNumber: UInt32, coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber?: SlotNumber): Promise<GlobalVariables>;
20
10
  /** Builds global variables that are constant throughout a checkpoint. */
21
11
  buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber, simulationOverridesPlan?: SimulationOverridesPlan): Promise<CheckpointGlobalVariables>;
22
12
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhGOztHQUVHO0FBQ0gsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQzs7Ozs7OztPQU9HO0lBQ0gsb0JBQW9CLENBQ2xCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFFBQVEsRUFBRSxVQUFVLEVBQ3BCLFlBQVksRUFBRSxZQUFZLEVBQzFCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsR0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTVCLHlFQUF5RTtJQUN6RSw4QkFBOEIsQ0FDNUIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUIsR0FDaEQsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Q0FDdkMifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLFdBQVcscUJBQXFCO0lBQ3BDLHlFQUF5RTtJQUN6RSw4QkFBOEIsQ0FDNUIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUIsR0FDaEQsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Q0FDdkMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/tx/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,yEAAyE;IACzE,8BAA8B,CAC5B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/tx/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,8BAA8B,CAC5B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
@@ -79,7 +79,7 @@ _computedKey = inspect.custom;
79
79
  }
80
80
  static fromFields(fields) {
81
81
  const reader = FieldReader.asReader(fields);
82
- return new GlobalVariables(reader.readField(), reader.readField(), BlockNumber(reader.readU32()), SlotNumber(reader.readU32()), reader.readField().toBigInt(), EthAddress.fromField(reader.readField()), AztecAddress.fromField(reader.readField()), GasFees.fromFields(reader));
82
+ return new GlobalVariables(reader.readField(), reader.readField(), BlockNumber(reader.readU32()), SlotNumber(reader.readU32()), reader.readField().toBigInt(), EthAddress.fromField(reader.readField()), AztecAddress.fromFieldUnsafe(reader.readField()), GasFees.fromFields(reader));
83
83
  }
84
84
  static getFields(fields) {
85
85
  return [
@@ -149,7 +149,7 @@ _computedKey = inspect.custom;
149
149
  blockNumber: BlockNumber(randomInt(100_000)),
150
150
  slotNumber: SlotNumber(randomInt(100_000)),
151
151
  coinbase: EthAddress.random(),
152
- feeRecipient: AztecAddress.fromField(Fr.random()),
152
+ feeRecipient: AztecAddress.fromFieldUnsafe(Fr.random()),
153
153
  gasFees: GasFees.random(),
154
154
  timestamp: BigInt(randomInt(100_000_000)),
155
155
  ...overrides
@@ -19,6 +19,14 @@ export declare class PrivateTxConstantData {
19
19
  * protocol to execute and prove the transaction.
20
20
  */
21
21
  txContext: TxContext;
22
+ /**
23
+ * Salt of the transaction request (`TxRequest.salt`).
24
+ *
25
+ * Bound to the user's `tx_request` by the Init circuit and kept constant by every subsequent kernel so that each
26
+ * app circuit's `txRequestSalt` public input can be checked against it. It is intentionally not carried into
27
+ * `TxConstantData`: it is dropped by the Tail circuits rather than being exposed by the final (hiding) kernel.
28
+ */
29
+ txRequestSalt: Fr;
22
30
  /**
23
31
  * Root of the vk tree for the protocol circuits.
24
32
  */
@@ -39,6 +47,14 @@ export declare class PrivateTxConstantData {
39
47
  * protocol to execute and prove the transaction.
40
48
  */
41
49
  txContext: TxContext,
50
+ /**
51
+ * Salt of the transaction request (`TxRequest.salt`).
52
+ *
53
+ * Bound to the user's `tx_request` by the Init circuit and kept constant by every subsequent kernel so that each
54
+ * app circuit's `txRequestSalt` public input can be checked against it. It is intentionally not carried into
55
+ * `TxConstantData`: it is dropped by the Tail circuits rather than being exposed by the final (hiding) kernel.
56
+ */
57
+ txRequestSalt: Fr,
42
58
  /**
43
59
  * Root of the vk tree for the protocol circuits.
44
60
  */
@@ -48,7 +64,7 @@ export declare class PrivateTxConstantData {
48
64
  */
49
65
  protocolContracts: ProtocolContracts);
50
66
  static from(fields: FieldsOf<PrivateTxConstantData>): PrivateTxConstantData;
51
- static getFields(fields: FieldsOf<PrivateTxConstantData>): readonly [BlockHeader, TxContext, Fr, ProtocolContracts];
67
+ static getFields(fields: FieldsOf<PrivateTxConstantData>): readonly [BlockHeader, TxContext, Fr, Fr, ProtocolContracts];
52
68
  static fromFields(fields: Fr[] | FieldReader): PrivateTxConstantData;
53
69
  toFields(): Fr[];
54
70
  static fromBuffer(buffer: Buffer | BufferReader): PrivateTxConstantData;
@@ -57,4 +73,4 @@ export declare class PrivateTxConstantData {
57
73
  getSize(): number;
58
74
  clone(): PrivateTxConstantData;
59
75
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV90eF9jb25zdGFudF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvcHJpdmF0ZV90eF9jb25zdGFudF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBd0MsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDOztHQUVHO0FBQ0gscUJBQWEscUJBQXFCO0lBRTlCLDZHQUE2RztJQUN0RyxpQkFBaUIsRUFBRSxXQUFXO0lBQ3JDOzs7Ozs7O09BT0c7SUFDSSxTQUFTLEVBQUUsU0FBUztJQUMzQjs7T0FFRztJQUNJLFVBQVUsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ0ksaUJBQWlCLEVBQUUsaUJBQWlCO0lBbkI3QztJQUNFLDZHQUE2RztJQUN0RyxpQkFBaUIsRUFBRSxXQUFXO0lBQ3JDOzs7Ozs7O09BT0c7SUFDSSxTQUFTLEVBQUUsU0FBUztJQUMzQjs7T0FFRztJQUNJLFVBQVUsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ0ksaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3pDO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHFCQUFxQixDQUFDLHlCQUVsRDtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyw0REFFdkQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcscUJBQXFCLENBUW5FO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FRdEU7SUFFRCxRQUFRLDRCQUVQO0lBRUQsTUFBTSxDQUFDLEtBQUssMEJBRVg7SUFFRCxPQUFPLFdBT047SUFFRCxLQUFLLElBQUkscUJBQXFCLENBRTdCO0NBQ0YifQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV90eF9jb25zdGFudF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvcHJpdmF0ZV90eF9jb25zdGFudF9kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBd0MsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDOztHQUVHO0FBQ0gscUJBQWEscUJBQXFCO0lBRTlCLDZHQUE2RztJQUN0RyxpQkFBaUIsRUFBRSxXQUFXO0lBQ3JDOzs7Ozs7O09BT0c7SUFDSSxTQUFTLEVBQUUsU0FBUztJQUMzQjs7Ozs7O09BTUc7SUFDSSxhQUFhLEVBQUUsRUFBRTtJQUN4Qjs7T0FFRztJQUNJLFVBQVUsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ0ksaUJBQWlCLEVBQUUsaUJBQWlCO0lBM0I3QztJQUNFLDZHQUE2RztJQUN0RyxpQkFBaUIsRUFBRSxXQUFXO0lBQ3JDOzs7Ozs7O09BT0c7SUFDSSxTQUFTLEVBQUUsU0FBUztJQUMzQjs7Ozs7O09BTUc7SUFDSSxhQUFhLEVBQUUsRUFBRTtJQUN4Qjs7T0FFRztJQUNJLFVBQVUsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ0ksaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3pDO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHFCQUFxQixDQUFDLHlCQUVsRDtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxnRUFRdkQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEdBQUcscUJBQXFCLENBU25FO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FTdEU7SUFFRCxRQUFRLDRCQUVQO0lBRUQsTUFBTSxDQUFDLEtBQUssMEJBUVg7SUFFRCxPQUFPLFdBUU47SUFFRCxLQUFLLElBQUkscUJBQXFCLENBRTdCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"private_tx_constant_data.d.ts","sourceRoot":"","sources":["../../src/tx/private_tx_constant_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,6GAA6G;IACtG,iBAAiB,EAAE,WAAW;IACrC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;IAnB7C;IACE,6GAA6G;IACtG,iBAAiB,EAAE,WAAW;IACrC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB,EACzC;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,yBAElD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,4DAEvD;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,qBAAqB,CAQnE;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAQtE;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,KAAK,0BAEX;IAED,OAAO,WAON;IAED,KAAK,IAAI,qBAAqB,CAE7B;CACF"}
1
+ {"version":3,"file":"private_tx_constant_data.d.ts","sourceRoot":"","sources":["../../src/tx/private_tx_constant_data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAC9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,6GAA6G;IACtG,iBAAiB,EAAE,WAAW;IACrC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;;;;;OAMG;IACI,aAAa,EAAE,EAAE;IACxB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;IA3B7C;IACE,6GAA6G;IACtG,iBAAiB,EAAE,WAAW;IACrC;;;;;;;OAOG;IACI,SAAS,EAAE,SAAS;IAC3B;;;;;;OAMG;IACI,aAAa,EAAE,EAAE;IACxB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB,EACzC;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,yBAElD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,qBAAqB,CAAC,gEAQvD;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,GAAG,qBAAqB,CASnE;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAStE;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,KAAK,0BAQX;IAED,OAAO,WAQN;IAED,KAAK,IAAI,qBAAqB,CAE7B;CACF"}