@aztec/stdlib 1.2.0 → 2.0.0-nightly.20250813

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 (324) hide show
  1. package/dest/abi/abi.d.ts +0 -67
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +1 -14
  4. package/dest/abi/authorization_selector.d.ts +52 -0
  5. package/dest/abi/authorization_selector.d.ts.map +1 -0
  6. package/dest/abi/authorization_selector.js +70 -0
  7. package/dest/abi/contract_artifact.d.ts.map +1 -1
  8. package/dest/abi/contract_artifact.js +0 -40
  9. package/dest/abi/decoder.d.ts.map +1 -1
  10. package/dest/abi/decoder.js +3 -6
  11. package/dest/abi/index.d.ts +1 -0
  12. package/dest/abi/index.d.ts.map +1 -1
  13. package/dest/abi/index.js +1 -0
  14. package/dest/avm/avm.d.ts +278 -412
  15. package/dest/avm/avm.d.ts.map +1 -1
  16. package/dest/avm/avm.js +12 -12
  17. package/dest/avm/avm_proving_request.d.ts +160 -186
  18. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  19. package/dest/block/l2_block.d.ts +8 -0
  20. package/dest/block/l2_block.d.ts.map +1 -1
  21. package/dest/block/l2_block.js +9 -0
  22. package/dest/block/l2_block_source.d.ts +446 -2
  23. package/dest/block/l2_block_source.d.ts.map +1 -1
  24. package/dest/block/l2_block_source.js +29 -0
  25. package/dest/block/proposal/committee_attestation.d.ts +3 -1
  26. package/dest/block/proposal/committee_attestation.d.ts.map +1 -1
  27. package/dest/block/proposal/committee_attestation.js +3 -0
  28. package/dest/block/published_l2_block.d.ts +2 -1
  29. package/dest/block/published_l2_block.d.ts.map +1 -1
  30. package/dest/block/published_l2_block.js +6 -1
  31. package/dest/contract/contract_instance.d.ts +3 -3
  32. package/dest/contract/contract_instance.d.ts.map +1 -1
  33. package/dest/contract/contract_instance.js +3 -3
  34. package/dest/contract/interfaces/contract_class.d.ts +2 -2
  35. package/dest/contract/interfaces/protocol_contract_addresses.d.ts +9 -9
  36. package/dest/contract/interfaces/protocol_contract_addresses.d.ts.map +1 -1
  37. package/dest/contract/interfaces/protocol_contract_addresses.js +4 -4
  38. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  39. package/dest/contract/private_function_membership_proof.js +1 -1
  40. package/dest/contract/utility_function_membership_proof.d.ts +1 -1
  41. package/dest/contract/utility_function_membership_proof.js +1 -1
  42. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts +20 -0
  43. package/dest/delayed_public_mutable/delayed_public_mutable_values.d.ts.map +1 -0
  44. package/dest/{shared_mutable/shared_mutable_values.js → delayed_public_mutable/delayed_public_mutable_values.js} +9 -9
  45. package/dest/{shared_mutable/shared_mutable_values_with_hash.d.ts → delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts} +6 -6
  46. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.d.ts.map +1 -0
  47. package/dest/delayed_public_mutable/delayed_public_mutable_values_with_hash.js +30 -0
  48. package/dest/delayed_public_mutable/index.d.ts +5 -0
  49. package/dest/delayed_public_mutable/index.d.ts.map +1 -0
  50. package/dest/delayed_public_mutable/index.js +4 -0
  51. package/dest/delayed_public_mutable/scheduled_delay_change.d.ts.map +1 -0
  52. package/dest/delayed_public_mutable/scheduled_value_change.d.ts.map +1 -0
  53. package/dest/gas/gas.d.ts +1 -0
  54. package/dest/gas/gas.d.ts.map +1 -1
  55. package/dest/gas/gas.js +3 -0
  56. package/dest/hash/hash.d.ts.map +1 -1
  57. package/dest/hash/hash.js +1 -4
  58. package/dest/interfaces/archiver.d.ts.map +1 -1
  59. package/dest/interfaces/archiver.js +4 -2
  60. package/dest/interfaces/aztec-node-admin.d.ts +211 -8
  61. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  62. package/dest/interfaces/aztec-node-admin.js +9 -3
  63. package/dest/interfaces/configs.d.ts +27 -0
  64. package/dest/interfaces/configs.d.ts.map +1 -1
  65. package/dest/interfaces/configs.js +6 -1
  66. package/dest/interfaces/get_logs_response.d.ts +1 -1
  67. package/dest/interfaces/proving-job.d.ts +166 -192
  68. package/dest/interfaces/proving-job.d.ts.map +1 -1
  69. package/dest/interfaces/pxe.d.ts +3 -1
  70. package/dest/interfaces/pxe.d.ts.map +1 -1
  71. package/dest/interfaces/pxe.js +1 -1
  72. package/dest/interfaces/server.d.ts +4 -2
  73. package/dest/interfaces/server.d.ts.map +1 -1
  74. package/dest/interfaces/server.js +4 -2
  75. package/dest/interfaces/slasher.d.ts +86 -0
  76. package/dest/interfaces/slasher.d.ts.map +1 -0
  77. package/dest/interfaces/slasher.js +23 -0
  78. package/dest/interfaces/tx_provider.d.ts +24 -0
  79. package/dest/interfaces/tx_provider.d.ts.map +1 -0
  80. package/dest/kernel/claimed_length_array.d.ts +34 -0
  81. package/dest/kernel/claimed_length_array.d.ts.map +1 -0
  82. package/dest/kernel/claimed_length_array.js +58 -0
  83. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -6
  84. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  85. package/dest/kernel/hints/build_note_hash_read_request_hints.js +18 -20
  86. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts +7 -10
  87. package/dest/kernel/hints/build_nullifier_read_request_hints.d.ts.map +1 -1
  88. package/dest/kernel/hints/build_nullifier_read_request_hints.js +17 -32
  89. package/dest/kernel/hints/build_transient_data_hints.d.ts +4 -3
  90. package/dest/kernel/hints/build_transient_data_hints.d.ts.map +1 -1
  91. package/dest/kernel/hints/build_transient_data_hints.js +9 -10
  92. package/dest/kernel/hints/index.d.ts +1 -2
  93. package/dest/kernel/hints/index.d.ts.map +1 -1
  94. package/dest/kernel/hints/index.js +1 -2
  95. package/dest/kernel/hints/note_hash_read_request_hints.d.ts.map +1 -1
  96. package/dest/kernel/hints/note_hash_read_request_hints.js +4 -4
  97. package/dest/kernel/hints/nullifier_read_request_hints.d.ts.map +1 -1
  98. package/dest/kernel/hints/nullifier_read_request_hints.js +4 -4
  99. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +5 -5
  100. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  101. package/dest/kernel/hints/private_kernel_reset_hints.js +9 -9
  102. package/dest/kernel/hints/read_request_hints.d.ts +17 -17
  103. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  104. package/dest/kernel/hints/read_request_hints.js +28 -28
  105. package/dest/kernel/hints/{transient_data_index_hint.d.ts → transient_data_squashing_hint.d.ts} +5 -5
  106. package/dest/kernel/hints/transient_data_squashing_hint.d.ts.map +1 -0
  107. package/dest/kernel/hints/{transient_data_index_hint.js → transient_data_squashing_hint.js} +5 -5
  108. package/dest/kernel/index.d.ts +1 -0
  109. package/dest/kernel/index.d.ts.map +1 -1
  110. package/dest/kernel/index.js +1 -0
  111. package/dest/kernel/private_accumulated_data.d.ts +16 -15
  112. package/dest/kernel/private_accumulated_data.d.ts.map +1 -1
  113. package/dest/kernel/private_accumulated_data.js +3 -3
  114. package/dest/kernel/private_call_data.d.ts +4 -4
  115. package/dest/kernel/private_call_data.d.ts.map +1 -1
  116. package/dest/kernel/private_call_data.js +2 -2
  117. package/dest/kernel/private_circuit_public_inputs.d.ts +26 -25
  118. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  119. package/dest/kernel/private_circuit_public_inputs.js +33 -15
  120. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +9 -0
  121. package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
  122. package/dest/kernel/private_kernel_circuit_public_inputs.js +8 -4
  123. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  124. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  125. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +9 -6
  126. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +11 -4
  127. package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
  128. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +20 -18
  129. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +4 -4
  130. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
  131. package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +9 -10
  132. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +11 -11
  133. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
  134. package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +11 -12
  135. package/dest/kernel/private_validation_requests.d.ts +8 -20
  136. package/dest/kernel/private_validation_requests.d.ts.map +1 -1
  137. package/dest/kernel/private_validation_requests.js +9 -21
  138. package/dest/kernel/utils/order_and_comparison.d.ts +0 -3
  139. package/dest/kernel/utils/order_and_comparison.d.ts.map +1 -1
  140. package/dest/kernel/utils/order_and_comparison.js +0 -19
  141. package/dest/logs/extended_public_log.d.ts +1 -1
  142. package/dest/logs/shared_secret_derivation.d.ts +1 -1
  143. package/dest/logs/shared_secret_derivation.js +1 -1
  144. package/dest/messaging/l2_to_l1_membership.d.ts +4 -1
  145. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  146. package/dest/messaging/l2_to_l1_membership.js +49 -54
  147. package/dest/messaging/l2_to_l1_message.d.ts +2 -0
  148. package/dest/messaging/l2_to_l1_message.d.ts.map +1 -1
  149. package/dest/messaging/l2_to_l1_message.js +7 -0
  150. package/dest/note/notes_filter.d.ts +5 -2
  151. package/dest/note/notes_filter.d.ts.map +1 -1
  152. package/dest/note/notes_filter.js +1 -1
  153. package/dest/p2p/attestation_utils.d.ts +10 -0
  154. package/dest/p2p/attestation_utils.d.ts.map +1 -0
  155. package/dest/p2p/attestation_utils.js +21 -0
  156. package/dest/p2p/block_attestation.d.ts +3 -4
  157. package/dest/p2p/block_attestation.d.ts.map +1 -1
  158. package/dest/p2p/block_attestation.js +3 -4
  159. package/dest/p2p/block_proposal.d.ts +8 -1
  160. package/dest/p2p/block_proposal.d.ts.map +1 -1
  161. package/dest/p2p/block_proposal.js +21 -8
  162. package/dest/p2p/consensus_payload.d.ts +3 -11
  163. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  164. package/dest/p2p/consensus_payload.js +13 -22
  165. package/dest/p2p/index.d.ts +1 -0
  166. package/dest/p2p/index.d.ts.map +1 -1
  167. package/dest/p2p/index.js +1 -0
  168. package/dest/p2p/topic_type.d.ts.map +1 -1
  169. package/dest/p2p/topic_type.js +5 -3
  170. package/dest/rollup/block_root_rollup.d.ts +1 -1
  171. package/dest/slashing/index.d.ts +51 -0
  172. package/dest/slashing/index.d.ts.map +1 -0
  173. package/dest/slashing/index.js +54 -0
  174. package/dest/stats/stats.d.ts +2 -2
  175. package/dest/stats/stats.d.ts.map +1 -1
  176. package/dest/tests/factories.d.ts +0 -2
  177. package/dest/tests/factories.d.ts.map +1 -1
  178. package/dest/tests/factories.js +25 -24
  179. package/dest/tests/mocks.d.ts +2 -0
  180. package/dest/tests/mocks.d.ts.map +1 -1
  181. package/dest/tests/mocks.js +31 -22
  182. package/dest/tx/index.d.ts +0 -1
  183. package/dest/tx/index.d.ts.map +1 -1
  184. package/dest/tx/index.js +0 -1
  185. package/dest/tx/private_execution_result.d.ts +2 -2
  186. package/dest/tx/private_execution_result.d.ts.map +1 -1
  187. package/dest/tx/private_execution_result.js +11 -11
  188. package/dest/tx/processed_tx.d.ts +2 -2
  189. package/dest/tx/processed_tx.d.ts.map +1 -1
  190. package/dest/tx/processed_tx.js +4 -4
  191. package/dest/tx/proven_tx.d.ts +1 -1
  192. package/dest/tx/proven_tx.d.ts.map +1 -1
  193. package/dest/tx/proven_tx.js +7 -3
  194. package/dest/tx/simulated_tx.d.ts +11 -17
  195. package/dest/tx/simulated_tx.d.ts.map +1 -1
  196. package/dest/tx/simulated_tx.js +12 -12
  197. package/dest/tx/tx.d.ts +25 -25
  198. package/dest/tx/tx.d.ts.map +1 -1
  199. package/dest/tx/tx.js +60 -48
  200. package/dest/tx/tx_effect.d.ts +2 -2
  201. package/dest/tx/tx_effect.d.ts.map +1 -1
  202. package/dest/tx/tx_effect.js +3 -18
  203. package/dest/tx/tx_execution_request.js +2 -2
  204. package/dest/tx/tx_hash.d.ts +7 -0
  205. package/dest/tx/tx_hash.d.ts.map +1 -1
  206. package/dest/tx/tx_hash.js +19 -1
  207. package/dest/tx/tx_request.d.ts +5 -5
  208. package/dest/tx/tx_request.d.ts.map +1 -1
  209. package/dest/tx/tx_request.js +7 -7
  210. package/dest/tx/validator/error_texts.d.ts +1 -0
  211. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  212. package/dest/tx/validator/error_texts.js +1 -0
  213. package/dest/tx/validator/tx_validator.d.ts +6 -4
  214. package/dest/tx/validator/tx_validator.d.ts.map +1 -1
  215. package/dest/tx/validator/tx_validator.js +3 -0
  216. package/dest/versioning/versioning.d.ts.map +1 -1
  217. package/dest/vks/verification_key.d.ts.map +1 -1
  218. package/dest/vks/verification_key.js +4 -4
  219. package/package.json +10 -9
  220. package/src/abi/abi.ts +0 -38
  221. package/src/abi/authorization_selector.ts +95 -0
  222. package/src/abi/contract_artifact.ts +0 -49
  223. package/src/abi/decoder.ts +3 -6
  224. package/src/abi/index.ts +1 -0
  225. package/src/avm/avm.ts +7 -9
  226. package/src/block/l2_block.ts +18 -0
  227. package/src/block/l2_block_source.ts +70 -1
  228. package/src/block/proposal/committee_attestation.ts +5 -1
  229. package/src/block/published_l2_block.ts +14 -5
  230. package/src/contract/contract_instance.ts +3 -3
  231. package/src/contract/interfaces/protocol_contract_addresses.ts +5 -10
  232. package/src/contract/private_function_membership_proof.ts +1 -1
  233. package/src/contract/utility_function_membership_proof.ts +1 -1
  234. package/src/{shared_mutable/shared_mutable_values.ts → delayed_public_mutable/delayed_public_mutable_values.ts} +10 -10
  235. package/src/delayed_public_mutable/delayed_public_mutable_values_with_hash.ts +38 -0
  236. package/src/delayed_public_mutable/index.ts +4 -0
  237. package/src/gas/gas.ts +4 -0
  238. package/src/hash/hash.ts +1 -4
  239. package/src/interfaces/archiver.ts +3 -1
  240. package/src/interfaces/aztec-node-admin.ts +19 -8
  241. package/src/interfaces/configs.ts +17 -0
  242. package/src/interfaces/pxe.ts +4 -2
  243. package/src/interfaces/server.ts +4 -2
  244. package/src/interfaces/slasher.ts +49 -0
  245. package/src/interfaces/tx_provider.ts +16 -0
  246. package/src/kernel/claimed_length_array.ts +104 -0
  247. package/src/kernel/hints/build_note_hash_read_request_hints.ts +28 -30
  248. package/src/kernel/hints/build_nullifier_read_request_hints.ts +28 -59
  249. package/src/kernel/hints/build_transient_data_hints.ts +12 -14
  250. package/src/kernel/hints/index.ts +1 -2
  251. package/src/kernel/hints/note_hash_read_request_hints.ts +4 -16
  252. package/src/kernel/hints/nullifier_read_request_hints.ts +4 -16
  253. package/src/kernel/hints/private_kernel_reset_hints.ts +7 -7
  254. package/src/kernel/hints/read_request_hints.ts +22 -22
  255. package/src/kernel/hints/{transient_data_index_hint.ts → transient_data_squashing_hint.ts} +5 -5
  256. package/src/kernel/index.ts +1 -0
  257. package/src/kernel/private_accumulated_data.ts +23 -23
  258. package/src/kernel/private_call_data.ts +3 -3
  259. package/src/kernel/private_circuit_public_inputs.ts +92 -68
  260. package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -1
  261. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +13 -4
  262. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +20 -20
  263. package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +7 -7
  264. package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +16 -10
  265. package/src/kernel/private_validation_requests.ts +19 -50
  266. package/src/kernel/utils/order_and_comparison.ts +0 -25
  267. package/src/logs/shared_secret_derivation.ts +1 -1
  268. package/src/messaging/l2_to_l1_membership.ts +76 -85
  269. package/src/messaging/l2_to_l1_message.ts +9 -0
  270. package/src/note/notes_filter.ts +6 -3
  271. package/src/p2p/attestation_utils.ts +35 -0
  272. package/src/p2p/block_attestation.ts +3 -4
  273. package/src/p2p/block_proposal.ts +23 -5
  274. package/src/p2p/consensus_payload.ts +10 -29
  275. package/src/p2p/index.ts +1 -0
  276. package/src/p2p/topic_type.ts +3 -1
  277. package/src/slashing/index.ts +74 -0
  278. package/src/stats/stats.ts +2 -2
  279. package/src/tests/factories.ts +37 -27
  280. package/src/tests/mocks.ts +24 -22
  281. package/src/tx/index.ts +0 -1
  282. package/src/tx/private_execution_result.ts +11 -9
  283. package/src/tx/processed_tx.ts +6 -6
  284. package/src/tx/proven_tx.ts +7 -8
  285. package/src/tx/simulated_tx.ts +13 -19
  286. package/src/tx/tx.ts +70 -57
  287. package/src/tx/tx_effect.ts +5 -20
  288. package/src/tx/tx_execution_request.ts +2 -2
  289. package/src/tx/tx_hash.ts +21 -1
  290. package/src/tx/tx_request.ts +7 -6
  291. package/src/tx/validator/error_texts.ts +1 -0
  292. package/src/tx/validator/tx_validator.ts +5 -0
  293. package/src/versioning/versioning.ts +0 -3
  294. package/src/vks/verification_key.ts +4 -7
  295. package/dest/interfaces/tx-collector.d.ts +0 -15
  296. package/dest/interfaces/tx-collector.d.ts.map +0 -1
  297. package/dest/kernel/hints/rollup_validation_requests.d.ts +0 -34
  298. package/dest/kernel/hints/rollup_validation_requests.d.ts.map +0 -1
  299. package/dest/kernel/hints/rollup_validation_requests.js +0 -55
  300. package/dest/kernel/hints/transient_data_index_hint.d.ts.map +0 -1
  301. package/dest/shared_mutable/index.d.ts +0 -5
  302. package/dest/shared_mutable/index.d.ts.map +0 -1
  303. package/dest/shared_mutable/index.js +0 -4
  304. package/dest/shared_mutable/scheduled_delay_change.d.ts.map +0 -1
  305. package/dest/shared_mutable/scheduled_value_change.d.ts.map +0 -1
  306. package/dest/shared_mutable/shared_mutable_values.d.ts +0 -20
  307. package/dest/shared_mutable/shared_mutable_values.d.ts.map +0 -1
  308. package/dest/shared_mutable/shared_mutable_values_with_hash.d.ts.map +0 -1
  309. package/dest/shared_mutable/shared_mutable_values_with_hash.js +0 -30
  310. package/dest/tx/include_by_timestamp.d.ts +0 -54
  311. package/dest/tx/include_by_timestamp.d.ts.map +0 -1
  312. package/dest/tx/include_by_timestamp.js +0 -72
  313. package/src/interfaces/tx-collector.ts +0 -17
  314. package/src/kernel/hints/rollup_validation_requests.ts +0 -71
  315. package/src/shared_mutable/index.ts +0 -4
  316. package/src/shared_mutable/shared_mutable_values_with_hash.ts +0 -38
  317. package/src/tx/include_by_timestamp.ts +0 -90
  318. /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.d.ts +0 -0
  319. /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.js +0 -0
  320. /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.d.ts +0 -0
  321. /package/dest/{shared_mutable → delayed_public_mutable}/scheduled_value_change.js +0 -0
  322. /package/dest/interfaces/{tx-collector.js → tx_provider.js} +0 -0
  323. /package/src/{shared_mutable → delayed_public_mutable}/scheduled_delay_change.ts +0 -0
  324. /package/src/{shared_mutable → delayed_public_mutable}/scheduled_value_change.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { TxConstantData } from '../tx/tx_constant_data.js';
