@aztec/stdlib 3.0.0-nightly.20251128 → 3.0.0-nightly.20251201.2

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 (122) hide show
  1. package/dest/avm/avm.d.ts +17 -9
  2. package/dest/avm/avm.d.ts.map +1 -1
  3. package/dest/avm/avm_circuit_public_inputs.d.ts +5 -3
  4. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  5. package/dest/avm/avm_proving_request.d.ts +9 -5
  6. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  7. package/dest/block/l2_block.d.ts +3 -2
  8. package/dest/block/l2_block.d.ts.map +1 -1
  9. package/dest/block/l2_block_code_to_purge.d.ts +1 -1
  10. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  11. package/dest/block/l2_block_code_to_purge.js +3 -2
  12. package/dest/block/l2_block_header.d.ts +4 -3
  13. package/dest/block/l2_block_header.d.ts.map +1 -1
  14. package/dest/block/l2_block_header.js +1 -1
  15. package/dest/block/l2_block_source.d.ts +4 -4
  16. package/dest/block/l2_block_source.d.ts.map +1 -1
  17. package/dest/epoch-helpers/index.d.ts +7 -7
  18. package/dest/epoch-helpers/index.d.ts.map +1 -1
  19. package/dest/epoch-helpers/index.js +9 -9
  20. package/dest/interfaces/archiver.js +1 -1
  21. package/dest/interfaces/aztec-node.d.ts +8 -2
  22. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  23. package/dest/interfaces/aztec-node.js +2 -1
  24. package/dest/interfaces/p2p.d.ts +3 -2
  25. package/dest/interfaces/p2p.d.ts.map +1 -1
  26. package/dest/interfaces/p2p.js +1 -1
  27. package/dest/interfaces/proving-job.d.ts +9 -5
  28. package/dest/interfaces/proving-job.d.ts.map +1 -1
  29. package/dest/interfaces/validator.d.ts +3 -3
  30. package/dest/interfaces/validator.d.ts.map +1 -1
  31. package/dest/kernel/private_call_data.d.ts +62 -5
  32. package/dest/kernel/private_call_data.d.ts.map +1 -1
  33. package/dest/kernel/private_call_data.js +105 -4
  34. package/dest/p2p/block_attestation.d.ts +4 -9
  35. package/dest/p2p/block_attestation.d.ts.map +1 -1
  36. package/dest/p2p/block_proposal.d.ts +3 -2
  37. package/dest/p2p/block_proposal.d.ts.map +1 -1
  38. package/dest/p2p/block_proposal.js +1 -1
  39. package/dest/p2p/consensus_payload.d.ts +4 -182
  40. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  41. package/dest/p2p/consensus_payload.js +14 -25
  42. package/dest/rollup/checkpoint_constant_data.d.ts +11 -5
  43. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
  44. package/dest/rollup/checkpoint_constant_data.js +11 -4
  45. package/dest/rollup/checkpoint_header.d.ts +11 -5
  46. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  47. package/dest/rollup/checkpoint_header.js +18 -11
  48. package/dest/schemas/schemas.d.ts +6 -1
  49. package/dest/schemas/schemas.d.ts.map +1 -1
  50. package/dest/schemas/schemas.js +2 -0
  51. package/dest/slashing/empire.js +2 -2
  52. package/dest/slashing/helpers.d.ts +5 -5
  53. package/dest/slashing/helpers.d.ts.map +1 -1
  54. package/dest/slashing/helpers.js +7 -6
  55. package/dest/slashing/interfaces.d.ts +3 -2
  56. package/dest/slashing/interfaces.d.ts.map +1 -1
  57. package/dest/tests/factories.d.ts +1 -1
  58. package/dest/tests/factories.d.ts.map +1 -1
  59. package/dest/tests/factories.js +5 -4
  60. package/dest/tests/mocks.d.ts +2 -3
  61. package/dest/tests/mocks.d.ts.map +1 -1
  62. package/dest/tests/mocks.js +6 -12
  63. package/dest/trees/append_only_tree_snapshot.d.ts +1 -4
  64. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  65. package/dest/trees/append_only_tree_snapshot.js +0 -9
  66. package/dest/tx/block_header.d.ts +4 -3
  67. package/dest/tx/block_header.d.ts.map +1 -1
  68. package/dest/tx/block_header.js +1 -1
  69. package/dest/tx/global_variable_builder.d.ts +3 -2
  70. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  71. package/dest/tx/global_variables.d.ts +26 -8
  72. package/dest/tx/global_variables.d.ts.map +1 -1
  73. package/dest/tx/global_variables.js +27 -10
  74. package/dest/tx/partial_state_reference.d.ts +1 -4
  75. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  76. package/dest/tx/partial_state_reference.js +0 -10
  77. package/dest/tx/state_reference.d.ts +1 -4
  78. package/dest/tx/state_reference.d.ts.map +1 -1
  79. package/dest/tx/state_reference.js +0 -9
  80. package/dest/tx/tx.d.ts +2 -2
  81. package/dest/tx/tx.d.ts.map +1 -1
  82. package/dest/tx/tx.js +1 -0
  83. package/dest/validators/errors.d.ts +6 -7
  84. package/dest/validators/errors.d.ts.map +1 -1
  85. package/dest/validators/errors.js +2 -4
  86. package/dest/validators/schemas.d.ts +102 -48
  87. package/dest/validators/schemas.d.ts.map +1 -1
  88. package/dest/validators/schemas.js +6 -6
  89. package/dest/validators/types.d.ts +9 -9
  90. package/dest/validators/types.d.ts.map +1 -1
  91. package/package.json +8 -8
  92. package/src/block/l2_block.ts +2 -1
  93. package/src/block/l2_block_code_to_purge.ts +3 -2
  94. package/src/block/l2_block_header.ts +3 -2
  95. package/src/block/l2_block_source.ts +3 -3
  96. package/src/epoch-helpers/index.ts +19 -14
  97. package/src/interfaces/archiver.ts +1 -1
  98. package/src/interfaces/aztec-node.ts +12 -3
  99. package/src/interfaces/p2p.ts +4 -2
  100. package/src/interfaces/validator.ts +1 -2
  101. package/src/kernel/private_call_data.ts +130 -3
  102. package/src/p2p/block_attestation.ts +2 -1
  103. package/src/p2p/block_proposal.ts +3 -2
  104. package/src/p2p/consensus_payload.ts +12 -28
  105. package/src/rollup/checkpoint_constant_data.ts +24 -5
  106. package/src/rollup/checkpoint_header.ts +21 -12
  107. package/src/schemas/schemas.ts +7 -0
  108. package/src/slashing/empire.ts +2 -2
  109. package/src/slashing/helpers.ts +12 -9
  110. package/src/slashing/interfaces.ts +3 -1
  111. package/src/tests/factories.ts +5 -4
  112. package/src/tests/mocks.ts +2 -16
  113. package/src/trees/append_only_tree_snapshot.ts +0 -12
  114. package/src/tx/block_header.ts +3 -2
  115. package/src/tx/global_variable_builder.ts +2 -1
  116. package/src/tx/global_variables.ts +30 -11
  117. package/src/tx/partial_state_reference.ts +0 -17
  118. package/src/tx/state_reference.ts +0 -15
  119. package/src/tx/tx.ts +2 -1
  120. package/src/validators/errors.ts +3 -4
  121. package/src/validators/schemas.ts +6 -6
  122. package/src/validators/types.ts +8 -8
