@aztec/stdlib 6.0.0-nightly.20260812 → 6.0.0-nightly.20260821

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 (228) hide show
  1. package/dest/abi/abi.d.ts +4 -3
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +5 -1
  4. package/dest/abi/contract_artifact.d.ts +7 -2
  5. package/dest/abi/contract_artifact.d.ts.map +1 -1
  6. package/dest/abi/contract_artifact.js +18 -19
  7. package/dest/avm/avm.d.ts +3 -2
  8. package/dest/avm/avm.d.ts.map +1 -1
  9. package/dest/avm/avm.js +9 -3
  10. package/dest/avm/avm_proving_request.d.ts +70 -70
  11. package/dest/block/l2_block.d.ts +1 -2
  12. package/dest/block/l2_block.d.ts.map +1 -1
  13. package/dest/block/l2_block.js +2 -3
  14. package/dest/block/l2_block_source.d.ts +3 -6
  15. package/dest/block/l2_block_source.d.ts.map +1 -1
  16. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts +11 -20
  17. package/dest/block/l2_block_stream/event_driven_l2_block_stream.d.ts.map +1 -1
  18. package/dest/block/l2_block_stream/event_driven_l2_block_stream.js +12 -116
  19. package/dest/checkpoint/checkpoint_data.d.ts +14 -2
  20. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  21. package/dest/checkpoint/checkpoint_data.js +2 -1
  22. package/dest/checkpoint/index.d.ts +2 -1
  23. package/dest/checkpoint/index.d.ts.map +1 -1
  24. package/dest/checkpoint/index.js +1 -0
  25. package/dest/checkpoint/previous_checkpoint_inbox_rolling_hash.d.ts +21 -0
  26. package/dest/checkpoint/previous_checkpoint_inbox_rolling_hash.d.ts.map +1 -0
  27. package/dest/checkpoint/previous_checkpoint_inbox_rolling_hash.js +34 -0
  28. package/dest/checkpoint/simulation_overrides.d.ts +2 -2
  29. package/dest/checkpoint/simulation_overrides.d.ts.map +1 -1
  30. package/dest/checkpoint/simulation_overrides.js +11 -8
  31. package/dest/config/network-consensus-config.d.ts +4 -3
  32. package/dest/config/network-consensus-config.d.ts.map +1 -1
  33. package/dest/config/network-consensus-config.js +9 -4
  34. package/dest/config/node-rpc-config.d.ts +13 -1
  35. package/dest/config/node-rpc-config.d.ts.map +1 -1
  36. package/dest/config/node-rpc-config.js +34 -1
  37. package/dest/deserialization/index.d.ts +17 -17
  38. package/dest/deserialization/index.d.ts.map +1 -1
  39. package/dest/deserialization/index.js +18 -18
  40. package/dest/gas/gas_settings.d.ts +17 -5
  41. package/dest/gas/gas_settings.d.ts.map +1 -1
  42. package/dest/gas/gas_settings.js +4 -4
  43. package/dest/gas/tx_gas_limits.d.ts +3 -4
  44. package/dest/gas/tx_gas_limits.d.ts.map +1 -1
  45. package/dest/gas/tx_gas_limits.js +4 -5
  46. package/dest/interfaces/archiver.d.ts +2 -2
  47. package/dest/interfaces/archiver.d.ts.map +1 -1
  48. package/dest/interfaces/archiver.js +32 -5
  49. package/dest/interfaces/aztec-node-admin.d.ts +2 -1
  50. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  51. package/dest/interfaces/aztec-node.d.ts +22 -4
  52. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  53. package/dest/interfaces/aztec-node.js +11 -9
  54. package/dest/interfaces/block-builder.d.ts +11 -2
  55. package/dest/interfaces/block-builder.d.ts.map +1 -1
  56. package/dest/interfaces/configs.d.ts +7 -1
  57. package/dest/interfaces/configs.d.ts.map +1 -1
  58. package/dest/interfaces/configs.js +2 -1
  59. package/dest/interfaces/p2p.d.ts +18 -1
  60. package/dest/interfaces/p2p.d.ts.map +1 -1
  61. package/dest/interfaces/p2p.js +8 -0
  62. package/dest/interfaces/proving-job.d.ts +17 -42
  63. package/dest/interfaces/proving-job.d.ts.map +1 -1
  64. package/dest/interfaces/proving-job.js +16 -47
  65. package/dest/interfaces/server_circuit_prover.d.ts +8 -15
  66. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  67. package/dest/interfaces/validator.d.ts +7 -7
  68. package/dest/interfaces/validator.d.ts.map +1 -1
  69. package/dest/messaging/append_l1_to_l2_messages.d.ts +5 -5
  70. package/dest/messaging/append_l1_to_l2_messages.d.ts.map +1 -1
  71. package/dest/messaging/append_l1_to_l2_messages.js +4 -8
  72. package/dest/messaging/inbox_bucket.d.ts +77 -0
  73. package/dest/messaging/inbox_bucket.d.ts.map +1 -0
  74. package/dest/messaging/inbox_bucket.js +73 -0
  75. package/dest/messaging/inbox_consumption.d.ts +55 -0
  76. package/dest/messaging/inbox_consumption.d.ts.map +1 -0
  77. package/dest/messaging/inbox_consumption.js +53 -0
  78. package/dest/messaging/inbox_rolling_hash.d.ts +16 -0
  79. package/dest/messaging/inbox_rolling_hash.d.ts.map +1 -0
  80. package/dest/messaging/inbox_rolling_hash.js +23 -0
  81. package/dest/messaging/index.d.ts +6 -3
  82. package/dest/messaging/index.d.ts.map +1 -1
  83. package/dest/messaging/index.js +5 -2
  84. package/dest/messaging/l1_to_l2_message_bundle.d.ts +31 -0
  85. package/dest/messaging/l1_to_l2_message_bundle.d.ts.map +1 -0
  86. package/dest/messaging/l1_to_l2_message_bundle.js +51 -0
  87. package/dest/messaging/l1_to_l2_message_source.d.ts +44 -10
  88. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  89. package/dest/messaging/l1_to_l2_message_sponge.d.ts +40 -0
  90. package/dest/messaging/l1_to_l2_message_sponge.d.ts.map +1 -0
  91. package/dest/messaging/l1_to_l2_message_sponge.js +56 -0
  92. package/dest/noir/index.d.ts +3 -3
  93. package/dest/noir/index.d.ts.map +1 -1
  94. package/dest/p2p/block_proposal.d.ts +24 -9
  95. package/dest/p2p/block_proposal.d.ts.map +1 -1
  96. package/dest/p2p/block_proposal.js +42 -20
  97. package/dest/p2p/checkpoint_attestation.d.ts +1 -1
  98. package/dest/p2p/checkpoint_proposal.d.ts +13 -3
  99. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  100. package/dest/p2p/checkpoint_proposal.js +26 -8
  101. package/dest/p2p/consensus_payload.d.ts +1 -1
  102. package/dest/p2p/index.d.ts +2 -1
  103. package/dest/p2p/index.d.ts.map +1 -1
  104. package/dest/p2p/index.js +1 -0
  105. package/dest/p2p/validated_proposal.d.ts +35 -0
  106. package/dest/p2p/validated_proposal.d.ts.map +1 -0
  107. package/dest/p2p/validated_proposal.js +17 -0
  108. package/dest/p2p/wire_compat_fixtures.d.ts +7 -0
  109. package/dest/p2p/wire_compat_fixtures.d.ts.map +1 -0
  110. package/dest/p2p/wire_compat_fixtures.js +14 -0
  111. package/dest/parity/inbox_parity_private_inputs.d.ts +61 -0
  112. package/dest/parity/inbox_parity_private_inputs.d.ts.map +1 -0
  113. package/dest/parity/inbox_parity_private_inputs.js +79 -0
  114. package/dest/parity/index.d.ts +2 -3
  115. package/dest/parity/index.d.ts.map +1 -1
  116. package/dest/parity/index.js +1 -2
  117. package/dest/parity/parity_public_inputs.d.ts +15 -14
  118. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  119. package/dest/parity/parity_public_inputs.js +13 -15
  120. package/dest/proofs/proving_request_type.d.ts +11 -14
  121. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  122. package/dest/proofs/proving_request_type.js +10 -13
  123. package/dest/rollup/block_constant_data.d.ts +8 -8
  124. package/dest/rollup/block_constant_data.js +4 -4
  125. package/dest/rollup/block_rollup_public_inputs.d.ts +18 -6
  126. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  127. package/dest/rollup/block_rollup_public_inputs.js +14 -7
  128. package/dest/rollup/block_root_rollup_private_inputs.d.ts +109 -113
  129. package/dest/rollup/block_root_rollup_private_inputs.d.ts.map +1 -1
  130. package/dest/rollup/block_root_rollup_private_inputs.js +79 -130
  131. package/dest/rollup/checkpoint_header.d.ts +14 -6
  132. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  133. package/dest/rollup/checkpoint_header.js +18 -14
  134. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +22 -2
  135. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  136. package/dest/rollup/checkpoint_rollup_public_inputs.js +14 -3
  137. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +27 -6
  138. package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
  139. package/dest/rollup/checkpoint_root_rollup_private_inputs.js +17 -4
  140. package/dest/rollup/root_rollup_public_inputs.d.ts +10 -2
  141. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  142. package/dest/rollup/root_rollup_public_inputs.js +9 -3
  143. package/dest/stats/stats.d.ts +2 -2
  144. package/dest/stats/stats.d.ts.map +1 -1
  145. package/dest/tests/factories.d.ts +7 -7
  146. package/dest/tests/factories.d.ts.map +1 -1
  147. package/dest/tests/factories.js +26 -22
  148. package/dest/tests/fixtures.d.ts +1 -1
  149. package/dest/tests/fixtures.d.ts.map +1 -1
  150. package/dest/tests/fixtures.js +2 -0
  151. package/dest/tests/mocks.d.ts +4 -2
  152. package/dest/tests/mocks.d.ts.map +1 -1
  153. package/dest/tests/mocks.js +4 -7
  154. package/dest/tx/state_reference.d.ts +5 -2
  155. package/dest/tx/state_reference.d.ts.map +1 -1
  156. package/dest/tx/state_reference.js +5 -5
  157. package/package.json +8 -8
  158. package/src/abi/abi.ts +7 -2
  159. package/src/abi/contract_artifact.ts +20 -23
  160. package/src/avm/avm.ts +11 -1
  161. package/src/block/l2_block.ts +2 -3
  162. package/src/block/l2_block_source.ts +2 -5
  163. package/src/block/l2_block_stream/event_driven_l2_block_stream.ts +17 -143
  164. package/src/checkpoint/checkpoint_data.ts +14 -1
  165. package/src/checkpoint/index.ts +1 -0
  166. package/src/checkpoint/previous_checkpoint_inbox_rolling_hash.ts +46 -0
  167. package/src/checkpoint/simulation_overrides.ts +11 -8
  168. package/src/config/network-consensus-config.ts +17 -4
  169. package/src/config/node-rpc-config.ts +51 -1
  170. package/src/deserialization/index.ts +18 -18
  171. package/src/gas/README.md +4 -3
  172. package/src/gas/gas_settings.ts +7 -3
  173. package/src/gas/tx_gas_limits.ts +4 -12
  174. package/src/interfaces/archiver.ts +19 -2
  175. package/src/interfaces/aztec-node.ts +33 -12
  176. package/src/interfaces/block-builder.ts +10 -1
  177. package/src/interfaces/configs.ts +6 -0
  178. package/src/interfaces/p2p.ts +21 -0
  179. package/src/interfaces/proving-job.ts +19 -70
  180. package/src/interfaces/server_circuit_prover.ts +13 -37
  181. package/src/interfaces/validator.ts +6 -5
  182. package/src/kernel/private_kernel_reset_dimensions.ts +1 -1
  183. package/src/messaging/append_l1_to_l2_messages.ts +5 -13
  184. package/src/messaging/inbox_bucket.ts +125 -0
  185. package/src/messaging/inbox_consumption.ts +74 -0
  186. package/src/messaging/inbox_rolling_hash.ts +24 -0
  187. package/src/messaging/index.ts +5 -2
  188. package/src/messaging/l1_to_l2_message_bundle.ts +65 -0
  189. package/src/messaging/l1_to_l2_message_source.ts +48 -10
  190. package/src/messaging/l1_to_l2_message_sponge.ts +69 -0
  191. package/src/noir/index.ts +1 -2
  192. package/src/p2p/block_proposal.ts +41 -28
  193. package/src/p2p/checkpoint_proposal.ts +31 -6
  194. package/src/p2p/index.ts +1 -0
  195. package/src/p2p/validated_proposal.ts +43 -0
  196. package/src/p2p/wire_compat_fixtures.ts +23 -0
  197. package/src/parity/inbox_parity_private_inputs.ts +116 -0
  198. package/src/parity/index.ts +1 -2
  199. package/src/parity/parity_public_inputs.ts +12 -14
  200. package/src/proofs/proving_request_type.ts +2 -5
  201. package/src/rollup/block_constant_data.ts +4 -4
  202. package/src/rollup/block_rollup_public_inputs.ts +14 -5
  203. package/src/rollup/block_root_rollup_private_inputs.ts +117 -153
  204. package/src/rollup/checkpoint_header.ts +17 -13
  205. package/src/rollup/checkpoint_rollup_public_inputs.ts +15 -0
  206. package/src/rollup/checkpoint_root_rollup_private_inputs.ts +16 -3
  207. package/src/rollup/root_rollup_public_inputs.ts +10 -0
  208. package/src/stats/stats.ts +4 -5
  209. package/src/tests/factories.ts +38 -32
  210. package/src/tests/fixtures.ts +3 -0
  211. package/src/tests/mocks.ts +6 -7
  212. package/src/tx/state_reference.ts +5 -12
  213. package/dest/messaging/in_hash.d.ts +0 -6
  214. package/dest/messaging/in_hash.d.ts.map +0 -1
  215. package/dest/messaging/in_hash.js +0 -10
  216. package/dest/messaging/inbox_leaf.d.ts +0 -25
  217. package/dest/messaging/inbox_leaf.d.ts.map +0 -1
  218. package/dest/messaging/inbox_leaf.js +0 -42
  219. package/dest/parity/parity_base_private_inputs.d.ts +0 -39
  220. package/dest/parity/parity_base_private_inputs.d.ts.map +0 -1
  221. package/dest/parity/parity_base_private_inputs.js +0 -51
  222. package/dest/parity/parity_root_private_inputs.d.ts +0 -39
  223. package/dest/parity/parity_root_private_inputs.d.ts.map +0 -1
  224. package/dest/parity/parity_root_private_inputs.js +0 -46
  225. package/src/messaging/in_hash.ts +0 -12
  226. package/src/messaging/inbox_leaf.ts +0 -44
  227. package/src/parity/parity_base_private_inputs.ts +0 -71
  228. package/src/parity/parity_root_private_inputs.ts +0 -64