6
6
  import { PrivateAccumulatedData } from './private_accumulated_data.js';
@@ -15,6 +15,7 @@ import { PublicCallRequest } from './public_call_request.js';
15
15
  end;
16
16
  publicTeardownCallRequest;
17
17
  feePayer;
18
+ includeByTimestamp;
18
19
  isPrivateOnly;
19
20
  claimedFirstNullifier;
20
21
  constructor(/**
@@ -30,6 +31,8 @@ import { PublicCallRequest } from './public_call_request.js';
30
31
  */ publicTeardownCallRequest, /**
31
32
  * The address of the fee payer for the transaction
32
33
  */ feePayer, /**
34
+ * The timestamp by which the transaction must be included in a block.
35
+ */ includeByTimestamp, /**
33
36
  * Wether this is a private only tx or not
34
37
  */ isPrivateOnly, /**
35
38
  * The nullifier that will be used for nonce generation
@@ -40,6 +43,7 @@ import { PublicCallRequest } from './public_call_request.js';
40
43
  this.end = end;
41
44
  this.publicTeardownCallRequest = publicTeardownCallRequest;
42
45
  this.feePayer = feePayer;
46
+ this.includeByTimestamp = includeByTimestamp;
43
47
  this.isPrivateOnly = isPrivateOnly;
44
48
  this.claimedFirstNullifier = claimedFirstNullifier;
45
49
  }
@@ -50,7 +54,7 @@ import { PublicCallRequest } from './public_call_request.js';
50
54
  return this.toBuffer();
51
55
  }
52
56
  toBuffer() {
53
- return serializeToBuffer(this.constants, this.minRevertibleSideEffectCounter, this.validationRequests, this.end, this.publicTeardownCallRequest, this.feePayer, this.isPrivateOnly, this.claimedFirstNullifier);
57
+ return serializeToBuffer(this.constants, this.minRevertibleSideEffectCounter, this.validationRequests, this.end, this.publicTeardownCallRequest, this.feePayer, bigintToUInt64BE(this.includeByTimestamp), this.isPrivateOnly, this.claimedFirstNullifier);
54
58
  }
55
59
  /**
56
60
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
@@ -58,9 +62,9 @@ import { PublicCallRequest } from './public_call_request.js';
58
62
  * @returns A new instance of PrivateKernelInnerCircuitPublicInputs.
59
63
  */ static fromBuffer(buffer) {
60
64
  const reader = BufferReader.asReader(buffer);
61
- return new PrivateKernelCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(Fr), reader.readObject(PrivateValidationRequests), reader.readObject(PrivateAccumulatedData), reader.readObject(PublicCallRequest), reader.readObject(AztecAddress), reader.readBoolean(), reader.readObject(Fr));
65
+ return new PrivateKernelCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(Fr), reader.readObject(PrivateValidationRequests), reader.readObject(PrivateAccumulatedData), reader.readObject(PublicCallRequest), reader.readObject(AztecAddress), reader.readUInt64(), reader.readBoolean(), reader.readObject(Fr));
62
66
  }