@@ -5,202 +5,30 @@ import { z } from 'zod';
5
5
  import type { L2Block } from '../block/l2_block.js';
6
6
  import type { Checkpoint } from '../checkpoint/checkpoint.js';
7
7
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
- import { StateReference } from '../tx/state_reference.js';
9
8
  import type { Signable, SignatureDomainSeparator } from './signature_utils.js';
10
9
  export declare class ConsensusPayload implements Signable {
11
10
  readonly header: CheckpointHeader;
12
11
  readonly archive: Fr;
13
- readonly stateReference: StateReference;
14
12
  private size;
15
13
  constructor(
16
14
  /** The proposed block header the attestation is made over */
17
15
  header: CheckpointHeader,
18
16
  /** The archive root after the block is added */
19
- archive: Fr,
20
- /** The state reference after the block is added */
21
- stateReference: StateReference);
17
+ archive: Fr);
22
18
  static get schema(): z.ZodEffects<z.ZodObject<{
23
19
  header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
24
20
  archive: z.ZodType<Fr, any, string>;
25
- stateReference: z.ZodEffects<z.ZodObject<{
26
- l1ToL2MessageTree: z.ZodEffects<z.ZodObject<{
27
- root: z.ZodType<Fr, any, string>;
28
- nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
29
- }, "strip", z.ZodTypeAny, {
30
- root: Fr;
31
- nextAvailableLeafIndex: number;
32
- }, {
33
- root: string;
34
- nextAvailableLeafIndex: string | number | bigint;
35
- }>, import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot, {
36
- root: string;
37
- nextAvailableLeafIndex: string | number | bigint;
38
- }>;
39
- partial: z.ZodEffects<z.ZodObject<{
40
- noteHashTree: z.ZodEffects<z.ZodObject<{
41
- root: z.ZodType<Fr, any, string>;
42
- nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
43
- }, "strip", z.ZodTypeAny, {
44
- root: Fr;
45
- nextAvailableLeafIndex: number;
46
- }, {
47
- root: string;
48
- nextAvailableLeafIndex: string | number | bigint;
49
- }>, import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot, {
50
- root: string;
51
- nextAvailableLeafIndex: string | number | bigint;
52
- }>;
53
- nullifierTree: z.ZodEffects<z.ZodObject<{
54
- root: z.ZodType<Fr, any, string>;
55
- nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
56
- }, "strip", z.ZodTypeAny, {
57
- root: Fr;
58
- nextAvailableLeafIndex: number;
59
- }, {
60
- root: string;
61
- nextAvailableLeafIndex: string | number | bigint;
62
- }>, import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot, {
63
- root: string;
64
- nextAvailableLeafIndex: string | number | bigint;
65
- }>;
66
- publicDataTree: z.ZodEffects<z.ZodObject<{
67
- root: z.ZodType<Fr, any, string>;
68
- nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
69
- }, "strip", z.ZodTypeAny, {
70
- root: Fr;
71
- nextAvailableLeafIndex: number;
72
- }, {
73
- root: string;
74
- nextAvailableLeafIndex: string | number | bigint;
75
- }>, import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot, {
76
- root: string;
77
- nextAvailableLeafIndex: string | number | bigint;
78
- }>;
79
- }, "strip", z.ZodTypeAny, {
80
- noteHashTree: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
81
- nullifierTree: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
82
- publicDataTree: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
83
- }, {
84
- noteHashTree: {
85
- root: string;
86
- nextAvailableLeafIndex: string | number | bigint;
87
- };
88
- nullifierTree: {
89
- root: string;
90
- nextAvailableLeafIndex: string | number | bigint;
91
- };
92
- publicDataTree: {
93
- root: string;
94
- nextAvailableLeafIndex: string | number | bigint;
95
- };
96
- }>, import("../tx/partial_state_reference.js").PartialStateReference, {
97
- noteHashTree: {
98
- root: string;
99
- nextAvailableLeafIndex: string | number | bigint;
100
- };
101
- nullifierTree: {
102
- root: string;
103
- nextAvailableLeafIndex: string | number | bigint;
104
- };
105
- publicDataTree: {
106
- root: string;
107
- nextAvailableLeafIndex: string | number | bigint;
108
- };
109
- }>;
110
- }, "strip", z.ZodTypeAny, {
111
- l1ToL2MessageTree: import("../trees/append_only_tree_snapshot.js").AppendOnlyTreeSnapshot;
112
- partial: import("../tx/partial_state_reference.js").PartialStateReference;
113
- }, {
114
- l1ToL2MessageTree: {
115
- root: string;
116
- nextAvailableLeafIndex: string | number | bigint;
117
- };
118
- partial: {
119
- noteHashTree: {
120
- root: string;
121
- nextAvailableLeafIndex: string | number | bigint;
122
- };
123
- nullifierTree: {
124
- root: string;
125
- nextAvailableLeafIndex: string | number | bigint;
126
- };
127
- publicDataTree: {
128
- root: string;
129
- nextAvailableLeafIndex: string | number | bigint;
130
- };
131
- };
132
- }>, StateReference, {
133
- l1ToL2MessageTree: {
134
- root: string;
135
- nextAvailableLeafIndex: string | number | bigint;
136
- };
137
- partial: {
138
- noteHashTree: {
139
- root: string;
140
- nextAvailableLeafIndex: string | number | bigint;
141
- };
142
- nullifierTree: {
143
- root: string;
144
- nextAvailableLeafIndex: string | number | bigint;
145
- };
146
- publicDataTree: {
147
- root: string;
148
- nextAvailableLeafIndex: string | number | bigint;
149
- };
150
- };
151
- }>;
152
21
  }, "strip", z.ZodTypeAny, {
153
22
  header: CheckpointHeader;
154
23
  archive: Fr;
155
- stateReference: StateReference;
156
24
  }, {
157
25
  header?: any;
158
26
  archive: string;
159
- stateReference: {
160
- l1ToL2MessageTree: {
161
- root: string;
162
- nextAvailableLeafIndex: string | number | bigint;
163
- };
164
- partial: {
165
- noteHashTree: {
166
- root: string;
167
- nextAvailableLeafIndex: string | number | bigint;
168
- };
169
- nullifierTree: {
170
- root: string;
171
- nextAvailableLeafIndex: string | number | bigint;
172
- };
173
- publicDataTree: {
174
- root: string;
175
- nextAvailableLeafIndex: string | number | bigint;
176
- };
177
- };
178
- };
179
27
  }>, ConsensusPayload, {
180
28
  header?: any;
181
29
  archive: string;
182
- stateReference: {
183
- l1ToL2MessageTree: {
184
- root: string;
185
- nextAvailableLeafIndex: string | number | bigint;
186
- };
187
- partial: {
188
- noteHashTree: {
189
- root: string;
190
- nextAvailableLeafIndex: string | number | bigint;
191
- };
192
- nullifierTree: {
193
- root: string;
194
- nextAvailableLeafIndex: string | number | bigint;
195
- };
196
- publicDataTree: {
197
- root: string;
198
- nextAvailableLeafIndex: string | number | bigint;
199
- };
200
- };
201
- };
202
30
  }>;