@@ -1,125 +1,26 @@
1
- import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH } from '@aztec/constants';
1
+ import { SpongeBlob } from '@aztec/blob-lib/types';
2
+ import { ARCHIVE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/constants';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
5
- import { ParityPublicInputs } from '../parity/parity_public_inputs.js';
6
+ import { L1ToL2MessageBundle } from '../messaging/l1_to_l2_message_bundle.js';
7
+ import { L1ToL2MessageSponge } from '../messaging/l1_to_l2_message_sponge.js';
6
8
  import { ProofData } from '../proofs/proof_data.js';
7
9
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
10
  import { StateReference } from '../tx/state_reference.js';
9
11
  import { CheckpointConstantData } from './checkpoint_constant_data.js';
10
12
  import { TxRollupPublicInputs } from './tx_rollup_public_inputs.js';
11
- export class BlockRootFirstRollupPrivateInputs {
12
- l1ToL2Roots;
13
- previousRollups;
14
- previousL1ToL2;
15
- newL1ToL2MessageSubtreeRootSiblingPath;
16
- newArchiveSiblingPath;
17
- constructor(/**
18
- * The original and converted roots of the L1 to L2 messages subtrees.
19
- */ l1ToL2Roots, /**
20
- * The previous rollup proof data from base or merge rollup circuits.
21
- */ previousRollups, /**
22
- * The l1 to l2 message tree snapshot immediately before this block.
23
- */ previousL1ToL2, /**
24
- * Hint for inserting the new l1 to l2 message subtree root into `previousL1ToL2`.
25
- */ newL1ToL2MessageSubtreeRootSiblingPath, /**
26
- * Hint for inserting the new block hash to the last archive.
27
- */ newArchiveSiblingPath){
28
- this.l1ToL2Roots = l1ToL2Roots;
29
- this.previousRollups = previousRollups;
30
- this.previousL1ToL2 = previousL1ToL2;
31
- this.newL1ToL2MessageSubtreeRootSiblingPath = newL1ToL2MessageSubtreeRootSiblingPath;
32
- this.newArchiveSiblingPath = newArchiveSiblingPath;
33
- }
34
- static from(fields) {
35
- return new BlockRootFirstRollupPrivateInputs(...BlockRootFirstRollupPrivateInputs.getFields(fields));
36
- }
37
- static getFields(fields) {
38
- return [
39
- fields.l1ToL2Roots,
40
- fields.previousRollups,
41
- fields.previousL1ToL2,
42
- fields.newL1ToL2MessageSubtreeRootSiblingPath,
43
- fields.newArchiveSiblingPath
44
- ];
45
- }
46
- toBuffer() {
47
- return serializeToBuffer(...BlockRootFirstRollupPrivateInputs.getFields(this));
48
- }
49
- static fromBuffer(buffer) {
50
- const reader = BufferReader.asReader(buffer);
51
- return new BlockRootFirstRollupPrivateInputs(ProofData.fromBuffer(reader, ParityPublicInputs), [
52
- ProofData.fromBuffer(reader, TxRollupPublicInputs),
53
- ProofData.fromBuffer(reader, TxRollupPublicInputs)
54
- ], AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
55
- }
56
- toJSON() {
57
- return this.toBuffer();
58
- }
59
- static get schema() {
60
- return bufferSchemaFor(BlockRootFirstRollupPrivateInputs);
61
- }
62
- }
63
- export class BlockRootSingleTxFirstRollupPrivateInputs {
64
- l1ToL2Roots;
65
- previousRollup;
66
- previousL1ToL2;
67
- newL1ToL2MessageSubtreeRootSiblingPath;
68
- newArchiveSiblingPath;
69
- constructor(/**
70
- * The original and converted roots of the L1 to L2 messages subtrees.
71
- */ l1ToL2Roots, /**
72
- * The previous rollup proof data from base or merge rollup circuits.
73
- */ previousRollup, /**
74
- * The l1 to l2 message tree snapshot immediately before this block.
75
- */ previousL1ToL2, /**
76
- * Hint for inserting the new l1 to l2 message subtree root.
77
- */ newL1ToL2MessageSubtreeRootSiblingPath, /**
78
- * Hint for inserting the new block hash to the last archive.
79
- */ newArchiveSiblingPath){
80
- this.l1ToL2Roots = l1ToL2Roots;
81
- this.previousRollup = previousRollup;
82
- this.previousL1ToL2 = previousL1ToL2;
83
- this.newL1ToL2MessageSubtreeRootSiblingPath = newL1ToL2MessageSubtreeRootSiblingPath;
84
- this.newArchiveSiblingPath = newArchiveSiblingPath;
85
- }
86
- static from(fields) {
87
- return new BlockRootSingleTxFirstRollupPrivateInputs(...BlockRootSingleTxFirstRollupPrivateInputs.getFields(fields));
88
- }
89
- static getFields(fields) {
90
- return [
91
- fields.l1ToL2Roots,
92
- fields.previousRollup,
93
- fields.previousL1ToL2,
94
- fields.newL1ToL2MessageSubtreeRootSiblingPath,
95
- fields.newArchiveSiblingPath
96
- ];
97
- }
98
- toBuffer() {
99
- return serializeToBuffer(...BlockRootSingleTxFirstRollupPrivateInputs.getFields(this));
100
- }
101
- static fromBuffer(buffer) {
102
- const reader = BufferReader.asReader(buffer);
103
- return new BlockRootSingleTxFirstRollupPrivateInputs(ProofData.fromBuffer(reader, ParityPublicInputs), ProofData.fromBuffer(reader, TxRollupPublicInputs), AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
104
- }
105
- toJSON() {
106
- return this.toBuffer();
107
- }
108
- static get schema() {
109
- return bufferSchemaFor(BlockRootSingleTxFirstRollupPrivateInputs);
110
- }
111
- }
112
- export class BlockRootEmptyTxFirstRollupPrivateInputs {
113
- l1ToL2Roots;
13
+ export class BlockRootNoTxsRollupPrivateInputs {
114
14
  previousArchive;
115
15
  previousState;
116
16
  constants;
117
17
  timestamp;
118
- newL1ToL2MessageSubtreeRootSiblingPath;
18
+ startSpongeBlob;
19
+ startMsgSponge;
20
+ messageBundle;
21
+ l1ToL2MessageFrontierHint;
119
22
  newArchiveSiblingPath;
120
23
  constructor(/**
121
- * The original and converted roots of the L1 to L2 messages subtrees.
122
- */ l1ToL2Roots, /**
123
24
  * The archive after applying the previous block.
124
25
  */ previousArchive, /**
125
26
  * The state reference of the previous block.
@@ -128,63 +29,85 @@ export class BlockRootEmptyTxFirstRollupPrivateInputs {
128
29
  */ constants, /**
129
30
  * The timestamp of this block.
130
31
  */ timestamp, /**
131
- * Hint for inserting the new l1 to l2 message subtree root.
132
- */ newL1ToL2MessageSubtreeRootSiblingPath, /**
32
+ * Sponge blob this block starts from: initialized for the checkpoint's first block, inherited from the previous
33
+ * block otherwise (checked against `SpongeBlob.init()` or the previous block's `endSpongeBlob` respectively).
34
+ */ startSpongeBlob, /**
35
+ * Message sponge this block starts from: empty for the checkpoint's first block, inherited from the previous block
36
+ * otherwise (checked against the empty sponge or the previous block's `endMsgSponge` respectively).
37
+ */ startMsgSponge, /**
38
+ * L1-to-L2 message bundle inserted by this block.
39
+ */ messageBundle, /**
40
+ * Frontier hint for appending the message bundle to the previous state's l1 to l2 message tree.
41
+ */ l1ToL2MessageFrontierHint, /**
133
42
  * Hint for inserting the new block hash to the last archive.
134
43
  */ newArchiveSiblingPath){
135
- this.l1ToL2Roots = l1ToL2Roots;
136
44
  this.previousArchive = previousArchive;
137
45
  this.previousState = previousState;
138
46
  this.constants = constants;
139
47
  this.timestamp = timestamp;
140
- this.newL1ToL2MessageSubtreeRootSiblingPath = newL1ToL2MessageSubtreeRootSiblingPath;
48
+ this.startSpongeBlob = startSpongeBlob;
49
+ this.startMsgSponge = startMsgSponge;
50
+ this.messageBundle = messageBundle;
51
+ this.l1ToL2MessageFrontierHint = l1ToL2MessageFrontierHint;
141
52
  this.newArchiveSiblingPath = newArchiveSiblingPath;
142
53
  }
143
54
  static from(fields) {
144
- return new BlockRootEmptyTxFirstRollupPrivateInputs(...BlockRootEmptyTxFirstRollupPrivateInputs.getFields(fields));
55
+ return new BlockRootNoTxsRollupPrivateInputs(...BlockRootNoTxsRollupPrivateInputs.getFields(fields));
145
56
  }
146
57
  static getFields(fields) {
147
58
  return [
148
- fields.l1ToL2Roots,
149
59
  fields.previousArchive,
150
60
  fields.previousState,
151
61
  fields.constants,
152
62
  fields.timestamp,
153
- fields.newL1ToL2MessageSubtreeRootSiblingPath,
63
+ fields.startSpongeBlob,
64
+ fields.startMsgSponge,
65
+ fields.messageBundle,
66
+ fields.l1ToL2MessageFrontierHint,
154
67
  fields.newArchiveSiblingPath
155
68
  ];
156
69
  }
157
70
  toBuffer() {
158
- return serializeToBuffer([
159
- this.l1ToL2Roots,
160
- this.previousArchive,
161
- this.previousState,
162
- this.constants,
163
- bigintToUInt64BE(this.timestamp),
164
- this.newL1ToL2MessageSubtreeRootSiblingPath,
165
- this.newArchiveSiblingPath
166
- ]);
71
+ return serializeToBuffer(this.previousArchive, this.previousState, this.constants, bigintToUInt64BE(this.timestamp), this.startSpongeBlob, this.startMsgSponge, this.messageBundle, this.l1ToL2MessageFrontierHint, this.newArchiveSiblingPath);
167
72
  }
168
73
  static fromBuffer(buffer) {
169
74
  const reader = BufferReader.asReader(buffer);
170
- return new BlockRootEmptyTxFirstRollupPrivateInputs(ProofData.fromBuffer(reader, ParityPublicInputs), AppendOnlyTreeSnapshot.fromBuffer(reader), StateReference.fromBuffer(reader), CheckpointConstantData.fromBuffer(reader), reader.readUInt64(), reader.readArray(L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
75
+ return new BlockRootNoTxsRollupPrivateInputs(AppendOnlyTreeSnapshot.fromBuffer(reader), StateReference.fromBuffer(reader), CheckpointConstantData.fromBuffer(reader), reader.readUInt64(), reader.readObject(SpongeBlob), reader.readObject(L1ToL2MessageSponge), reader.readObject(L1ToL2MessageBundle), reader.readArray(L1_TO_L2_MSG_TREE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
171
76
  }
172
77
  toJSON() {
173
78
  return this.toBuffer();
174
79
  }
175
80
  static get schema() {
176
- return bufferSchemaFor(BlockRootEmptyTxFirstRollupPrivateInputs);
81
+ return bufferSchemaFor(BlockRootNoTxsRollupPrivateInputs);
177
82
  }
178
83
  }
179
84
  export class BlockRootRollupPrivateInputs {
180
85
  previousRollups;
86
+ messageBundle;
87
+ previousL1ToL2;
88
+ startMsgSponge;
89
+ l1ToL2MessageFrontierHint;
181
90
  newArchiveSiblingPath;
182
91
  constructor(/**
183
92
  * The previous rollup proof data from base or merge rollup circuits.
184
93
  */ previousRollups, /**
94
+ * L1-to-L2 message bundle inserted by this block.
95
+ */ messageBundle, /**
96
+ * The l1 to l2 message tree snapshot this block builds on (the previous block's post-insertion snapshot). Pinned by
97
+ * block-merge continuity to the previous block's end state; the circuit appends this block's bundle on top and
98
+ * asserts the tx constants carry the resulting post-bundle snapshot.
99
+ */ previousL1ToL2, /**
100
+ * Message sponge inherited from the previous block (checked against its `endMsgSponge` in the merge/checkpoint root).
101
+ */ startMsgSponge, /**
102
+ * Frontier hint for appending the message bundle to `previousL1ToL2`.
103
+ */ l1ToL2MessageFrontierHint, /**
185
104
  * Hint for inserting the new block hash to the last archive.
186
105
  */ newArchiveSiblingPath){
187
106
  this.previousRollups = previousRollups;
107
+ this.messageBundle = messageBundle;
108
+ this.previousL1ToL2 = previousL1ToL2;
109
+ this.startMsgSponge = startMsgSponge;
110
+ this.l1ToL2MessageFrontierHint = l1ToL2MessageFrontierHint;
188
111
  this.newArchiveSiblingPath = newArchiveSiblingPath;
189
112
  }
190
113
  static from(fields) {
@@ -193,18 +116,22 @@ export class BlockRootRollupPrivateInputs {
193
116
  static getFields(fields) {
194
117
  return [
195
118
  fields.previousRollups,
119
+ fields.messageBundle,
120
+ fields.previousL1ToL2,
121
+ fields.startMsgSponge,
122
+ fields.l1ToL2MessageFrontierHint,
196
123
  fields.newArchiveSiblingPath
197
124
  ];
198
125
  }
199
126
  toBuffer() {
200
- return serializeToBuffer(...BlockRootRollupPrivateInputs.getFields(this));
127
+ return serializeToBuffer(this.previousRollups, this.messageBundle, this.previousL1ToL2, this.startMsgSponge, this.l1ToL2MessageFrontierHint, this.newArchiveSiblingPath);
201
128
  }
202
129
  static fromBuffer(buffer) {
203
130
  const reader = BufferReader.asReader(buffer);
204
131
  return new BlockRootRollupPrivateInputs([
205
132
  ProofData.fromBuffer(reader, TxRollupPublicInputs),
206
133
  ProofData.fromBuffer(reader, TxRollupPublicInputs)
207
- ], reader.readArray(ARCHIVE_HEIGHT, Fr));
134
+ ], reader.readObject(L1ToL2MessageBundle), AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readObject(L1ToL2MessageSponge), reader.readArray(L1_TO_L2_MSG_TREE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
208
135
  }
209
136
  toJSON() {
210
137
  return this.toBuffer();
@@ -215,13 +142,31 @@ export class BlockRootRollupPrivateInputs {
215
142
  }
216
143
  export class BlockRootSingleTxRollupPrivateInputs {
217
144
  previousRollup;
145
+ messageBundle;
146
+ previousL1ToL2;
147
+ startMsgSponge;
148
+ l1ToL2MessageFrontierHint;
218
149
  newArchiveSiblingPath;
219
150
  constructor(/**
220
151
  * The previous rollup proof data from base or merge rollup circuits.
221
152
  */ previousRollup, /**
153
+ * L1-to-L2 message bundle inserted by this block.
154
+ */ messageBundle, /**
155
+ * The l1 to l2 message tree snapshot this block builds on (the previous block's post-insertion snapshot). Pinned by
156
+ * block-merge continuity to the previous block's end state; the circuit appends this block's bundle on top and
157
+ * asserts the tx constants carry the resulting post-bundle snapshot.
158
+ */ previousL1ToL2, /**
159
+ * Message sponge inherited from the previous block (checked against its `endMsgSponge` in the merge/checkpoint root).
160
+ */ startMsgSponge, /**
161
+ * Frontier hint for appending the message bundle to `previousL1ToL2`.
162
+ */ l1ToL2MessageFrontierHint, /**
222
163
  * Hint for inserting the new block hash to the last archive.
223
164
  */ newArchiveSiblingPath){
224
165
  this.previousRollup = previousRollup;
166
+ this.messageBundle = messageBundle;
167
+ this.previousL1ToL2 = previousL1ToL2;
168
+ this.startMsgSponge = startMsgSponge;
169
+ this.l1ToL2MessageFrontierHint = l1ToL2MessageFrontierHint;
225
170
  this.newArchiveSiblingPath = newArchiveSiblingPath;
226
171
  }
227
172
  static from(fields) {
@@ -230,15 +175,19 @@ export class BlockRootSingleTxRollupPrivateInputs {
230
175
  static getFields(fields) {
231
176
  return [
232
177
  fields.previousRollup,
178
+ fields.messageBundle,
179
+ fields.previousL1ToL2,
180
+ fields.startMsgSponge,
181
+ fields.l1ToL2MessageFrontierHint,
233
182
  fields.newArchiveSiblingPath
234
183
  ];
235
184
  }
236
185
  toBuffer() {
237
- return serializeToBuffer(...BlockRootSingleTxRollupPrivateInputs.getFields(this));
186
+ return serializeToBuffer(this.previousRollup, this.messageBundle, this.previousL1ToL2, this.startMsgSponge, this.l1ToL2MessageFrontierHint, this.newArchiveSiblingPath);
238
187
  }
239
188
  static fromBuffer(buffer) {
240
189
  const reader = BufferReader.asReader(buffer);
241
- return new BlockRootSingleTxRollupPrivateInputs(ProofData.fromBuffer(reader, TxRollupPublicInputs), reader.readArray(ARCHIVE_HEIGHT, Fr));
190
+ return new BlockRootSingleTxRollupPrivateInputs(ProofData.fromBuffer(reader, TxRollupPublicInputs), reader.readObject(L1ToL2MessageBundle), AppendOnlyTreeSnapshot.fromBuffer(reader), reader.readObject(L1ToL2MessageSponge), reader.readArray(L1_TO_L2_MSG_TREE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr));
242
191
  }
243
192
  toJSON() {
244
193
  return this.toBuffer();
@@ -22,8 +22,12 @@ export declare class CheckpointHeader {
22
22
  blockHeadersHash: Fr;
23
23
  /** Hash of the blobs in the checkpoint. */
24
24
  blobsHash: Fr;
25
- /** Root of the l1 to l2 messages subtree. */
26
- inHash: Fr;
25
+ /**
26
+ * Inbox rolling-hash chain value after consuming all L1-to-L2 messages bundled into this checkpoint:
27
+ * the truncated-to-field sha256 chain the L1 Inbox accumulates. This is the checkpoint's only inbox
28
+ * commitment.
29
+ */
30
+ inboxRollingHash: Fr;
27
31
  /**
28
32
  * The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
29
33
  * index 0, the second at index 1, and so on.
@@ -53,8 +57,12 @@ export declare class CheckpointHeader {
53
57
  blockHeadersHash: Fr,
54
58
  /** Hash of the blobs in the checkpoint. */
55
59
  blobsHash: Fr,
56
- /** Root of the l1 to l2 messages subtree. */
57
- inHash: Fr,
60
+ /**
61
+ * Inbox rolling-hash chain value after consuming all L1-to-L2 messages bundled into this checkpoint:
62
+ * the truncated-to-field sha256 chain the L1 Inbox accumulates. This is the checkpoint's only inbox
63
+ * commitment.
64
+ */
65
+ inboxRollingHash: Fr,
58
66
  /**
59
67
  * The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
60
68
  * index 0, the second at index 1, and so on.
@@ -106,7 +114,7 @@ export declare class CheckpointHeader {
106
114
  lastArchive: `0x${string}`;
107
115
  blockHeadersHash: `0x${string}`;
108
116
  blobsHash: `0x${string}`;
109
- inHash: `0x${string}`;
117
+ inboxRollingHash: `0x${string}`;
110
118
  epochOutHash: `0x${string}`;
111
119
  slotNumber: SlotNumber;
112
120
  timestamp: bigint;
@@ -121,4 +129,4 @@ export declare class CheckpointHeader {
121
129
  };
122
130
  [inspect.custom](): string;
123
131
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9oZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvY2hlY2twb2ludF9oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBdUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNILHFCQUFhLGdCQUFnQjtJQUV6QiwyREFBMkQ7SUFDcEQsZUFBZSxFQUFFLEVBQUU7SUFDMUIsNERBQTREO0lBQ3JELGdCQUFnQixFQUFFLEVBQUU7SUFDM0IsMkNBQTJDO0lBQ3BDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCLDZDQUE2QztJQUN0QyxNQUFNLEVBQUUsRUFBRTtJQUNqQjs7Ozs7O09BTUc7SUFDSSxZQUFZLEVBQUUsRUFBRTtJQUN2QixrQ0FBa0M7SUFDM0IsVUFBVSxFQUFFLFVBQVU7SUFDN0IsaUNBQWlDO0lBQzFCLFNBQVMsRUFBRSxNQUFNO0lBQ3hCLGlDQUFpQztJQUMxQixRQUFRLEVBQUUsVUFBVTtJQUMzQiwrQkFBK0I7SUFDeEIsWUFBWSxFQUFFLFlBQVk7SUFDakMsd0NBQXdDO0lBQ2pDLE9BQU8sRUFBRSxPQUFPO0lBQ3ZCLHdFQUF3RTtJQUNqRSxhQUFhLEVBQUUsRUFBRTtJQUN4QixnREFBZ0Q7SUFDekMsZUFBZSxFQUFFLEVBQUU7SUE5QjVCO0lBQ0UsMkRBQTJEO0lBQ3BELGVBQWUsRUFBRSxFQUFFO0lBQzFCLDREQUE0RDtJQUNyRCxnQkFBZ0IsRUFBRSxFQUFFO0lBQzNCLDJDQUEyQztJQUNwQyxTQUFTLEVBQUUsRUFBRTtJQUNwQiw2Q0FBNkM7SUFDdEMsTUFBTSxFQUFFLEVBQUU7SUFDakI7Ozs7OztPQU1HO0lBQ0ksWUFBWSxFQUFFLEVBQUU7SUFDdkIsa0NBQWtDO0lBQzNCLFVBQVUsRUFBRSxVQUFVO0lBQzdCLGlDQUFpQztJQUMxQixTQUFTLEVBQUUsTUFBTTtJQUN4QixpQ0FBaUM7SUFDMUIsUUFBUSxFQUFFLFVBQVU7SUFDM0IsK0JBQStCO0lBQ3hCLFlBQVksRUFBRSxZQUFZO0lBQ2pDLHdDQUF3QztJQUNqQyxPQUFPLEVBQUUsT0FBTztJQUN2Qix3RUFBd0U7SUFDakUsYUFBYSxFQUFFLEVBQUU7SUFDeEIsZ0RBQWdEO0lBQ3pDLGVBQWUsRUFBRSxFQUFFLEVBQ3hCO0lBRUosTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FpQjVDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLGdHQWVsRDtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFFN0M7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxvQkFpQjlDO0lBRUQsTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsV0FlN0I7SUFFRCxpRkFBaUY7SUFDakYsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGVBQWUsV0FRNUM7SUFFRCxRQUFRLDRCQWdCUDtJQUVELElBQUksSUFBSSxFQUFFLENBRVQ7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQU0sb0JBZ0I1RDtJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBTSxHQUFHLGdCQUFnQixDQWdCbkY7SUFFRCxPQUFPLElBQUksT0FBTyxDQWVqQjtJQUVEOzs7T0FHRztJQUNJLFFBQVEsa0JBRWQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLG9CQUU1QjtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLFVBQVUsb0JBZWpDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxJQUFJLFVBQVUsQ0FFMUI7SUFFRCxNQUFNLElBQUksVUFBVSxDQWtCbkI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7O01BZVI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FlZjtDQUNGIn0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9oZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvY2hlY2twb2ludF9oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBdUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNILHFCQUFhLGdCQUFnQjtJQUV6QiwyREFBMkQ7SUFDcEQsZUFBZSxFQUFFLEVBQUU7SUFDMUIsNERBQTREO0lBQ3JELGdCQUFnQixFQUFFLEVBQUU7SUFDM0IsMkNBQTJDO0lBQ3BDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCOzs7O09BSUc7SUFDSSxnQkFBZ0IsRUFBRSxFQUFFO0lBQzNCOzs7Ozs7T0FNRztJQUNJLFlBQVksRUFBRSxFQUFFO0lBQ3ZCLGtDQUFrQztJQUMzQixVQUFVLEVBQUUsVUFBVTtJQUM3QixpQ0FBaUM7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDeEIsaUNBQWlDO0lBQzFCLFFBQVEsRUFBRSxVQUFVO0lBQzNCLCtCQUErQjtJQUN4QixZQUFZLEVBQUUsWUFBWTtJQUNqQyx3Q0FBd0M7SUFDakMsT0FBTyxFQUFFLE9BQU87SUFDdkIsd0VBQXdFO0lBQ2pFLGFBQWEsRUFBRSxFQUFFO0lBQ3hCLGdEQUFnRDtJQUN6QyxlQUFlLEVBQUUsRUFBRTtJQWxDNUI7SUFDRSwyREFBMkQ7SUFDcEQsZUFBZSxFQUFFLEVBQUU7SUFDMUIsNERBQTREO0lBQ3JELGdCQUFnQixFQUFFLEVBQUU7SUFDM0IsMkNBQTJDO0lBQ3BDLFNBQVMsRUFBRSxFQUFFO0lBQ3BCOzs7O09BSUc7SUFDSSxnQkFBZ0IsRUFBRSxFQUFFO0lBQzNCOzs7Ozs7T0FNRztJQUNJLFlBQVksRUFBRSxFQUFFO0lBQ3ZCLGtDQUFrQztJQUMzQixVQUFVLEVBQUUsVUFBVTtJQUM3QixpQ0FBaUM7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDeEIsaUNBQWlDO0lBQzFCLFFBQVEsRUFBRSxVQUFVO0lBQzNCLCtCQUErQjtJQUN4QixZQUFZLEVBQUUsWUFBWTtJQUNqQyx3Q0FBd0M7SUFDakMsT0FBTyxFQUFFLE9BQU87SUFDdkIsd0VBQXdFO0lBQ2pFLGFBQWEsRUFBRSxFQUFFO0lBQ3hCLGdEQUFnRDtJQUN6QyxlQUFlLEVBQUUsRUFBRSxFQUN4QjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBaUI1QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnR0FlbEQ7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsb0JBRTdDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksb0JBaUI5QztJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLFdBZTdCO0lBRUQsaUZBQWlGO0lBQ2pGLHNCQUFzQixDQUFDLEtBQUssRUFBRSxlQUFlLFdBUTVDO0lBRUQsUUFBUSw0QkFnQlA7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNLG9CQWdCNUQ7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQU0sR0FBRyxnQkFBZ0IsQ0FnQm5GO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FlakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxvQkFFNUI7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLG9CQWVqQztJQUVEOzs7T0FHRztJQUNILGFBQWEsSUFBSSxVQUFVLENBRTFCO0lBRUQsTUFBTSxJQUFJLFVBQVUsQ0FrQm5CO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7OztNQWVSO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBZWY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ _computedKey = inspect.custom;
19
19
  lastArchiveRoot;
20
20
  blockHeadersHash;
21
21
  blobsHash;
22
- inHash;
22
+ inboxRollingHash;
23
23
  epochOutHash;
24
24
  slotNumber;
25
25
  timestamp;
@@ -28,7 +28,11 @@ _computedKey = inspect.custom;
28
28
  gasFees;
29
29
  totalManaUsed;
30
30
  accumulatedFees;
31
- constructor(/** Root of the archive tree before this block is added. */ lastArchiveRoot, /** Hash of the headers of all blocks in this checkpoint. */ blockHeadersHash, /** Hash of the blobs in the checkpoint. */ blobsHash, /** Root of the l1 to l2 messages subtree. */ inHash, /**
31
+ constructor(/** Root of the archive tree before this block is added. */ lastArchiveRoot, /** Hash of the headers of all blocks in this checkpoint. */ blockHeadersHash, /** Hash of the blobs in the checkpoint. */ blobsHash, /**
32
+ * Inbox rolling-hash chain value after consuming all L1-to-L2 messages bundled into this checkpoint:
33
+ * the truncated-to-field sha256 chain the L1 Inbox accumulates. This is the checkpoint's only inbox
34
+ * commitment.
35
+ */ inboxRollingHash, /**
32
36
  * The root of the epoch out hash balanced tree. The out hash of the first checkpoint in the epoch is inserted at
33
37
  * index 0, the second at index 1, and so on.
34
38
  * Note: This is not necessarily the final epoch out hash. It includes only the out hashes of checkpoints up to and
@@ -38,7 +42,7 @@ _computedKey = inspect.custom;
38
42
  this.lastArchiveRoot = lastArchiveRoot;
39
43
  this.blockHeadersHash = blockHeadersHash;
40
44
  this.blobsHash = blobsHash;
41
- this.inHash = inHash;
45
+ this.inboxRollingHash = inboxRollingHash;
42
46
  this.epochOutHash = epochOutHash;
43
47
  this.slotNumber = slotNumber;
44
48
  this.timestamp = timestamp;
@@ -53,7 +57,7 @@ _computedKey = inspect.custom;
53
57
  lastArchiveRoot: schemas.Fr,
54
58
  blockHeadersHash: schemas.Fr,
55
59
  blobsHash: schemas.Fr,
56
- inHash: schemas.Fr,
60
+ inboxRollingHash: schemas.Fr,
57
61
  epochOutHash: schemas.Fr,
58
62
  slotNumber: schemas.SlotNumber,
59
63
  timestamp: schemas.BigInt,
@@ -69,7 +73,7 @@ _computedKey = inspect.custom;
69
73
  fields.lastArchiveRoot,
70
74
  fields.blockHeadersHash,
71
75
  fields.blobsHash,
72
- fields.inHash,
76
+ fields.inboxRollingHash,
73
77
  fields.epochOutHash,
74
78
  fields.slotNumber,
75
79
  fields.timestamp,
@@ -88,7 +92,7 @@ _computedKey = inspect.custom;
88
92
  return new CheckpointHeader(reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), SlotNumber(Fr.fromBuffer(reader).toNumber()), reader.readUInt64(), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees), reader.readObject(Fr), reader.readObject(Fr));
89
93
  }
90
94
  equals(other) {
91
- return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.blockHeadersHash.equals(other.blockHeadersHash) && this.blobsHash.equals(other.blobsHash) && this.inHash.equals(other.inHash) && this.epochOutHash.equals(other.epochOutHash) && this.slotNumber === other.slotNumber && this.timestamp === other.timestamp && this.coinbase.equals(other.coinbase) && this.feeRecipient.equals(other.feeRecipient) && this.gasFees.equals(other.gasFees) && this.totalManaUsed.equals(other.totalManaUsed) && this.accumulatedFees.equals(other.accumulatedFees);
95
+ return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.blockHeadersHash.equals(other.blockHeadersHash) && this.blobsHash.equals(other.blobsHash) && this.inboxRollingHash.equals(other.inboxRollingHash) && this.epochOutHash.equals(other.epochOutHash) && this.slotNumber === other.slotNumber && this.timestamp === other.timestamp && this.coinbase.equals(other.coinbase) && this.feeRecipient.equals(other.feeRecipient) && this.gasFees.equals(other.gasFees) && this.totalManaUsed.equals(other.totalManaUsed) && this.accumulatedFees.equals(other.accumulatedFees);
92
96
  }
93
97
  /** Returns true if the global variables match those in the checkpoint header. */ matchesGlobalVariables(other) {
94
98
  return this.coinbase.equals(other.coinbase) && this.feeRecipient.equals(other.feeRecipient) && this.gasFees.equals(other.gasFees) && this.slotNumber === other.slotNumber && this.timestamp === other.timestamp;
@@ -99,7 +103,7 @@ _computedKey = inspect.custom;
99
103
  this.lastArchiveRoot,
100
104
  this.blockHeadersHash,
101
105
  this.blobsHash,
102
- this.inHash,
106
+ this.inboxRollingHash,
103
107
  this.epochOutHash,
104
108
  new Fr(this.slotNumber),
105
109
  bigintToUInt64BE(this.timestamp),
@@ -120,7 +124,7 @@ _computedKey = inspect.custom;
120
124
  lastArchiveRoot: Fr.ZERO,
121
125
  blockHeadersHash: Fr.ZERO,
122
126
  blobsHash: Fr.ZERO,
123
- inHash: Fr.ZERO,
127
+ inboxRollingHash: Fr.ZERO,
124
128
  epochOutHash: Fr.ZERO,
125
129
  slotNumber: SlotNumber.ZERO,
126
130
  timestamp: 0n,
@@ -137,7 +141,7 @@ _computedKey = inspect.custom;
137
141
  lastArchiveRoot: Fr.random(),
138
142
  blockHeadersHash: Fr.random(),
139
143
  blobsHash: Fr.random(),
140
- inHash: Fr.random(),
144
+ inboxRollingHash: Fr.random(),
141
145
  epochOutHash: Fr.random(),
142
146
  slotNumber: SlotNumber(Math.floor(Math.random() * 1000) + 1),
143
147
  timestamp: BigInt(Math.floor(Date.now() / 1000)),
@@ -150,7 +154,7 @@ _computedKey = inspect.custom;
150
154
  });
151
155
  }
152
156
  isEmpty() {
153
- return this.lastArchiveRoot.isZero() && this.blockHeadersHash.isZero() && this.blobsHash.isZero() && this.inHash.isZero() && this.epochOutHash.isZero() && this.slotNumber === 0 && this.timestamp === 0n && this.coinbase.isZero() && this.feeRecipient.isZero() && this.gasFees.isEmpty() && this.totalManaUsed.isZero() && this.accumulatedFees.isZero();
157
+ return this.lastArchiveRoot.isZero() && this.blockHeadersHash.isZero() && this.blobsHash.isZero() && this.inboxRollingHash.isZero() && this.epochOutHash.isZero() && this.slotNumber === 0 && this.timestamp === 0n && this.coinbase.isZero() && this.feeRecipient.isZero() && this.gasFees.isEmpty() && this.totalManaUsed.isZero() && this.accumulatedFees.isZero();
154
158
  }
155
159
  /**
156
160
  * Serializes this instance into a string.
@@ -162,7 +166,7 @@ _computedKey = inspect.custom;
162
166
  return CheckpointHeader.fromBuffer(hexToBuffer(str));
163
167
  }
164
168
  static fromViem(header) {
165
- return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), Fr.fromString(header.blockHeadersHash), Fr.fromString(header.blobsHash), Fr.fromString(header.inHash), Fr.fromString(header.outHash), SlotNumber.fromBigInt(header.slotNumber), header.timestamp, new EthAddress(hexToBuffer(header.coinbase)), new AztecAddress(hexToBuffer(header.feeRecipient)), new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas), new Fr(header.totalManaUsed), new Fr(header.accumulatedFees));
169
+ return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), Fr.fromString(header.blockHeadersHash), Fr.fromString(header.blobsHash), Fr.fromString(header.inboxRollingHash), Fr.fromString(header.outHash), SlotNumber.fromBigInt(header.slotNumber), header.timestamp, new EthAddress(hexToBuffer(header.coinbase)), new AztecAddress(hexToBuffer(header.feeRecipient)), new GasFees(header.gasFees.feePerDaGas, header.gasFees.feePerL2Gas), new Fr(header.totalManaUsed), new Fr(header.accumulatedFees));
166
170
  }
167
171
  /**
168
172
  * Returns the slot number as a SlotNumber branded type.
@@ -175,7 +179,7 @@ _computedKey = inspect.custom;
175
179
  lastArchiveRoot: this.lastArchiveRoot.toString(),
176
180
  blockHeadersHash: this.blockHeadersHash.toString(),
177
181
  blobsHash: this.blobsHash.toString(),
178
- inHash: this.inHash.toString(),
182
+ inboxRollingHash: this.inboxRollingHash.toString(),
179
183
  outHash: this.epochOutHash.toString(),
180
184
  slotNumber: BigInt(this.slotNumber),
181
185
  timestamp: this.timestamp,
@@ -194,7 +198,7 @@ _computedKey = inspect.custom;
194
198
  lastArchive: this.lastArchiveRoot.toString(),
195
199
  blockHeadersHash: this.blockHeadersHash.toString(),
196
200
  blobsHash: this.blobsHash.toString(),
197
- inHash: this.inHash.toString(),
201
+ inboxRollingHash: this.inboxRollingHash.toString(),
198
202
  epochOutHash: this.epochOutHash.toString(),
199
203
  slotNumber: this.slotNumber,
200
204
  timestamp: this.timestamp,
@@ -210,7 +214,7 @@ _computedKey = inspect.custom;
210
214
  lastArchiveRoot: ${this.lastArchiveRoot.toString()},
211
215
  blockHeadersHash: ${this.blockHeadersHash.toString()},
212
216
  blobsHash: ${inspect(this.blobsHash)},
213
- inHash: ${inspect(this.inHash)},
217
+ inboxRollingHash: ${inspect(this.inboxRollingHash)},
214
218
  epochOutHash: ${inspect(this.epochOutHash)},
215
219
  slotNumber: ${this.slotNumber},
216
220
  timestamp: ${this.timestamp},
@@ -30,6 +30,15 @@ export declare class CheckpointRollupPublicInputs {
30
30
  * The out hash tree snapshot after applying this checkpoint range.
31
31
  */
32
32
  newOutHash: AppendOnlyTreeSnapshot;
33
+ /**
34
+ * Inbox rolling hash before consuming this checkpoint range's messages.
35
+ */
36
+ startInboxRollingHash: Fr;
37
+ /**
38
+ * Inbox rolling hash after consuming this checkpoint range's messages (the end value lands in the checkpoint
39
+ * header). Checkpoint merges assert `right.start == left.end` for chain continuity.
40
+ */
41
+ endInboxRollingHash: Fr;
33
42
  /**
34
43
  * The hashes of the headers of the constituent checkpoints.
35
44
  */
@@ -71,6 +80,15 @@ export declare class CheckpointRollupPublicInputs {
71
80
  * The out hash tree snapshot after applying this checkpoint range.
72
81
  */
73
82
  newOutHash: AppendOnlyTreeSnapshot,
83
+ /**
84
+ * Inbox rolling hash before consuming this checkpoint range's messages.
85
+ */
86
+ startInboxRollingHash: Fr,
87
+ /**
88
+ * Inbox rolling hash after consuming this checkpoint range's messages (the end value lands in the checkpoint
89
+ * header). Checkpoint merges assert `right.start == left.end` for chain continuity.
90
+ */
91
+ endInboxRollingHash: Fr,
74
92
  /**
75
93
  * The hashes of the headers of the constituent checkpoints.
76
94
  */
@@ -103,6 +121,8 @@ export declare class CheckpointRollupPublicInputs {
103
121
  newArchiveRoot: `0x${string}`;
104
122
  previousOutHashRoot: `0x${string}`;
105
123
  newOutHashRoot: `0x${string}`;
124
+ startInboxRollingHash: `0x${string}`;
125
+ endInboxRollingHash: `0x${string}`;
106
126
  };
107
127
  /** Creates an instance from a hex string. */
108
128
  static get schema(): import("zod").ZodType<CheckpointRollupPublicInputs, string, import("zod/v4/core").$ZodTypeInternals<CheckpointRollupPublicInputs, string>>;
@@ -118,12 +138,12 @@ export declare class FeeRecipient {
118
138
  static empty(): FeeRecipient;
119
139
  isEmpty(): boolean;
120
140
  toFriendlyJSON(): {
121
- value?: undefined;
122
141
  recipient?: undefined;
142
+ value?: undefined;
123
143
  } | {
124
144
  recipient: `0x${string}`;
125
145
  value: `0x${string}`;
126
146
  };
127
147
  static random(): FeeRecipient;
128
148
  }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yb2xsdXBfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvbGx1cC9jaGVja3BvaW50X3JvbGx1cF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxLQUFLLEVBQXdDLE1BQU0sNkJBQTZCLENBQUM7QUFFN0csT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxxQkFBYSw0QkFBNEI7SUFFckM7O09BRUc7SUFDSSxTQUFTLEVBQUUsaUJBQWlCO0lBQ25DOztPQUVHO0lBQ0ksZUFBZSxFQUFFLHNCQUFzQjtJQUM5Qzs7T0FFRztJQUNJLFVBQVUsRUFBRSxzQkFBc0I7SUFDekM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUMxRTs7T0FFRztJQUNJLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8seUJBQXlCLENBQUM7SUFDbEU7O09BRUc7SUFDSSxvQkFBb0IsRUFBRSxlQUFlO0lBQzVDOztPQUVHO0lBQ0ksa0JBQWtCLEVBQUUsZUFBZTtJQUMxQzs7T0FFRztJQUNJLG1CQUFtQixFQUFFLDJCQUEyQjtJQXhDekQ7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxpQkFBaUI7SUFDbkM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLGVBQWUsRUFBRSxzQkFBc0I7SUFDOUM7O09BRUc7SUFDSSxVQUFVLEVBQUUsc0JBQXNCO0lBQ3pDOztPQUVHO0lBQ0ksc0JBQXNCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLHlCQUF5QixDQUFDO0lBQzFFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUNsRTs7T0FFRztJQUNJLG9CQUFvQixFQUFFLGVBQWU7SUFDNUM7O09BRUc7SUFDSSxrQkFBa0IsRUFBRSxlQUFlO0lBQzFDOztPQUVHO0lBQ0ksbUJBQW1CLEVBQUUsMkJBQTJCLEVBQ3JEO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0NBYzlDO0lBRUQsUUFBUSw0QkFhUDtJQUVELFFBQVEsa0JBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLGdDQUU1QjtJQUVELDhEQUE4RDtJQUM5RCxNQUFNLDRCQUVMO0lBRUQsU0FBUzs7Ozs7O01BUVI7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxLQUFLLE1BQU0sK0lBRWhCO0NBQ0Y7QUFFRCxxQkFBYSxZQUFZO0lBRWQsU0FBUyxFQUFFLFVBQVU7SUFDckIsS0FBSyxFQUFFLEVBQUU7SUFGbEIsWUFDUyxTQUFTLEVBQUUsVUFBVSxFQUNyQixLQUFLLEVBQUUsRUFBRSxFQUNkO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxZQUFZLENBRzdEO0lBRUQsUUFBUSw0QkFFUDtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsNkJBRTlDO0lBRUQsUUFBUSxTQUVQO0lBRUQsTUFBTSxDQUFDLEtBQUssaUJBRVg7SUFFRCxPQUFPLFlBRU47SUFFRCxjQUFjOzs7Ozs7TUFLYjtJQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUVaO0NBQ0YifQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9yb2xsdXBfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvbGx1cC9jaGVja3BvaW50X3JvbGx1cF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxLQUFLLEVBQXdDLE1BQU0sNkJBQTZCLENBQUM7QUFFN0csT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxxQkFBYSw0QkFBNEI7SUFFckM7O09BRUc7SUFDSSxTQUFTLEVBQUUsaUJBQWlCO0lBQ25DOztPQUVHO0lBQ0ksZUFBZSxFQUFFLHNCQUFzQjtJQUM5Qzs7T0FFRztJQUNJLFVBQVUsRUFBRSxzQkFBc0I7SUFDekM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLHFCQUFxQixFQUFFLEVBQUU7SUFDaEM7OztPQUdHO0lBQ0ksbUJBQW1CLEVBQUUsRUFBRTtJQUM5Qjs7T0FFRztJQUNJLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUMxRTs7T0FFRztJQUNJLElBQUksRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLE9BQU8seUJBQXlCLENBQUM7SUFDbEU7O09BRUc7SUFDSSxvQkFBb0IsRUFBRSxlQUFlO0lBQzVDOztPQUVHO0lBQ0ksa0JBQWtCLEVBQUUsZUFBZTtJQUMxQzs7T0FFRztJQUNJLG1CQUFtQixFQUFFLDJCQUEyQjtJQWpEekQ7SUFDRTs7T0FFRztJQUNJLFNBQVMsRUFBRSxpQkFBaUI7SUFDbkM7O09BRUc7SUFDSSxlQUFlLEVBQUUsc0JBQXNCO0lBQzlDOztPQUVHO0lBQ0ksVUFBVSxFQUFFLHNCQUFzQjtJQUN6Qzs7T0FFRztJQUNJLGVBQWUsRUFBRSxzQkFBc0I7SUFDOUM7O09BRUc7SUFDSSxVQUFVLEVBQUUsc0JBQXNCO0lBQ3pDOztPQUVHO0lBQ0kscUJBQXFCLEVBQUUsRUFBRTtJQUNoQzs7O09BR0c7SUFDSSxtQkFBbUIsRUFBRSxFQUFFO0lBQzlCOztPQUVHO0lBQ0ksc0JBQXNCLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLHlCQUF5QixDQUFDO0lBQzFFOztPQUVHO0lBQ0ksSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyx5QkFBeUIsQ0FBQztJQUNsRTs7T0FFRztJQUNJLG9CQUFvQixFQUFFLGVBQWU7SUFDNUM7O09BRUc7SUFDSSxrQkFBa0IsRUFBRSxlQUFlO0lBQzFDOztPQUVHO0lBQ0ksbUJBQW1CLEVBQUUsMkJBQTJCLEVBQ3JEO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksZ0NBZ0I5QztJQUVELFFBQVEsNEJBZVA7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxnQ0FFNUI7SUFFRCw4REFBOEQ7SUFDOUQsTUFBTSw0QkFFTDtJQUVELFNBQVM7Ozs7Ozs7O01BVVI7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxLQUFLLE1BQU0sK0lBRWhCO0NBQ0Y7QUFFRCxxQkFBYSxZQUFZO0lBRWQsU0FBUyxFQUFFLFVBQVU7SUFDckIsS0FBSyxFQUFFLEVBQUU7SUFGbEIsWUFDUyxTQUFTLEVBQUUsVUFBVSxFQUNyQixLQUFLLEVBQUUsRUFBRSxFQUNkO0lBRUosTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxZQUFZLENBRzdEO0lBRUQsUUFBUSw0QkFFUDtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQUMsNkJBRTlDO0lBRUQsUUFBUSxTQUVQO0lBRUQsTUFBTSxDQUFDLEtBQUssaUJBRVg7SUFFRCxPQUFPLFlBRU47SUFFRCxjQUFjOzs7Ozs7TUFLYjtJQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUVaO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,4BAA4B;IAErC;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IAxCzD;IACE;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B,EACrD;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gCAc9C;IAED,QAAQ,4BAaP;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gCAE5B;IAED,8DAA8D;IAC9D,MAAM,4BAEL;IAED,SAAS;;;;;;MAQR;IAED,6CAA6C;IAC7C,MAAM,KAAK,MAAM,+IAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;IAFlB,YACS,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAG7D;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,6BAE9C;IAED,QAAQ,SAEP;IAED,MAAM,CAAC,KAAK,iBAEX;IAED,OAAO,YAEN;IAED,cAAc;;;;;;MAKb;IAED,MAAM,CAAC,MAAM,iBAEZ;CACF"}
1
+ {"version":3,"file":"checkpoint_rollup_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_rollup_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,4BAA4B;IAErC;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;;OAGG;IACI,mBAAmB,EAAE,EAAE;IAC9B;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B;IAjDzD;IACE;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;;OAGG;IACI,mBAAmB,EAAE,EAAE;IAC9B;;OAEG;IACI,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,yBAAyB,CAAC;IAC1E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,yBAAyB,CAAC;IAClE;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;OAEG;IACI,mBAAmB,EAAE,2BAA2B,EACrD;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,gCAgB9C;IAED,QAAQ,4BAeP;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,gCAE5B;IAED,8DAA8D;IAC9D,MAAM,4BAEL;IAED,SAAS;;;;;;;;MAUR;IAED,6CAA6C;IAC7C,MAAM,KAAK,MAAM,+IAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;IAFlB,YACS,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE,EACd;IAEJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,CAG7D;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,6BAE9C;IAED,QAAQ,SAEP;IAED,MAAM,CAAC,KAAK,iBAEX;IAED,OAAO,YAEN;IAED,cAAc;;;;;;MAKb;IAED,MAAM,CAAC,MAAM,iBAEZ;CACF"}
@@ -15,6 +15,8 @@ import { EpochConstantData } from './epoch_constant_data.js';
15
15
  newArchive;
16
16
  previousOutHash;
17
17
  newOutHash;
18
+ startInboxRollingHash;
19
+ endInboxRollingHash;
18
20
  checkpointHeaderHashes;
19
21
  fees;
20
22
  startBlobAccumulator;
@@ -31,6 +33,11 @@ import { EpochConstantData } from './epoch_constant_data.js';
31
33
  */ previousOutHash, /**
32
34
  * The out hash tree snapshot after applying this checkpoint range.
33
35
  */ newOutHash, /**
36
+ * Inbox rolling hash before consuming this checkpoint range's messages.
37
+ */ startInboxRollingHash, /**
38
+ * Inbox rolling hash after consuming this checkpoint range's messages (the end value lands in the checkpoint
39
+ * header). Checkpoint merges assert `right.start == left.end` for chain continuity.
40
+ */ endInboxRollingHash, /**
34
41
  * The hashes of the headers of the constituent checkpoints.
35
42
  */ checkpointHeaderHashes, /**
36
43
  * The summed transaction fees and recipients of the constituent checkpoints.
@@ -46,6 +53,8 @@ import { EpochConstantData } from './epoch_constant_data.js';
46
53
  this.newArchive = newArchive;
47
54
  this.previousOutHash = previousOutHash;
48
55
  this.newOutHash = newOutHash;
56
+ this.startInboxRollingHash = startInboxRollingHash;
57
+ this.endInboxRollingHash = endInboxRollingHash;
49
58
  this.checkpointHeaderHashes = checkpointHeaderHashes;
50
59
  this.fees = fees;
51
60
  this.startBlobAccumulator = startBlobAccumulator;
@@ -54,10 +63,10 @@ import { EpochConstantData } from './epoch_constant_data.js';
54
63
  }
55
64
  static fromBuffer(buffer) {
56
65
  const reader = BufferReader.asReader(buffer);
57
- return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient), reader.readObject(BlobAccumulator), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges));
66
+ return new CheckpointRollupPublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, Fr), reader.readArray(MAX_CHECKPOINTS_PER_EPOCH, FeeRecipient), reader.readObject(BlobAccumulator), reader.readObject(BlobAccumulator), reader.readObject(FinalBlobBatchingChallenges));
58
67
  }
59
68
  toBuffer() {
60
- return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.previousOutHash, this.newOutHash, this.checkpointHeaderHashes, this.fees, this.startBlobAccumulator, this.endBlobAccumulator, this.finalBlobChallenges);
69
+ return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.previousOutHash, this.newOutHash, this.startInboxRollingHash, this.endInboxRollingHash, this.checkpointHeaderHashes, this.fees, this.startBlobAccumulator, this.endBlobAccumulator, this.finalBlobChallenges);
61
70
  }
62
71
  toString() {
63
72
  return bufferToHex(this.toBuffer());
@@ -74,7 +83,9 @@ import { EpochConstantData } from './epoch_constant_data.js';
74
83
  previousArchiveRoot: this.previousArchive.root.toString(),
75
84
  newArchiveRoot: this.newArchive.root.toString(),
76
85
  previousOutHashRoot: this.previousOutHash.root.toString(),
77
- newOutHashRoot: this.newOutHash.root.toString()
86
+ newOutHashRoot: this.newOutHash.root.toString(),
87
+ startInboxRollingHash: this.startInboxRollingHash.toString(),
88
+ endInboxRollingHash: this.endInboxRollingHash.toString()
78
89
  };
79
90
  }
80
91
  /** Creates an instance from a hex string. */ static get schema() {