63
67
  static empty() {
64
- return new PrivateKernelCircuitPublicInputs(TxConstantData.empty(), Fr.zero(), PrivateValidationRequests.empty(), PrivateAccumulatedData.empty(), PublicCallRequest.empty(), AztecAddress.ZERO, false, Fr.zero());
68
+ return new PrivateKernelCircuitPublicInputs(TxConstantData.empty(), Fr.zero(), PrivateValidationRequests.empty(), PrivateAccumulatedData.empty(), PublicCallRequest.empty(), AztecAddress.ZERO, 0n, false, Fr.zero());
65
69
  }
66
70
  }
@@ -1,4 +1,5 @@
1
1
  import { BufferReader } from '@aztec/foundation/serialize';
2
+ import type { UInt64 } from '../types/shared.js';
2
3
  import { PaddedSideEffectAmounts } from './padded_side_effects.js';
3
4
  import { PrivateKernelData } from './private_kernel_data.js';
4
5
  /**
@@ -13,6 +14,10 @@ export declare class PrivateKernelTailCircuitPrivateInputs {
13
14
  * The number of the padded side effects.
14
15
  */
15
16
  paddedSideEffectAmounts: PaddedSideEffectAmounts;
17
+ /**
18
+ * The timestamp by which the transaction must be included in a block.
19
+ */
20
+ includeByTimestampUpperBound: UInt64;
16
21
  constructor(
17
22
  /**
18
23
  * The previous kernel data
@@ -21,7 +26,11 @@ export declare class PrivateKernelTailCircuitPrivateInputs {
21
26
  /**
22
27
  * The number of the padded side effects.
23
28
  */
24
- paddedSideEffectAmounts: PaddedSideEffectAmounts);
29
+ paddedSideEffectAmounts: PaddedSideEffectAmounts,
30
+ /**
31
+ * The timestamp by which the transaction must be included in a block.
32
+ */
33
+ includeByTimestampUpperBound: UInt64);
25
34
  isForPublic(): boolean;