203
- static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr, StateReference];
31
+ static getFields(fields: FieldsOf<ConsensusPayload>): readonly [CheckpointHeader, Fr];
204
32
  getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
205
33
  toBuffer(): Buffer;
206
34
  equals(other: ConsensusPayload): boolean;
@@ -224,7 +52,7 @@ export declare class ConsensusPayload implements Signable {
224
52
  inHash: `0x${string}`;
225
53
  outHash: `0x${string}`;
226
54
  };
227
- slotNumber: bigint;
55
+ slotNumber: import("@aztec/foundation/schemas").SlotNumber;
228
56
  timestamp: bigint;
229
57
  coinbase: `0x${string}`;
230
58
  feeRecipient: `0x${string}`;
@@ -235,13 +63,7 @@ export declare class ConsensusPayload implements Signable {
235
63
  totalManaUsed: bigint;
236
64
  };
237
65
  archive: `0x${string}`;
238
- stateReference: {
239
- l1ToL2MessageTree: `0x${string}`;
240
- noteHashTree: `0x${string}`;
241
- nullifierTree: `0x${string}`;
242
- publicDataTree: `0x${string}`;
243
- };
244
66
  };
245
67
  toString(): string;
246
68
  }
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0UscUJBQWEsZ0JBQWlCLFlBQVcsUUFBUTthQUs3QixNQUFNLEVBQUUsZ0JBQWdCO2FBRXhCLE9BQU8sRUFBRSxFQUFFO2FBRVgsY0FBYyxFQUFFLGNBQWM7SUFSaEQsT0FBTyxDQUFDLElBQUksQ0FBcUI7SUFFakM7SUFDRSw2REFBNkQ7SUFDN0MsTUFBTSxFQUFFLGdCQUFnQjtJQUN4QyxnREFBZ0Q7SUFDaEMsT0FBTyxFQUFFLEVBQUU7SUFDM0IsbURBQW1EO0lBQ25DLGNBQWMsRUFBRSxjQUFjLEVBQzVDO0lBRUosTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQVFoQjtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxtREFFbEQ7SUFFRCxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsd0JBQXdCLEdBQUcsTUFBTSxDQW9CbEU7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVNLE1BQU0sQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQU05QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsZ0JBQWdCLENBUTlEO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsZ0JBQWdCLENBRXRFO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxHQUFHLGdCQUFnQixDQUVqRDtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLFVBQVUsR0FBRyxnQkFBZ0IsQ0FHOUQ7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLGdCQUFnQixDQUUvQjtJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksZ0JBQWdCLENBRWhDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxJQUFJLE1BQU0sQ0FPaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0lBRUQsUUFBUSxXQUVQO0NBQ0YifQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2Vuc3VzX3BheWxvYWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvY29uc2Vuc3VzX3BheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRSxxQkFBYSxnQkFBaUIsWUFBVyxRQUFRO2FBSzdCLE1BQU0sRUFBRSxnQkFBZ0I7YUFFeEIsT0FBTyxFQUFFLEVBQUU7SUFON0IsT0FBTyxDQUFDLElBQUksQ0FBcUI7SUFFakM7SUFDRSw2REFBNkQ7SUFDN0MsTUFBTSxFQUFFLGdCQUFnQjtJQUN4QyxnREFBZ0Q7SUFDaEMsT0FBTyxFQUFFLEVBQUUsRUFDekI7SUFFSixNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG1DQUVsRDtJQUVELGdCQUFnQixDQUFDLGVBQWUsRUFBRSx3QkFBd0IsR0FBRyxNQUFNLENBa0JsRTtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRU0sTUFBTSxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBRTlDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxnQkFBZ0IsQ0FJOUQ7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxnQkFBZ0IsQ0FFdEU7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsZ0JBQWdCLENBRWpEO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLGdCQUFnQixDQUU5RDtJQUVELE1BQU0sQ0FBQyxLQUFLLElBQUksZ0JBQWdCLENBRS9CO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FFaEM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLElBQUksTUFBTSxDQU9oQjtJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BS1I7SUFFRCxRQUFRLFdBRVA7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,gBAAiB,YAAW,QAAQ;aAK7B,MAAM,EAAE,gBAAgB;aAExB,OAAO,EAAE,EAAE;aAEX,cAAc,EAAE,cAAc;IARhD,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;IACnC,cAAc,EAAE,cAAc,EAC5C;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mDAElD;IAED,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAoBlE;IAED,QAAQ,IAAI,MAAM,CAEjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAM9C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAQ9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEtE;IAED,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEjD;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAG9D;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;MAMR;IAED,QAAQ,WAEP;CACF"}
1
+ {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,gBAAiB,YAAW,QAAQ;aAK7B,MAAM,EAAE,gBAAgB;aAExB,OAAO,EAAE,EAAE;IAN7B,OAAO,CAAC,IAAI,CAAqB;IAEjC;IACE,6DAA6D;IAC7C,MAAM,EAAE,gBAAgB;IACxC,gDAAgD;IAChC,OAAO,EAAE,EAAE,EACzB;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mCAElD;IAED,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAkBlE;IAED,QAAQ,IAAI,MAAM,CAEjB;IAEM,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAE9C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB,CAI9D;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAEtE;IAED,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEjD;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,gBAAgB,CAE9D;IAED,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAE/B;IAED,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAEhC;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;MAKR;IAED,QAAQ,WAEP;CACF"}
@@ -5,46 +5,38 @@ import { hexToBuffer } from '@aztec/foundation/string';
5
5
  import { encodeAbiParameters, parseAbiParameters } from 'viem';
6
6
  import { z } from 'zod';
7
7
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
- import { StateReference } from '../tx/state_reference.js';
9
8
  export class ConsensusPayload {
10
9
  header;
11
10
  archive;
12
- stateReference;
13
11
  size;
14
- constructor(/** The proposed block header the attestation is made over */ header, /** The archive root after the block is added */ archive, /** The state reference after the block is added */ stateReference){
12
+ constructor(/** The proposed block header the attestation is made over */ header, /** The archive root after the block is added */ archive){
15
13
  this.header = header;
16
14
  this.archive = archive;
17
- this.stateReference = stateReference;
18
15
  }
19
16
  static get schema() {
20
17
  return z.object({
21
18
  header: CheckpointHeader.schema,
22
- archive: schemas.Fr,
23
- stateReference: StateReference.schema
24
- }).transform((obj)=>new ConsensusPayload(obj.header, obj.archive, obj.stateReference));
19
+ archive: schemas.Fr
20
+ }).transform((obj)=>new ConsensusPayload(obj.header, obj.archive));
25
21
  }
26
22
  static getFields(fields) {
27
23
  return [
28
24
  fields.header,
29
- fields.archive,
30
- fields.stateReference
25
+ fields.archive
31
26
  ];
32
27
  }
33
28
  getPayloadToSign(domainSeparator) {
34
29
  const abi = parseAbiParameters('uint8, ' + //domainSeperator
35
30
  '(' + 'bytes32, ' + // archive
36
- '((bytes32,uint32),((bytes32,uint32),(bytes32,uint32),(bytes32,uint32))), ' + // stateReference
37
31
  '(int256), ' + // oracleInput
38
32
  'bytes32' + // headerHash
39
33
  ')');
40
34
  const archiveRoot = this.archive.toString();
41
- const stateReference = this.stateReference.toAbi();
42
35
  const headerHash = this.header.hash().toString();
43
36
  const encodedData = encodeAbiParameters(abi, [
44
37
  domainSeparator,
45
38
  [
46
39
  archiveRoot,
47
- stateReference,
48
40
  [
49
41
  0n
50
42
  ],
@@ -56,33 +48,31 @@ export class ConsensusPayload {
56
48
  toBuffer() {
57
49
  return serializeToBuffer([
58
50
  this.header,
59
- this.archive,
60
- this.stateReference
51
+ this.archive
61
52
  ]);
62
53
  }
63
54
  equals(other) {
64
- return this.header.equals(other.header) && this.archive.equals(other.archive) && this.stateReference.equals(other.stateReference);
55
+ return this.header.equals(other.header) && this.archive.equals(other.archive);
65
56
  }
66
57
  static fromBuffer(buf) {
67
58
  const reader = BufferReader.asReader(buf);
68
- const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr), reader.readObject(StateReference));
59
+ const payload = new ConsensusPayload(reader.readObject(CheckpointHeader), reader.readObject(Fr));
69
60
  return payload;
70
61
  }
71
62
  static fromFields(fields) {
72
- return new ConsensusPayload(fields.header, fields.archive, fields.stateReference);
63
+ return new ConsensusPayload(fields.header, fields.archive);
73
64
  }
74
65
  static fromBlock(block) {
75
- return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root, block.header.state);
66
+ return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root);
76
67
  }
77
68
  static fromCheckpoint(checkpoint) {
78
- const lastBlock = checkpoint.blocks.at(-1);
79
- return new ConsensusPayload(checkpoint.header, checkpoint.archive.root, lastBlock.header.state);
69
+ return new ConsensusPayload(checkpoint.header, checkpoint.archive.root);
80
70
  }
81
71
  static empty() {
82
- return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO, StateReference.empty());
72
+ return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO);
83
73
  }
84
74
  static random() {
85
- return new ConsensusPayload(CheckpointHeader.random(), Fr.random(), StateReference.random());
75
+ return new ConsensusPayload(CheckpointHeader.random(), Fr.random());
86
76
  }
87
77
  /**
88
78
  * Get the size of the consensus payload in bytes.
@@ -98,11 +88,10 @@ export class ConsensusPayload {
98
88
  toInspect() {
99
89
  return {
100
90
  header: this.header.toInspect(),
101
- archive: this.archive.toString(),
102
- stateReference: this.stateReference.toInspect()
91
+ archive: this.archive.toString()
103
92
  };
104
93
  }
105
94
  toString() {
106
- return `header: ${this.header.toString()}, archive: ${this.archive.toString()}, stateReference: ${this.stateReference.l1ToL2MessageTree.root.toString()}`;
95
+ return `header: ${this.header.toString()}, archive: ${this.archive.toString()}}`;
107
96
  }
108
97
  }
@@ -1,3 +1,4 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { Fr } from '@aztec/foundation/fields';
3
4
  import { BufferReader } from '@aztec/foundation/serialize';
@@ -14,7 +15,7 @@ export declare class CheckpointConstantData {
14
15
  vkTreeRoot: Fr;
15
16
  protocolContractsHash: Fr;
16
17
  proverId: Fr;
17
- slotNumber: Fr;
18
+ slotNumber: SlotNumber;
18
19
  coinbase: EthAddress;
19
20
  feeRecipient: AztecAddress;
20
21
  gasFees: GasFees;
@@ -30,7 +31,7 @@ export declare class CheckpointConstantData {
30
31
  /** Identifier of the prover. */
31
32
  proverId: Fr,
32
33
  /** Slot number of the checkpoint. */
33
- slotNumber: Fr,
34
+ slotNumber: SlotNumber,
34
35
  /** Coinbase address of the rollup. */
35
36
  coinbase: EthAddress,
36
37
  /** Address to receive fees. */
@@ -38,17 +39,22 @@ export declare class CheckpointConstantData {
38
39
  /** Global gas fees for this checkpoint. */
39
40
  gasFees: GasFees);
40
41
  static from(fields: FieldsOf<CheckpointConstantData>): CheckpointConstantData;
41
- static getFields(fields: FieldsOf<CheckpointConstantData>): readonly [Fr, Fr, Fr, Fr, Fr, Fr, EthAddress, AztecAddress, GasFees];
42
+ static getFields(fields: FieldsOf<CheckpointConstantData>): readonly [Fr, Fr, Fr, Fr, Fr, SlotNumber, EthAddress, AztecAddress, GasFees];
42
43
  static empty(): CheckpointConstantData;
43
44
  toBuffer(): Buffer<ArrayBufferLike>;
44
45
  static fromBuffer(buffer: Buffer | BufferReader): CheckpointConstantData;