26
35
  /**
27
36
  * Serialize this as a buffer.
@@ -1 +1 @@
1
- {"version":3,"file":"private_kernel_tail_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_tail_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D;;GAEG;AACH,qBAAa,qCAAqC;IAE9C;;OAEG;IACI,cAAc,EAAE,iBAAiB;IACxC;;OAEG;IACI,uBAAuB,EAAE,uBAAuB;;IAPvD;;OAEG;IACI,cAAc,EAAE,iBAAiB;IACxC;;OAEG;IACI,uBAAuB,EAAE,uBAAuB;IAGzD,WAAW;IAOX;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qCAAqC;CAOxF"}
1
+ {"version":3,"file":"private_kernel_tail_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_tail_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,qCAAqC;IAE9C;;OAEG;IACI,cAAc,EAAE,iBAAiB;IACxC;;OAEG;IACI,uBAAuB,EAAE,uBAAuB;IACvD;;OAEG;IACI,4BAA4B,EAAE,MAAM;;IAX3C;;OAEG;IACI,cAAc,EAAE,iBAAiB;IACxC;;OAEG;IACI,uBAAuB,EAAE,uBAAuB;IACvD;;OAEG;IACI,4BAA4B,EAAE,MAAM;IAG7C,WAAW;IAOX;;;OAGG;IACH,QAAQ;IAQR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qCAAqC;CAQxF"}
@@ -1,28 +1,31 @@
1
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
1
+ import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
2
2
  import { PaddedSideEffectAmounts } from './padded_side_effects.js';
3
3
  import { PrivateKernelData } from './private_kernel_data.js';
4
- import { countAccumulatedItems } from './utils/order_and_comparison.js';
5
4
  /**
6
5
  * Input to the private kernel circuit - tail call.
7
6
  */ export class PrivateKernelTailCircuitPrivateInputs {
8
7
  previousKernel;
9
8
  paddedSideEffectAmounts;
9
+ includeByTimestampUpperBound;
10
10
  constructor(/**
11
11
  * The previous kernel data
12
12
  */ previousKernel, /**
13
13
  * The number of the padded side effects.
14
- */ paddedSideEffectAmounts){
14
+ */ paddedSideEffectAmounts, /**
15
+ * The timestamp by which the transaction must be included in a block.
16
+ */ includeByTimestampUpperBound){
15
17
  this.previousKernel = previousKernel;
16
18
  this.paddedSideEffectAmounts = paddedSideEffectAmounts;
19
+ this.includeByTimestampUpperBound = includeByTimestampUpperBound;
17
20
  }
18
21
  isForPublic() {
19
- return countAccumulatedItems(this.previousKernel.publicInputs.end.publicCallRequests) > 0 || !this.previousKernel.publicInputs.publicTeardownCallRequest.isEmpty();
22
+ return this.previousKernel.publicInputs.end.publicCallRequests.claimedLength > 0 || !this.previousKernel.publicInputs.publicTeardownCallRequest.isEmpty();
20
23
  }
21
24
  /**
22
25
  * Serialize this as a buffer.
23
26
  * @returns The buffer.
24
27
  */ toBuffer() {
25
- return serializeToBuffer(this.previousKernel, this.paddedSideEffectAmounts);
28
+ return serializeToBuffer(this.previousKernel, this.paddedSideEffectAmounts, bigintToUInt64BE(this.includeByTimestampUpperBound));
26
29
  }
27
30
  /**
28
31
  * Deserializes from a buffer or reader.
@@ -30,6 +33,6 @@ import { countAccumulatedItems } from './utils/order_and_comparison.js';
30
33
  * @returns The deserialized instance.
31
34
  */ static fromBuffer(buffer) {
32
35
  const reader = BufferReader.asReader(buffer);
33
- return new PrivateKernelTailCircuitPrivateInputs(reader.readObject(PrivateKernelData), reader.readObject(PaddedSideEffectAmounts));
36
+ return new PrivateKernelTailCircuitPrivateInputs(reader.readObject(PrivateKernelData), reader.readObject(PaddedSideEffectAmounts), reader.readUInt64());
34
37
  }
35
38
  }
@@ -4,7 +4,7 @@ import { AztecAddress } from '../aztec-address/index.js';
4
4
  import { Gas } from '../gas/gas.js';
5
5
  import type { PrivateLog } from '../logs/index.js';
6
6
  import { TxConstantData } from '../tx/tx_constant_data.js';
7
- import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
7
+ import type { UInt64 } from '../types/shared.js';
8
8
  import type { ScopedLogHash } from './log_hash.js';
9
9
  import { PrivateToPublicAccumulatedData } from './private_to_public_accumulated_data.js';
10
10
  import { PrivateToPublicKernelCircuitPublicInputs } from './private_to_public_kernel_circuit_public_inputs.js';
@@ -58,7 +58,6 @@ export declare class PrivateKernelTailCircuitPublicInputs {
58
58
  * Data which is not modified by the circuits.
59
59
  */
60
60
  constants: TxConstantData;
61
- rollupValidationRequests: RollupValidationRequests;
62
61
  /**
63
62
  * The accumulated gas used after private execution.
64
63
  * If the tx has a teardown call request, the teardown gas limits will also be included.
@@ -68,13 +67,17 @@ export declare class PrivateKernelTailCircuitPublicInputs {
68
67
  * The address of the fee payer for the transaction.
69
68
  */
70
69
  feePayer: AztecAddress;
70
+ /**
71
+ * The timestamp by which the transaction must be included in a block.
72
+ */
73
+ includeByTimestamp: UInt64;
71
74
  forPublic?: PartialPrivateTailPublicInputsForPublic | undefined;
72
75
  forRollup?: PartialPrivateTailPublicInputsForRollup | undefined;
73
76
  constructor(
74
77
  /**
75
78
  * Data which is not modified by the circuits.
76
79
  */
77
- constants: TxConstantData, rollupValidationRequests: RollupValidationRequests,
80
+ constants: TxConstantData,
78
81
  /**
79
82
  * The accumulated gas used after private execution.
80
83
  * If the tx has a teardown call request, the teardown gas limits will also be included.
@@ -83,7 +86,11 @@ export declare class PrivateKernelTailCircuitPublicInputs {
83
86
  /**
84
87
  * The address of the fee payer for the transaction.
85
88
  */
86
- feePayer: AztecAddress, forPublic?: PartialPrivateTailPublicInputsForPublic | undefined, forRollup?: PartialPrivateTailPublicInputsForRollup | undefined);
89
+ feePayer: AztecAddress,
90
+ /**
91
+ * The timestamp by which the transaction must be included in a block.
92
+ */
93
+ includeByTimestamp: UInt64, forPublic?: PartialPrivateTailPublicInputsForPublic | undefined, forRollup?: PartialPrivateTailPublicInputsForRollup | undefined);
87
94
  static get schema(): import("zod").ZodType<PrivateKernelTailCircuitPublicInputs, any, string>;
88
95
  toJSON(): Buffer<ArrayBufferLike>;
89
96
  getSize(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"private_kernel_tail_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_tail_circuit_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,wCAAwC,EAAE,MAAM,qDAAqD,CAAC;AAC/G,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,wCAAwC,EAAE,MAAM,qDAAqD,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,qBAAa,uCAAuC;IAEhD;;OAEG;IACI,4BAA4B,EAAE,8BAA8B;IACnE;;OAEG;IACI,yBAAyB,EAAE,8BAA8B;IAChE;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;;IAXnD;;OAEG;IACI,4BAA4B,EAAE,8BAA8B;IACnE;;OAEG;IACI,yBAAyB,EAAE,8BAA8B;IAChE;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;IAGrD,OAAO;IAQP,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,YAEhB;IAED,IAAI,aAAa,YAEhB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uCAAuC;IASzF,QAAQ;IAQR,MAAM,CAAC,KAAK;CAOb;AAED,qBAAa,uCAAuC;IAC/B,GAAG,EAAE,8BAA8B;gBAAnC,GAAG,EAAE,8BAA8B;IAEtD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uCAAuC;IAKzF,OAAO;IAIP,QAAQ;IAIR,MAAM,CAAC,KAAK;CAGb;AAED,qBAAa,oCAAoC;IAE7C;;OAEG;IACI,SAAS,EAAE,cAAc;IACzB,wBAAwB,EAAE,wBAAwB;IACzD;;;OAGG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAEtB,SAAS,CAAC,EAAE,uCAAuC;IACnD,SAAS,CAAC,EAAE,uCAAuC;;IAhB1D;;OAEG;IACI,SAAS,EAAE,cAAc,EACzB,wBAAwB,EAAE,wBAAwB;IACzD;;;OAGG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY,EAEtB,SAAS,CAAC,EAAE,uCAAuC,YAAA,EACnD,SAAS,CAAC,EAAE,uCAAuC,YAAA;IAY5D,MAAM,KAAK,MAAM,6EAEhB;IAED,MAAM;IAIN,OAAO;IAUP,0CAA0C;IAe1C,0CAA0C;IAmB1C,0BAA0B;IAQ1B,uCAAuC;IAIvC,oCAAoC;IAIpC,4BAA4B;IAI5B,kCAAkC;IAMlC,+BAA+B;IAI/B,4BAA4B;IAK5B,qBAAqB;IAUrB,qBAAqB;IAUrB,sBAAsB;IAUtB,kCAAkC;IAUlC,iCAAiC;IASjC,2BAA2B;IAQ3B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,oCAAoC;IAatF,QAAQ;IAYR,MAAM,CAAC,KAAK;IAWZ;;;;OAIG;IACH,MAAM,CAAC,kBAAkB;CAY1B"}
1
+ {"version":3,"file":"private_kernel_tail_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_tail_circuit_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,wCAAwC,EAAE,MAAM,qDAAqD,CAAC;AAC/G,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,wCAAwC,EAAE,MAAM,qDAAqD,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,qBAAa,uCAAuC;IAEhD;;OAEG;IACI,4BAA4B,EAAE,8BAA8B;IACnE;;OAEG;IACI,yBAAyB,EAAE,8BAA8B;IAChE;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;;IAXnD;;OAEG;IACI,4BAA4B,EAAE,8BAA8B;IACnE;;OAEG;IACI,yBAAyB,EAAE,8BAA8B;IAChE;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;IAGrD,OAAO;IAQP,IAAI,UAAU,YAEb;IAED,IAAI,aAAa,YAEhB;IAED,IAAI,aAAa,YAEhB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uCAAuC;IASzF,QAAQ;IAQR,MAAM,CAAC,KAAK;CAOb;AAED,qBAAa,uCAAuC;IAC/B,GAAG,EAAE,8BAA8B;gBAAnC,GAAG,EAAE,8BAA8B;IAEtD,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uCAAuC;IAKzF,OAAO;IAIP,QAAQ;IAIR,MAAM,CAAC,KAAK;CAGb;AAED,qBAAa,oCAAoC;IAE7C;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;;OAGG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,kBAAkB,EAAE,MAAM;IAE1B,SAAS,CAAC,EAAE,uCAAuC;IACnD,SAAS,CAAC,EAAE,uCAAuC;;IAnB1D;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;;OAGG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,kBAAkB,EAAE,MAAM,EAE1B,SAAS,CAAC,EAAE,uCAAuC,YAAA,EACnD,SAAS,CAAC,EAAE,uCAAuC,YAAA;IAY5D,MAAM,KAAK,MAAM,6EAEhB;IAED,MAAM;IAIN,OAAO;IAWP,0CAA0C;IAe1C,0CAA0C;IAmB1C,0BAA0B;IAQ1B,uCAAuC;IAIvC,oCAAoC;IAIpC,4BAA4B;IAI5B,kCAAkC;IAMlC,+BAA+B;IAI/B,4BAA4B;IAK5B,qBAAqB;IASrB,qBAAqB;IASrB,sBAAsB;IAStB,kCAAkC;IASlC,iCAAiC;IASjC,2BAA2B;IAQ3B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,oCAAoC;IAatF,QAAQ;IAYR,MAAM,CAAC,KAAK;IAWZ;;;;OAIG;IACH,MAAM,CAAC,kBAAkB;CAY1B"}
@@ -1,16 +1,15 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
3
- import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
4
4
  import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { Gas } from '../gas/gas.js';
6
6
  import { TxConstantData } from '../tx/tx_constant_data.js';
7
- import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
8
7
  import { PrivateToPublicAccumulatedData } from './private_to_public_accumulated_data.js';
9
8
  import { PrivateToPublicKernelCircuitPublicInputs } from './private_to_public_kernel_circuit_public_inputs.js';
10
9
  import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_data.js';
11
10
  import { PrivateToRollupKernelCircuitPublicInputs } from './private_to_rollup_kernel_circuit_public_inputs.js';
12
11
  import { PublicCallRequest } from './public_call_request.js';