46
+ /**
47
+ * Returns the slot number as a SlotNumber branded type.
48
+ * @deprecated Use slotNumber directly instead.
49
+ */
50
+ getSlotNumber(): SlotNumber;
45
51
  toInspect(): {
46
52
  chainId: number;
47
53
  version: number;
48
54
  vkTreeRoot: `0x${string}`;
49
55
  protocolContractsHash: `0x${string}`;
50
56
  proverId: `0x${string}`;
51
- slotNumber: number;
57
+ slotNumber: SlotNumber;
52
58
  coinbase: `0x${string}`;
53
59
  feeRecipient: `0x${string}`;
54
60
  gasFees: {
@@ -58,4 +64,4 @@ export declare class CheckpointConstantData {
58
64
  };
59
65
  [inspect.custom](): string;
60
66
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9jb25zdGFudF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9sbHVwL2NoZWNrcG9pbnRfY29uc3RhbnRfZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDOztHQUVHO0FBQ0gscUJBQWEsc0JBQXNCO0lBR3hCLE9BQU8sRUFBRSxFQUFFO0lBRVgsT0FBTyxFQUFFLEVBQUU7SUFFWCxVQUFVLEVBQUUsRUFBRTtJQUVkLHFCQUFxQixFQUFFLEVBQUU7SUFFekIsUUFBUSxFQUFFLEVBQUU7SUFFWixVQUFVLEVBQUUsRUFBRTtJQUVkLFFBQVEsRUFBRSxVQUFVO0lBRXBCLFlBQVksRUFBRSxZQUFZO0lBRTFCLE9BQU8sRUFBRSxPQUFPO0lBbEJ6QjtJQUNFLDZCQUE2QjtJQUN0QixPQUFPLEVBQUUsRUFBRTtJQUNsQiw2QkFBNkI7SUFDdEIsT0FBTyxFQUFFLEVBQUU7SUFDbEIseUNBQXlDO0lBQ2xDLFVBQVUsRUFBRSxFQUFFO0lBQ3JCLDJDQUEyQztJQUNwQyxxQkFBcUIsRUFBRSxFQUFFO0lBQ2hDLGdDQUFnQztJQUN6QixRQUFRLEVBQUUsRUFBRTtJQUNuQixxQ0FBcUM7SUFDOUIsVUFBVSxFQUFFLEVBQUU7SUFDckIsc0NBQXNDO0lBQy9CLFFBQVEsRUFBRSxVQUFVO0lBQzNCLCtCQUErQjtJQUN4QixZQUFZLEVBQUUsWUFBWTtJQUNqQywyQ0FBMkM7SUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFDckI7SUFFSixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsc0JBQXNCLENBQUMsMEJBRW5EO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHNCQUFzQixDQUFDLHdFQVl4RDtJQUVELE1BQU0sQ0FBQyxLQUFLLDJCQVlYO0lBRUQsUUFBUSw0QkFFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLDBCQWE5QztJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7TUFZUjtJQUVELENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUVmO0NBQ0YifQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9jb25zdGFudF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcm9sbHVwL2NoZWNrcG9pbnRfY29uc3RhbnRfZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3Qzs7R0FFRztBQUNILHFCQUFhLHNCQUFzQjtJQUd4QixPQUFPLEVBQUUsRUFBRTtJQUVYLE9BQU8sRUFBRSxFQUFFO0lBRVgsVUFBVSxFQUFFLEVBQUU7SUFFZCxxQkFBcUIsRUFBRSxFQUFFO0lBRXpCLFFBQVEsRUFBRSxFQUFFO0lBRVosVUFBVSxFQUFFLFVBQVU7SUFFdEIsUUFBUSxFQUFFLFVBQVU7SUFFcEIsWUFBWSxFQUFFLFlBQVk7SUFFMUIsT0FBTyxFQUFFLE9BQU87SUFsQnpCO0lBQ0UsNkJBQTZCO0lBQ3RCLE9BQU8sRUFBRSxFQUFFO0lBQ2xCLDZCQUE2QjtJQUN0QixPQUFPLEVBQUUsRUFBRTtJQUNsQix5Q0FBeUM7SUFDbEMsVUFBVSxFQUFFLEVBQUU7SUFDckIsMkNBQTJDO0lBQ3BDLHFCQUFxQixFQUFFLEVBQUU7SUFDaEMsZ0NBQWdDO0lBQ3pCLFFBQVEsRUFBRSxFQUFFO0lBQ25CLHFDQUFxQztJQUM5QixVQUFVLEVBQUUsVUFBVTtJQUM3QixzQ0FBc0M7SUFDL0IsUUFBUSxFQUFFLFVBQVU7SUFDM0IsK0JBQStCO0lBQ3hCLFlBQVksRUFBRSxZQUFZO0lBQ2pDLDJDQUEyQztJQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUNyQjtJQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQywwQkFFbkQ7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsc0JBQXNCLENBQUMsZ0ZBWXhEO0lBRUQsTUFBTSxDQUFDLEtBQUssMkJBWVg7SUFFRCxRQUFRLDRCQVlQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksMEJBYTlDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxJQUFJLFVBQVUsQ0FFMUI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7O01BWVI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;GAEG;AACH,qBAAa,sBAAsB;IAGxB,OAAO,EAAE,EAAE;IAEX,OAAO,EAAE,EAAE;IAEX,UAAU,EAAE,EAAE;IAEd,qBAAqB,EAAE,EAAE;IAEzB,QAAQ,EAAE,EAAE;IAEZ,UAAU,EAAE,EAAE;IAEd,QAAQ,EAAE,UAAU;IAEpB,YAAY,EAAE,YAAY;IAE1B,OAAO,EAAE,OAAO;IAlBzB;IACE,6BAA6B;IACtB,OAAO,EAAE,EAAE;IAClB,6BAA6B;IACtB,OAAO,EAAE,EAAE;IAClB,yCAAyC;IAClC,UAAU,EAAE,EAAE;IACrB,2CAA2C;IACpC,qBAAqB,EAAE,EAAE;IAChC,gCAAgC;IACzB,QAAQ,EAAE,EAAE;IACnB,qCAAqC;IAC9B,UAAU,EAAE,EAAE;IACrB,sCAAsC;IAC/B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,2CAA2C;IACpC,OAAO,EAAE,OAAO,EACrB;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,0BAEnD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,wEAYxD;IAED,MAAM,CAAC,KAAK,2BAYX;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,0BAa9C;IAED,SAAS;;;;;;;;;;;;;MAYR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
1
+ {"version":3,"file":"checkpoint_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;GAEG;AACH,qBAAa,sBAAsB;IAGxB,OAAO,EAAE,EAAE;IAEX,OAAO,EAAE,EAAE;IAEX,UAAU,EAAE,EAAE;IAEd,qBAAqB,EAAE,EAAE;IAEzB,QAAQ,EAAE,EAAE;IAEZ,UAAU,EAAE,UAAU;IAEtB,QAAQ,EAAE,UAAU;IAEpB,YAAY,EAAE,YAAY;IAE1B,OAAO,EAAE,OAAO;IAlBzB;IACE,6BAA6B;IACtB,OAAO,EAAE,EAAE;IAClB,6BAA6B;IACtB,OAAO,EAAE,EAAE;IAClB,yCAAyC;IAClC,UAAU,EAAE,EAAE;IACrB,2CAA2C;IACpC,qBAAqB,EAAE,EAAE;IAChC,gCAAgC;IACzB,QAAQ,EAAE,EAAE;IACnB,qCAAqC;IAC9B,UAAU,EAAE,UAAU;IAC7B,sCAAsC;IAC/B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,2CAA2C;IACpC,OAAO,EAAE,OAAO,EACrB;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,0BAEnD;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,gFAYxD;IAED,MAAM,CAAC,KAAK,2BAYX;IAED,QAAQ,4BAYP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,0BAa9C;IAED;;;OAGG;IACH,aAAa,IAAI,UAAU,CAE1B;IAED,SAAS;;;;;;;;;;;;;MAYR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
@@ -1,3 +1,4 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { Fr } from '@aztec/foundation/fields';
3
4
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -44,14 +45,20 @@ import { GasFees } from '../gas/gas_fees.js';
44
45
  ];
45
46
  }
46
47
  static empty() {
47
- return new CheckpointConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, EthAddress.ZERO, AztecAddress.ZERO, GasFees.empty());
48
+ return new CheckpointConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, SlotNumber.ZERO, EthAddress.ZERO, AztecAddress.ZERO, GasFees.empty());
48
49
  }