13
- import { countAccumulatedItems, mergeAccumulatedData } from './utils/order_and_comparison.js';
12
+ import { countAccumulatedItems } from './utils/order_and_comparison.js';
14
13
  export class PartialPrivateTailPublicInputsForPublic {
15
14
  nonRevertibleAccumulatedData;
16
15
  revertibleAccumulatedData;
@@ -70,23 +69,25 @@ export class PartialPrivateTailPublicInputsForRollup {
70
69
  }
71
70
  export class PrivateKernelTailCircuitPublicInputs {
72
71
  constants;
73
- rollupValidationRequests;
74
72
  gasUsed;
75
73
  feePayer;
74
+ includeByTimestamp;
76
75
  forPublic;
77
76
  forRollup;
78
77
  constructor(/**
79
78
  * Data which is not modified by the circuits.
80
- */ constants, rollupValidationRequests, /**
79
+ */ constants, /**
81
80
  * The accumulated gas used after private execution.
82
81
  * If the tx has a teardown call request, the teardown gas limits will also be included.
83
82
  */ gasUsed, /**
84
83
  * The address of the fee payer for the transaction.
85
- */ feePayer, forPublic, forRollup){
84
+ */ feePayer, /**
85
+ * The timestamp by which the transaction must be included in a block.
86
+ */ includeByTimestamp, forPublic, forRollup){
86
87
  this.constants = constants;
87
- this.rollupValidationRequests = rollupValidationRequests;
88
88
  this.gasUsed = gasUsed;
89
89
  this.feePayer = feePayer;
90
+ this.includeByTimestamp = includeByTimestamp;
90
91
  this.forPublic = forPublic;
91
92
  this.forRollup = forRollup;
92
93
  if (!forPublic && !forRollup) {
@@ -103,20 +104,21 @@ export class PrivateKernelTailCircuitPublicInputs {
103
104
  return this.toBuffer();
104
105
  }
105
106
  getSize() {
106
- return (this.forPublic?.getSize() ?? 0) + (this.forRollup?.getSize() ?? 0) + this.constants.getSize() + this.rollupValidationRequests.getSize() + this.feePayer.size;
107
+ return (this.forPublic?.getSize() ?? 0) + (this.forRollup?.getSize() ?? 0) + this.constants.getSize() + this.gasUsed.getSize() + this.feePayer.size + 8 // includeByTimestamp
108
+ ;
107
109
  }
108
110
  toPrivateToPublicKernelCircuitPublicInputs() {
109
111
  if (!this.forPublic) {
110
112
  throw new Error('Private tail public inputs is not for public circuit.');
111
113
  }
112
- return new PrivateToPublicKernelCircuitPublicInputs(this.constants, this.rollupValidationRequests, this.forPublic.nonRevertibleAccumulatedData, this.forPublic.revertibleAccumulatedData, this.forPublic.publicTeardownCallRequest, this.gasUsed, this.feePayer);
114
+ return new PrivateToPublicKernelCircuitPublicInputs(this.constants, this.forPublic.nonRevertibleAccumulatedData, this.forPublic.revertibleAccumulatedData, this.forPublic.publicTeardownCallRequest, this.gasUsed, this.feePayer, this.includeByTimestamp);
113
115
  }
114
116
  toPrivateToRollupKernelCircuitPublicInputs() {
115
117
  if (!this.forRollup) {
116
118
  throw new Error('Private tail public inputs is not for rollup circuit.');
117
119
  }
118
120
  const constants = new TxConstantData(this.constants.historicalHeader, this.constants.txContext, this.constants.vkTreeRoot, this.constants.protocolContractTreeRoot);
119
- return new PrivateToRollupKernelCircuitPublicInputs(constants, this.rollupValidationRequests, this.forRollup.end, this.gasUsed, this.feePayer);
121
+ return new PrivateToRollupKernelCircuitPublicInputs(constants, this.forRollup.end, this.gasUsed, this.feePayer, this.includeByTimestamp);
120
122
  }
121
123
  numberOfPublicCallRequests() {
122
124
  return this.numberOfNonRevertiblePublicCallRequests() + this.numberOfRevertiblePublicCallRequests() + (this.hasTeardownPublicCallRequest() ? 1 : 0);
@@ -141,19 +143,19 @@ export class PrivateKernelTailCircuitPublicInputs {
141
143
  return !publicTeardownCallRequest?.isEmpty() ? publicTeardownCallRequest : undefined;
142
144
  }
143
145
  getNonEmptyNoteHashes() {
144
- const noteHashes = this.forPublic ? mergeAccumulatedData(this.forPublic.nonRevertibleAccumulatedData.noteHashes, this.forPublic.revertibleAccumulatedData.noteHashes) : this.forRollup.end.noteHashes;
146
+ const noteHashes = this.forPublic ? this.forPublic.nonRevertibleAccumulatedData.noteHashes.concat(this.forPublic.revertibleAccumulatedData.noteHashes) : this.forRollup.end.noteHashes;
145
147
  return noteHashes.filter((n)=>!n.isZero());
146
148
  }
147
149
  getNonEmptyNullifiers() {
148
- const nullifiers = this.forPublic ? mergeAccumulatedData(this.forPublic.nonRevertibleAccumulatedData.nullifiers, this.forPublic.revertibleAccumulatedData.nullifiers) : this.forRollup.end.nullifiers;
150
+ const nullifiers = this.forPublic ? this.forPublic.nonRevertibleAccumulatedData.nullifiers.concat(this.forPublic.revertibleAccumulatedData.nullifiers) : this.forRollup.end.nullifiers;
149
151
  return nullifiers.filter((n)=>!n.isZero());
150
152
  }
151
153
  getNonEmptyPrivateLogs() {
152
- const privateLogs = this.forPublic ? mergeAccumulatedData(this.forPublic.nonRevertibleAccumulatedData.privateLogs, this.forPublic.revertibleAccumulatedData.privateLogs) : this.forRollup.end.privateLogs;
154
+ const privateLogs = this.forPublic ? this.forPublic.nonRevertibleAccumulatedData.privateLogs.concat(this.forPublic.revertibleAccumulatedData.privateLogs) : this.forRollup.end.privateLogs;
153
155
  return privateLogs.filter((n)=>!n.isEmpty());
154
156
  }
155
157
  getNonEmptyContractClassLogsHashes() {
156
- const contractClassLogsHashes = this.forPublic ? mergeAccumulatedData(this.forPublic.nonRevertibleAccumulatedData.contractClassLogsHashes, this.forPublic.revertibleAccumulatedData.contractClassLogsHashes) : this.forRollup.end.contractClassLogsHashes;
158
+ const contractClassLogsHashes = this.forPublic ? this.forPublic.nonRevertibleAccumulatedData.contractClassLogsHashes.concat(this.forPublic.revertibleAccumulatedData.contractClassLogsHashes) : this.forRollup.end.contractClassLogsHashes;
157
159
  return contractClassLogsHashes.filter((h)=>!h.isEmpty());
158
160
  }
159
161
  getEmittedContractClassLogsLength() {
@@ -167,14 +169,14 @@ export class PrivateKernelTailCircuitPublicInputs {
167
169
  static fromBuffer(buffer) {
168
170
  const reader = BufferReader.asReader(buffer);
169
171
  const isForPublic = reader.readBoolean();
170
- return new PrivateKernelTailCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(RollupValidationRequests), reader.readObject(Gas), reader.readObject(AztecAddress), isForPublic ? reader.readObject(PartialPrivateTailPublicInputsForPublic) : undefined, !isForPublic ? reader.readObject(PartialPrivateTailPublicInputsForRollup) : undefined);
172
+ return new PrivateKernelTailCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(Gas), reader.readObject(AztecAddress), reader.readUInt64(), isForPublic ? reader.readObject(PartialPrivateTailPublicInputsForPublic) : undefined, !isForPublic ? reader.readObject(PartialPrivateTailPublicInputsForRollup) : undefined);
171
173
  }
172
174
  toBuffer() {
173
175
  const isForPublic = !!this.forPublic;
174
- return serializeToBuffer(isForPublic, this.constants, this.rollupValidationRequests, this.gasUsed, this.feePayer, isForPublic ? this.forPublic.toBuffer() : this.forRollup.toBuffer());
176
+ return serializeToBuffer(isForPublic, this.constants, this.gasUsed, this.feePayer, bigintToUInt64BE(this.includeByTimestamp), isForPublic ? this.forPublic.toBuffer() : this.forRollup.toBuffer());
175
177
  }
176
178
  static empty() {
177
- return new PrivateKernelTailCircuitPublicInputs(TxConstantData.empty(), RollupValidationRequests.empty(), Gas.empty(), AztecAddress.ZERO, undefined, PartialPrivateTailPublicInputsForRollup.empty());
179
+ return new PrivateKernelTailCircuitPublicInputs(TxConstantData.empty(), Gas.empty(), AztecAddress.ZERO, 0n, undefined, PartialPrivateTailPublicInputsForRollup.empty());
178
180
  }
179
181
  /**
180
182
  * Creates an empty instance except for a nullifier in the combined accumulated data.
@@ -183,6 +185,6 @@ export class PrivateKernelTailCircuitPublicInputs {
183
185
  */ static emptyWithNullifier() {
184
186
  const data = PrivateToRollupAccumulatedData.empty();
185
187
  data.nullifiers[0] = Fr.random();
186
- return new PrivateKernelTailCircuitPublicInputs(TxConstantData.empty(), RollupValidationRequests.empty(), Gas.empty(), AztecAddress.ZERO, undefined, new PartialPrivateTailPublicInputsForRollup(data));
188
+ return new PrivateKernelTailCircuitPublicInputs(TxConstantData.empty(), Gas.empty(), AztecAddress.ZERO, 0n, undefined, new PartialPrivateTailPublicInputsForRollup(data));
187
189
  }
188
190
  }
@@ -4,20 +4,20 @@ import type { FieldsOf } from '@aztec/foundation/types';
4
4
  import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { Gas } from '../gas/gas.js';
6
6
  import { TxConstantData } from '../tx/tx_constant_data.js';
7
- import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
7
+ import type { UInt64 } from '../types/index.js';
8
8
  import { PrivateToPublicAccumulatedData } from './private_to_public_accumulated_data.js';
9
9
  import { PublicCallRequest } from './public_call_request.js';
10
10
  export declare class PrivateToPublicKernelCircuitPublicInputs {
11
11
  constants: TxConstantData;
12
- rollupValidationRequests: RollupValidationRequests;
13
12
  nonRevertibleAccumulatedData: PrivateToPublicAccumulatedData;
14
13
  revertibleAccumulatedData: PrivateToPublicAccumulatedData;
15
14
  publicTeardownCallRequest: PublicCallRequest;
16
15
  gasUsed: Gas;
17
16
  feePayer: AztecAddress;
18
- constructor(constants: TxConstantData, rollupValidationRequests: RollupValidationRequests, nonRevertibleAccumulatedData: PrivateToPublicAccumulatedData, revertibleAccumulatedData: PrivateToPublicAccumulatedData, publicTeardownCallRequest: PublicCallRequest, gasUsed: Gas, feePayer: AztecAddress);
17
+ includeByTimestamp: UInt64;
18
+ constructor(constants: TxConstantData, nonRevertibleAccumulatedData: PrivateToPublicAccumulatedData, revertibleAccumulatedData: PrivateToPublicAccumulatedData, publicTeardownCallRequest: PublicCallRequest, gasUsed: Gas, feePayer: AztecAddress, includeByTimestamp: UInt64);
19
19
  toBuffer(): Buffer<ArrayBufferLike>;
20
- static getFields(fields: FieldsOf<PrivateToPublicKernelCircuitPublicInputs>): readonly [TxConstantData, RollupValidationRequests, PrivateToPublicAccumulatedData, PrivateToPublicAccumulatedData, PublicCallRequest, Gas, AztecAddress];
20
+ static getFields(fields: FieldsOf<PrivateToPublicKernelCircuitPublicInputs>): readonly [TxConstantData, PrivateToPublicAccumulatedData, PrivateToPublicAccumulatedData, PublicCallRequest, Gas, AztecAddress, bigint];
21
21
  static fromBuffer(buffer: Buffer | BufferReader): PrivateToPublicKernelCircuitPublicInputs;
22
22
  static empty(): PrivateToPublicKernelCircuitPublicInputs;
23
23
  static fromString(str: string): PrivateToPublicKernelCircuitPublicInputs;
@@ -1 +1 @@
1
- {"version":3,"file":"private_to_public_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_public_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAwC,MAAM,6BAA6B,CAAC;AAEjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,wCAAwC;IAE1C,SAAS,EAAE,cAAc;IACzB,wBAAwB,EAAE,wBAAwB;IAClD,4BAA4B,EAAE,8BAA8B;IAC5D,yBAAyB,EAAE,8BAA8B;IACzD,yBAAyB,EAAE,iBAAiB;IAC5C,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,YAAY;gBANtB,SAAS,EAAE,cAAc,EACzB,wBAAwB,EAAE,wBAAwB,EAClD,4BAA4B,EAAE,8BAA8B,EAC5D,yBAAyB,EAAE,8BAA8B,EACzD,yBAAyB,EAAE,iBAAiB,EAC5C,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,YAAY;IAG/B,QAAQ;IAYR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAAwC,CAAC;IAY3E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAa/C,MAAM,CAAC,KAAK;IAYZ,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAUhB,IAAI;CAGL"}
1
+ {"version":3,"file":"private_to_public_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_public_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAA0D,MAAM,6BAA6B,CAAC;AAEnH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,wCAAwC;IAE1C,SAAS,EAAE,cAAc;IACzB,4BAA4B,EAAE,8BAA8B;IAC5D,yBAAyB,EAAE,8BAA8B;IACzD,yBAAyB,EAAE,iBAAiB;IAC5C,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,YAAY;IACtB,kBAAkB,EAAE,MAAM;gBAN1B,SAAS,EAAE,cAAc,EACzB,4BAA4B,EAAE,8BAA8B,EAC5D,yBAAyB,EAAE,8BAA8B,EACzD,yBAAyB,EAAE,iBAAiB,EAC5C,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,YAAY,EACtB,kBAAkB,EAAE,MAAM;IAGnC,QAAQ;IAYR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAAwC,CAAC;IAY3E,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAa/C,MAAM,CAAC,KAAK;IAYZ,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAUhB,IAAI;CAGL"}
@@ -1,50 +1,49 @@
1
1
  import { GeneratorIndex, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
3
- import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
3
+ import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
4
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
5
5
  import { AztecAddress } from '../aztec-address/index.js';
6
6
  import { Gas } from '../gas/gas.js';
7
7
  import { TxConstantData } from '../tx/tx_constant_data.js';
8
- import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
9
8
  import { PrivateToPublicAccumulatedData } from './private_to_public_accumulated_data.js';
10
9
  import { PublicCallRequest } from './public_call_request.js';
11
10
  export class PrivateToPublicKernelCircuitPublicInputs {
12
11
  constants;
13
- rollupValidationRequests;
14
12
  nonRevertibleAccumulatedData;
15
13
  revertibleAccumulatedData;
16
14
  publicTeardownCallRequest;
17
15
  gasUsed;
18
16
  feePayer;
19
- constructor(constants, rollupValidationRequests, nonRevertibleAccumulatedData, revertibleAccumulatedData, publicTeardownCallRequest, gasUsed, feePayer){
17
+ includeByTimestamp;
18
+ constructor(constants, nonRevertibleAccumulatedData, revertibleAccumulatedData, publicTeardownCallRequest, gasUsed, feePayer, includeByTimestamp){
20
19
  this.constants = constants;
21
- this.rollupValidationRequests = rollupValidationRequests;
22
20
  this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
23
21
  this.revertibleAccumulatedData = revertibleAccumulatedData;
24
22
  this.publicTeardownCallRequest = publicTeardownCallRequest;
25
23
  this.gasUsed = gasUsed;
26
24
  this.feePayer = feePayer;
25
+ this.includeByTimestamp = includeByTimestamp;
27
26
  }
28
27
  toBuffer() {
29
- return serializeToBuffer(this.constants, this.rollupValidationRequests, this.nonRevertibleAccumulatedData, this.revertibleAccumulatedData, this.publicTeardownCallRequest, this.gasUsed, this.feePayer);
28
+ return serializeToBuffer(this.constants, this.nonRevertibleAccumulatedData, this.revertibleAccumulatedData, this.publicTeardownCallRequest, this.gasUsed, this.feePayer, bigintToUInt64BE(this.includeByTimestamp));
30
29
  }
31
30
  static getFields(fields) {
32
31
  return [
33
32
  fields.constants,
34
- fields.rollupValidationRequests,
35
33
  fields.nonRevertibleAccumulatedData,
36
34
  fields.revertibleAccumulatedData,
37
35
  fields.publicTeardownCallRequest,
38
36
  fields.gasUsed,
39
- fields.feePayer
37
+ fields.feePayer,
38
+ fields.includeByTimestamp
40
39
  ];
41
40
  }
42
41
  static fromBuffer(buffer) {
43
42
  const reader = BufferReader.asReader(buffer);
44
- return new PrivateToPublicKernelCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(RollupValidationRequests), reader.readObject(PrivateToPublicAccumulatedData), reader.readObject(PrivateToPublicAccumulatedData), reader.readObject(PublicCallRequest), reader.readObject(Gas), reader.readObject(AztecAddress));
43
+ return new PrivateToPublicKernelCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(PrivateToPublicAccumulatedData), reader.readObject(PrivateToPublicAccumulatedData), reader.readObject(PublicCallRequest), reader.readObject(Gas), reader.readObject(AztecAddress), reader.readUInt64());
45
44
  }
46
45
  static empty() {
47
- return new PrivateToPublicKernelCircuitPublicInputs(TxConstantData.empty(), RollupValidationRequests.empty(), PrivateToPublicAccumulatedData.empty(), PrivateToPublicAccumulatedData.empty(), PublicCallRequest.empty(), Gas.empty(), AztecAddress.ZERO);
46
+ return new PrivateToPublicKernelCircuitPublicInputs(TxConstantData.empty(), PrivateToPublicAccumulatedData.empty(), PrivateToPublicAccumulatedData.empty(), PublicCallRequest.empty(), Gas.empty(), AztecAddress.ZERO, 0n);
48
47
  }
49
48
  static fromString(str) {
50
49
  return PrivateToPublicKernelCircuitPublicInputs.fromBuffer(hexToBuffer(str));
@@ -4,7 +4,7 @@ import type { FieldsOf } from '@aztec/foundation/types';
4
4
  import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { Gas } from '../gas/gas.js';
6
6
  import { TxConstantData } from '../tx/tx_constant_data.js';
7
- import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
7
+ import type { UInt64 } from '../types/index.js';
8
8
  import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_data.js';
9
9
  /**
10
10
  * Outputs from the public kernel circuits.
@@ -15,10 +15,6 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
15
15
  * Data which is not modified by the circuits.
16
16
  */
17
17
  constants: TxConstantData;
18
- /**
19
- * Validation requests accumulated from private and public execution to be completed by the rollup.
20
- */
21
- rollupValidationRequests: RollupValidationRequests;
22
18
  /**
23
19
  * Data accumulated from both public and private circuits.
24
20
  */
@@ -31,15 +27,15 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
31
27
  * The address of the fee payer for the transaction.
32
28
  */
33
29
  feePayer: AztecAddress;
30
+ /**
31
+ * The timestamp by which the transaction must be included in a block.
32
+ */
33
+ includeByTimestamp: UInt64;
34
34
  constructor(
35
35
  /**
36
36
  * Data which is not modified by the circuits.
37
37
  */
38
38
  constants: TxConstantData,
39
- /**
40
- * Validation requests accumulated from private and public execution to be completed by the rollup.
41
- */
42
- rollupValidationRequests: RollupValidationRequests,
43
39
  /**
44
40
  * Data accumulated from both public and private circuits.
45
41
  */
@@ -51,7 +47,11 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
51
47
  /**
52
48
  * The address of the fee payer for the transaction.
53
49
  */
54
- feePayer: AztecAddress);
50
+ feePayer: AztecAddress,
51
+ /**
52
+ * The timestamp by which the transaction must be included in a block.
53
+ */
54
+ includeByTimestamp: UInt64);
55
55
  getNonEmptyNullifiers(): Fr[];
56
56
  toBuffer(): Buffer<ArrayBufferLike>;
57
57
  /**
@@ -65,7 +65,7 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
65
65
  static fromString(str: string): PrivateToRollupKernelCircuitPublicInputs;
66
66
  /** Returns a hex representation for JSON serialization. */
67
67
  toJSON(): Buffer<ArrayBufferLike>;
68
- static getFields(fields: FieldsOf<PrivateToRollupKernelCircuitPublicInputs>): readonly [TxConstantData, RollupValidationRequests, PrivateToRollupAccumulatedData, Gas, AztecAddress];
68
+ static getFields(fields: FieldsOf<PrivateToRollupKernelCircuitPublicInputs>): readonly [TxConstantData, PrivateToRollupAccumulatedData, Gas, AztecAddress, bigint];
69
69
  /** Creates an instance from a hex string. */
70
70
  static get schema(): import("zod").ZodType<PrivateToRollupKernelCircuitPublicInputs, any, string>;
71
71
  toFields(): Fr[];
@@ -1 +1 @@
1
- {"version":3,"file":"private_to_rollup_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAwC,MAAM,6BAA6B,CAAC;AAEjG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF;;;GAGG;AACH,qBAAa,wCAAwC;IAEjD;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,wBAAwB,EAAE,wBAAwB;IACzD;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;;IAnB7B;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,wBAAwB,EAAE,wBAAwB;IACzD;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAG/B,qBAAqB;IAIrB,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,wCAAwC;IAW1F,MAAM,CAAC,KAAK;IAUZ,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,2DAA2D;IAC3D,MAAM;IAIN,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAAwC,CAAC;IAI3E,6CAA6C;IAC7C,MAAM,KAAK,MAAM,iFAEhB;IAED,QAAQ,IAAI,EAAE,EAAE;IAUhB,IAAI;CAGL"}
1
+ {"version":3,"file":"private_to_rollup_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,YAAY,EAA0D,MAAM,6BAA6B,CAAC;AAEnH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF;;;GAGG;AACH,qBAAa,wCAAwC;IAEjD;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,kBAAkB,EAAE,MAAM;;IAnBjC;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,kBAAkB,EAAE,MAAM;IAGnC,qBAAqB;IAIrB,QAAQ;IAUR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,wCAAwC;IAW1F,MAAM,CAAC,KAAK;IAUZ,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,2DAA2D;IAC3D,MAAM;IAIN,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAAwC,CAAC;IAI3E,6CAA6C;IAC7C,MAAM,KAAK,MAAM,iFAEhB;IAED,QAAQ,IAAI,EAAE,EAAE;IAUhB,IAAI;CAGL"}
@@ -1,44 +1,43 @@
1
1
  import { GeneratorIndex, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
2
2
  import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
3
3
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
- import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
4
+ import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
5
5
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
6
6
  import { AztecAddress } from '../aztec-address/index.js';
7
7
  import { Gas } from '../gas/gas.js';
8
8
  import { TxConstantData } from '../tx/tx_constant_data.js';
9
- import { RollupValidationRequests } from './hints/rollup_validation_requests.js';
10
9
  import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_data.js';
11
10
  /**
12
11
  * Outputs from the public kernel circuits.
13
12
  * All Public kernels use this shape for outputs.
14
13
  */ export class PrivateToRollupKernelCircuitPublicInputs {
15
14
  constants;
16
- rollupValidationRequests;
17
15
  end;
18
16
  gasUsed;
19
17
  feePayer;
18
+ includeByTimestamp;
20
19
  constructor(/**
21
20
  * Data which is not modified by the circuits.
22
21
  */ constants, /**
23
- * Validation requests accumulated from private and public execution to be completed by the rollup.
24
- */ rollupValidationRequests, /**
25
22
  * Data accumulated from both public and private circuits.
26
23
  */ end, /**
27
24
  * Gas used during this transaction
28
25
  */ gasUsed, /**
29
26
  * The address of the fee payer for the transaction.
30
- */ feePayer){
27
+ */ feePayer, /**
28
+ * The timestamp by which the transaction must be included in a block.
29
+ */ includeByTimestamp){
31
30
  this.constants = constants;
32
- this.rollupValidationRequests = rollupValidationRequests;
33
31
  this.end = end;
34
32
  this.gasUsed = gasUsed;
35
33
  this.feePayer = feePayer;
34
+ this.includeByTimestamp = includeByTimestamp;
36
35
  }
37
36
  getNonEmptyNullifiers() {
38
37
  return this.end.nullifiers.filter((n)=>!n.isZero());
39
38
  }
40
39
  toBuffer() {
41
- return serializeToBuffer(this.constants, this.rollupValidationRequests, this.end, this.gasUsed, this.feePayer);
40
+ return serializeToBuffer(this.constants, this.end, this.gasUsed, this.feePayer, bigintToUInt64BE(this.includeByTimestamp));
42
41
  }
43
42
  /**
44
43
  * Deserializes from a buffer or reader, corresponding to a write in cpp.
@@ -46,10 +45,10 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
46
45
  * @returns A new instance of PrivateToRollupKernelCircuitPublicInputs.
47
46
  */ static fromBuffer(buffer) {
48
47
  const reader = BufferReader.asReader(buffer);
49
- return new PrivateToRollupKernelCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(RollupValidationRequests), reader.readObject(PrivateToRollupAccumulatedData), reader.readObject(Gas), reader.readObject(AztecAddress));
48
+ return new PrivateToRollupKernelCircuitPublicInputs(reader.readObject(TxConstantData), reader.readObject(PrivateToRollupAccumulatedData), reader.readObject(Gas), reader.readObject(AztecAddress), reader.readUInt64());
50
49
  }
51
50
  static empty() {
52
- return new PrivateToRollupKernelCircuitPublicInputs(TxConstantData.empty(), RollupValidationRequests.empty(), PrivateToRollupAccumulatedData.empty(), Gas.empty(), AztecAddress.ZERO);
51
+ return new PrivateToRollupKernelCircuitPublicInputs(TxConstantData.empty(), PrivateToRollupAccumulatedData.empty(), Gas.empty(), AztecAddress.ZERO, 0n);
53
52
  }
54
53
  toString() {
55
54
  return bufferToHex(this.toBuffer());
@@ -63,10 +62,10 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
63
62
  static getFields(fields) {
64
63
  return [
65
64
  fields.constants,
66
- fields.rollupValidationRequests,
67
65
  fields.end,
68
66
  fields.gasUsed,
69
- fields.feePayer
67
+ fields.feePayer,
68
+ fields.includeByTimestamp
70
69
  ];
71
70
  }
72
71
  /** Creates an instance from a hex string. */ static get schema() {