49
50
  toBuffer() {
50
- return serializeToBuffer(...CheckpointConstantData.getFields(this));
51
+ return serializeToBuffer(this.chainId, this.version, this.vkTreeRoot, this.protocolContractsHash, this.proverId, new Fr(this.slotNumber), this.coinbase, this.feeRecipient, this.gasFees);
51
52
  }
52
53
  static fromBuffer(buffer) {
53
54
  const reader = BufferReader.asReader(buffer);
54
- return new CheckpointConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees));
55
+ return new CheckpointConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), SlotNumber(Fr.fromBuffer(reader).toNumber()), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees));
56
+ }
57
+ /**
58
+ * Returns the slot number as a SlotNumber branded type.
59
+ * @deprecated Use slotNumber directly instead.
60
+ */ getSlotNumber() {
61
+ return this.slotNumber;
55
62
  }
56
63
  toInspect() {
57
64
  return {
@@ -60,7 +67,7 @@ import { GasFees } from '../gas/gas_fees.js';
60
67
  vkTreeRoot: this.vkTreeRoot.toString(),
61
68
  protocolContractsHash: this.protocolContractsHash.toString(),
62
69
  proverId: this.proverId.toString(),
63
- slotNumber: this.slotNumber.toNumber(),
70
+ slotNumber: this.slotNumber,
64
71
  coinbase: this.coinbase.toString(),
65
72
  feeRecipient: this.feeRecipient.toString(),
66
73
  gasFees: this.gasFees.toInspect()
@@ -1,4 +1,5 @@
1
1
  import type { ViemHeader } from '@aztec/ethereum';
2
+ import { SlotNumber } from '@aztec/foundation/branded-types';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import { Fr } from '@aztec/foundation/fields';
4
5
  import type { ZodFor } from '@aztec/foundation/schemas';
@@ -13,7 +14,7 @@ export declare class CheckpointHeader {
13
14
  lastArchiveRoot: Fr;
14
15
  blockHeadersHash: Fr;
15
16
  contentCommitment: ContentCommitment;
16
- slotNumber: Fr;
17
+ slotNumber: SlotNumber;
17
18
  timestamp: UInt64;
18
19
  coinbase: EthAddress;
19
20
  feeRecipient: AztecAddress;
@@ -27,7 +28,7 @@ export declare class CheckpointHeader {
27
28
  /** Content commitment of the L2 block. */
28
29
  contentCommitment: ContentCommitment,
29
30
  /** Slot number of the L2 block */
30
- slotNumber: Fr,
31
+ slotNumber: SlotNumber,
31
32
  /** Timestamp of the L2 block. */
32
33
  timestamp: UInt64,
33
34
  /** Recipient of block reward. */
@@ -39,7 +40,7 @@ export declare class CheckpointHeader {
39
40
  /** Total mana used in the block, computed by the root rollup circuit */
40
41
  totalManaUsed: Fr);
41
42
  static get schema(): ZodFor<CheckpointHeader>;
42
- static getFields(fields: FieldsOf<CheckpointHeader>): readonly [Fr, Fr, ContentCommitment, Fr, bigint, EthAddress, AztecAddress, GasFees, Fr];
43
+ static getFields(fields: FieldsOf<CheckpointHeader>): readonly [Fr, Fr, ContentCommitment, SlotNumber, bigint, EthAddress, AztecAddress, GasFees, Fr];
43
44
  static from(fields: FieldsOf<CheckpointHeader>): CheckpointHeader;
44
45
  static fromBuffer(buffer: Buffer | BufferReader): CheckpointHeader;
45
46
  equals(other: CheckpointHeader): boolean;
@@ -55,6 +56,11 @@ export declare class CheckpointHeader {
55
56
  toString(): `0x${string}`;
56
57
  static fromString(str: string): CheckpointHeader;
57
58
  static fromViem(header: ViemHeader): CheckpointHeader;
59
+ /**
60
+ * Returns the slot number as a SlotNumber branded type.
61
+ * @deprecated Use slotNumber directly instead.
62
+ */
63
+ getSlotNumber(): SlotNumber;
58
64
  toViem(): ViemHeader;
59
65
  toInspect(): {
60
66
  lastArchive: `0x${string}`;
@@ -64,7 +70,7 @@ export declare class CheckpointHeader {
64
70
  inHash: `0x${string}`;
65
71
  outHash: `0x${string}`;
66
72
  };
67
- slotNumber: bigint;
73
+ slotNumber: SlotNumber;
68
74
  timestamp: bigint;
69
75
  coinbase: `0x${string}`;
70
76
  feeRecipient: `0x${string}`;
@@ -76,4 +82,4 @@ export declare class CheckpointHeader {
76
82
  };
77
83
  [inspect.custom](): string;
78
84
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9oZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvY2hlY2twb2ludF9oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUF1QyxNQUFNLDZCQUE2QixDQUFDO0FBRWhHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxxQkFBYSxnQkFBZ0I7SUFHbEIsZUFBZSxFQUFFLEVBQUU7SUFFbkIsZ0JBQWdCLEVBQUUsRUFBRTtJQUVwQixpQkFBaUIsRUFBRSxpQkFBaUI7SUFFcEMsVUFBVSxFQUFFLEVBQUU7SUFFZCxTQUFTLEVBQUUsTUFBTTtJQUVqQixRQUFRLEVBQUUsVUFBVTtJQUVwQixZQUFZLEVBQUUsWUFBWTtJQUUxQixPQUFPLEVBQUUsT0FBTztJQUVoQixhQUFhLEVBQUUsRUFBRTtJQWxCMUI7SUFDRSwyREFBMkQ7SUFDcEQsZUFBZSxFQUFFLEVBQUU7SUFDMUIsNERBQTREO0lBQ3JELGdCQUFnQixFQUFFLEVBQUU7SUFDM0IsMENBQTBDO0lBQ25DLGlCQUFpQixFQUFFLGlCQUFpQjtJQUMzQyxrQ0FBa0M7SUFDM0IsVUFBVSxFQUFFLEVBQUU7SUFDckIsaUNBQWlDO0lBQzFCLFNBQVMsRUFBRSxNQUFNO0lBQ3hCLGlDQUFpQztJQUMxQixRQUFRLEVBQUUsVUFBVTtJQUMzQiwrQkFBK0I7SUFDeEIsWUFBWSxFQUFFLFlBQVk7SUFDakMsd0NBQXdDO0lBQ2pDLE9BQU8sRUFBRSxPQUFPO0lBQ3ZCLHdFQUF3RTtJQUNqRSxhQUFhLEVBQUUsRUFBRSxFQUN0QjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBYzVDO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDJGQVlsRDtJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFFN0M7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxvQkFjOUM7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLGdCQUFnQixXQVk3QjtJQUVELFFBQVEsNEJBYVA7SUFFRCxJQUFJLElBQUksRUFBRSxDQUVUO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNLG9CQWE1RDtJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBTSxHQUFHLGdCQUFnQixDQWFuRjtJQUVELE9BQU8sSUFBSSxPQUFPLENBWWpCO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxrQkFFZDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sb0JBRTVCO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxvQkFZakM7SUFFRCxNQUFNLElBQUksVUFBVSxDQWVuQjtJQUVELFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7O01BWVI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FhZjtDQUNGIn0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9oZWFkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvY2hlY2twb2ludF9oZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBdUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQscUJBQWEsZ0JBQWdCO0lBR2xCLGVBQWUsRUFBRSxFQUFFO0lBRW5CLGdCQUFnQixFQUFFLEVBQUU7SUFFcEIsaUJBQWlCLEVBQUUsaUJBQWlCO0lBRXBDLFVBQVUsRUFBRSxVQUFVO0lBRXRCLFNBQVMsRUFBRSxNQUFNO0lBRWpCLFFBQVEsRUFBRSxVQUFVO0lBRXBCLFlBQVksRUFBRSxZQUFZO0lBRTFCLE9BQU8sRUFBRSxPQUFPO0lBRWhCLGFBQWEsRUFBRSxFQUFFO0lBbEIxQjtJQUNFLDJEQUEyRDtJQUNwRCxlQUFlLEVBQUUsRUFBRTtJQUMxQiw0REFBNEQ7SUFDckQsZ0JBQWdCLEVBQUUsRUFBRTtJQUMzQiwwQ0FBMEM7SUFDbkMsaUJBQWlCLEVBQUUsaUJBQWlCO0lBQzNDLGtDQUFrQztJQUMzQixVQUFVLEVBQUUsVUFBVTtJQUM3QixpQ0FBaUM7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDeEIsaUNBQWlDO0lBQzFCLFFBQVEsRUFBRSxVQUFVO0lBQzNCLCtCQUErQjtJQUN4QixZQUFZLEVBQUUsWUFBWTtJQUNqQyx3Q0FBd0M7SUFDakMsT0FBTyxFQUFFLE9BQU87SUFDdkIsd0VBQXdFO0lBQ2pFLGFBQWEsRUFBRSxFQUFFLEVBQ3RCO0lBRUosTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FjNUM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsbUdBWWxEO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG9CQUU3QztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLG9CQWM5QztJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLFdBWTdCO0lBRUQsUUFBUSw0QkFhUDtJQUVELElBQUksSUFBSSxFQUFFLENBRVQ7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQU0sb0JBYTVEO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNLEdBQUcsZ0JBQWdCLENBYW5GO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FZakI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLGtCQUVkO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxvQkFFNUI7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLG9CQVlqQztJQUVEOzs7T0FHRztJQUNILGFBQWEsSUFBSSxVQUFVLENBRTFCO0lBRUQsTUFBTSxJQUFJLFVBQVUsQ0FlbkI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7OztNQVlSO0lBRUQsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBYWY7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,gBAAgB;IAGlB,eAAe,EAAE,EAAE;IAEnB,gBAAgB,EAAE,EAAE;IAEpB,iBAAiB,EAAE,iBAAiB;IAEpC,UAAU,EAAE,EAAE;IAEd,SAAS,EAAE,MAAM;IAEjB,QAAQ,EAAE,UAAU;IAEpB,YAAY,EAAE,YAAY;IAE1B,OAAO,EAAE,OAAO;IAEhB,aAAa,EAAE,EAAE;IAlB1B;IACE,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,4DAA4D;IACrD,gBAAgB,EAAE,EAAE;IAC3B,0CAA0C;IACnC,iBAAiB,EAAE,iBAAiB;IAC3C,kCAAkC;IAC3B,UAAU,EAAE,EAAE;IACrB,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE,EACtB;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAc5C;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,2FAYlD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,oBAE7C;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,oBAc9C;IAED,MAAM,CAAC,KAAK,EAAE,gBAAgB,WAY7B;IAED,QAAQ,4BAaP;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,oBAa5D;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,GAAG,gBAAgB,CAanF;IAED,OAAO,IAAI,OAAO,CAYjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,oBAE5B;IAED,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,oBAYjC;IAED,MAAM,IAAI,UAAU,CAenB;IAED,SAAS;;;;;;;;;;;;;;;;;MAYR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAaf;CACF"}
1
+ {"version":3,"file":"checkpoint_header.d.ts","sourceRoot":"","sources":["../../src/rollup/checkpoint_header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,gBAAgB;IAGlB,eAAe,EAAE,EAAE;IAEnB,gBAAgB,EAAE,EAAE;IAEpB,iBAAiB,EAAE,iBAAiB;IAEpC,UAAU,EAAE,UAAU;IAEtB,SAAS,EAAE,MAAM;IAEjB,QAAQ,EAAE,UAAU;IAEpB,YAAY,EAAE,YAAY;IAE1B,OAAO,EAAE,OAAO;IAEhB,aAAa,EAAE,EAAE;IAlB1B;IACE,2DAA2D;IACpD,eAAe,EAAE,EAAE;IAC1B,4DAA4D;IACrD,gBAAgB,EAAE,EAAE;IAC3B,0CAA0C;IACnC,iBAAiB,EAAE,iBAAiB;IAC3C,kCAAkC;IAC3B,UAAU,EAAE,UAAU;IAC7B,iCAAiC;IAC1B,SAAS,EAAE,MAAM;IACxB,iCAAiC;IAC1B,QAAQ,EAAE,UAAU;IAC3B,+BAA+B;IACxB,YAAY,EAAE,YAAY;IACjC,wCAAwC;IACjC,OAAO,EAAE,OAAO;IACvB,wEAAwE;IACjE,aAAa,EAAE,EAAE,EACtB;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAc5C;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,mGAYlD;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,oBAE7C;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,oBAc9C;IAED,MAAM,CAAC,KAAK,EAAE,gBAAgB,WAY7B;IAED,QAAQ,4BAaP;IAED,IAAI,IAAI,EAAE,CAET;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,oBAa5D;IAED,MAAM,CAAC,MAAM,CAAC,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAM,GAAG,gBAAgB,CAanF;IAED,OAAO,IAAI,OAAO,CAYjB;IAED;;;OAGG;IACI,QAAQ,kBAEd;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,oBAE5B;IAED,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,oBAYjC;IAED;;;OAGG;IACH,aAAa,IAAI,UAAU,CAE1B;IAED,MAAM,IAAI,UAAU,CAenB;IAED,SAAS;;;;;;;;;;;;;;;;;MAYR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAaf;CACF"}
@@ -1,3 +1,4 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { sha256ToField } from '@aztec/foundation/crypto';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  import { Fr } from '@aztec/foundation/fields';
@@ -35,7 +36,7 @@ export class CheckpointHeader {
35
36
  lastArchiveRoot: schemas.Fr,
36
37
  blockHeadersHash: schemas.Fr,
37
38
  contentCommitment: ContentCommitment.schema,
38
- slotNumber: schemas.Fr,
39
+ slotNumber: schemas.SlotNumber,
39
40
  timestamp: schemas.BigInt,
40
41
  coinbase: schemas.EthAddress,
41
42
  feeRecipient: schemas.AztecAddress,
@@ -61,10 +62,10 @@ export class CheckpointHeader {
61
62
  }
62
63
  static fromBuffer(buffer) {
63
64
  const reader = BufferReader.asReader(buffer);
64
- return new CheckpointHeader(reader.readObject(Fr), reader.readObject(Fr), reader.readObject(ContentCommitment), Fr.fromBuffer(reader), reader.readUInt64(), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees), reader.readObject(Fr));
65
+ return new CheckpointHeader(reader.readObject(Fr), reader.readObject(Fr), reader.readObject(ContentCommitment), SlotNumber(Fr.fromBuffer(reader).toNumber()), reader.readUInt64(), reader.readObject(EthAddress), reader.readObject(AztecAddress), reader.readObject(GasFees), reader.readObject(Fr));
65
66
  }
66
67
  equals(other) {
67
- return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.blockHeadersHash.equals(other.blockHeadersHash) && this.contentCommitment.equals(other.contentCommitment) && this.slotNumber.equals(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);
68
+ return this.lastArchiveRoot.equals(other.lastArchiveRoot) && this.blockHeadersHash.equals(other.blockHeadersHash) && this.contentCommitment.equals(other.contentCommitment) && 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);
68
69
  }
69
70
  toBuffer() {
70
71
  // Note: The order here must match the order in the ProposedHeaderLib solidity library.
@@ -72,7 +73,7 @@ export class CheckpointHeader {
72
73
  this.lastArchiveRoot,
73
74
  this.blockHeadersHash,
74
75
  this.contentCommitment,
75
- this.slotNumber,
76
+ new Fr(this.slotNumber),
76
77
  bigintToUInt64BE(this.timestamp),
77
78
  this.coinbase,
78
79
  this.feeRecipient,
@@ -90,7 +91,7 @@ export class CheckpointHeader {
90
91
  lastArchiveRoot: Fr.ZERO,
91
92
  blockHeadersHash: Fr.ZERO,
92
93
  contentCommitment: ContentCommitment.empty(),
93
- slotNumber: Fr.ZERO,
94
+ slotNumber: SlotNumber.ZERO,
94
95
  timestamp: 0n,
95
96
  coinbase: EthAddress.ZERO,
96
97
  feeRecipient: AztecAddress.ZERO,
@@ -104,7 +105,7 @@ export class CheckpointHeader {
104
105
  lastArchiveRoot: Fr.random(),
105
106
  blockHeadersHash: Fr.random(),
106
107
  contentCommitment: ContentCommitment.random(),
107
- slotNumber: new Fr(BigInt(Math.floor(Math.random() * 1000) + 1)),
108
+ slotNumber: SlotNumber(Math.floor(Math.random() * 1000) + 1),
108
109
  timestamp: BigInt(Math.floor(Date.now() / 1000)),
109
110
  coinbase: EthAddress.random(),
110
111
  feeRecipient: new AztecAddress(Fr.random()),
@@ -114,7 +115,7 @@ export class CheckpointHeader {
114
115
  });
115
116
  }
116
117
  isEmpty() {
117
- return this.lastArchiveRoot.isZero() && this.blockHeadersHash.isZero() && this.contentCommitment.isEmpty() && this.slotNumber.isZero() && this.timestamp === 0n && this.coinbase.isZero() && this.feeRecipient.isZero() && this.gasFees.isEmpty() && this.totalManaUsed.isZero();
118
+ return this.lastArchiveRoot.isZero() && this.blockHeadersHash.isZero() && this.contentCommitment.isEmpty() && this.slotNumber === 0 && this.timestamp === 0n && this.coinbase.isZero() && this.feeRecipient.isZero() && this.gasFees.isEmpty() && this.totalManaUsed.isZero();
118
119
  }
119
120
  /**
120
121
  * Serializes this instance into a string.
@@ -126,14 +127,20 @@ export class CheckpointHeader {
126
127
  return CheckpointHeader.fromBuffer(hexToBuffer(str));
127
128
  }
128
129
  static fromViem(header) {
129
- return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), Fr.fromString(header.blockHeadersHash), ContentCommitment.fromViem(header.contentCommitment), new Fr(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));
130
+ return new CheckpointHeader(Fr.fromString(header.lastArchiveRoot), Fr.fromString(header.blockHeadersHash), ContentCommitment.fromViem(header.contentCommitment), 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));
131
+ }
132
+ /**
133
+ * Returns the slot number as a SlotNumber branded type.
134
+ * @deprecated Use slotNumber directly instead.
135
+ */ getSlotNumber() {
136
+ return this.slotNumber;
130
137
  }
131
138
  toViem() {
132
139
  return {
133
140
  lastArchiveRoot: this.lastArchiveRoot.toString(),
134
141
  blockHeadersHash: this.blockHeadersHash.toString(),
135
142
  contentCommitment: this.contentCommitment.toViem(),
136
- slotNumber: this.slotNumber.toBigInt(),
143
+ slotNumber: BigInt(this.slotNumber),
137
144
  timestamp: this.timestamp,
138
145
  coinbase: this.coinbase.toString(),
139
146
  feeRecipient: `0x${this.feeRecipient.toBuffer().toString('hex').padStart(64, '0')}`,
@@ -149,7 +156,7 @@ export class CheckpointHeader {
149
156
  lastArchive: this.lastArchiveRoot.toString(),
150
157
  blockHeadersHash: this.blockHeadersHash.toString(),
151
158
  contentCommitment: this.contentCommitment.toInspect(),
152
- slotNumber: this.slotNumber.toBigInt(),
159
+ slotNumber: this.slotNumber,
153
160
  timestamp: this.timestamp,
154
161
  coinbase: this.coinbase.toString(),
155
162
  feeRecipient: this.feeRecipient.toString(),
@@ -163,7 +170,7 @@ export class CheckpointHeader {
163
170
  lastArchiveRoot: ${this.lastArchiveRoot.toString()},
164
171
  blockHeadersHash: ${this.blockHeadersHash.toString()},
165
172
  contentCommitment: ${inspect(this.contentCommitment)},
166
- slotNumber: ${this.slotNumber.toBigInt()},
173
+ slotNumber: ${this.slotNumber},
167
174
  timestamp: ${this.timestamp},
168
175
  coinbase: ${this.coinbase.toString()},
169
176
  feeRecipient: ${this.feeRecipient.toString()},