@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.
- package/dest/avm/avm.d.ts +17 -9
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm_circuit_public_inputs.d.ts +5 -3
- package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
- package/dest/avm/avm_proving_request.d.ts +9 -5
- package/dest/avm/avm_proving_request.d.ts.map +1 -1
- package/dest/block/l2_block.d.ts +3 -2
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts +1 -1
- package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
- package/dest/block/l2_block_code_to_purge.js +3 -2
- package/dest/block/l2_block_header.d.ts +4 -3
- package/dest/block/l2_block_header.d.ts.map +1 -1
- package/dest/block/l2_block_header.js +1 -1
- package/dest/block/l2_block_source.d.ts +4 -4
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/epoch-helpers/index.d.ts +7 -7
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +9 -9
- package/dest/interfaces/archiver.js +1 -1
- package/dest/interfaces/aztec-node.d.ts +8 -2
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +2 -1
- package/dest/interfaces/p2p.d.ts +3 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -1
- package/dest/interfaces/proving-job.d.ts +9 -5
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/validator.d.ts +3 -3
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/kernel/private_call_data.d.ts +62 -5
- package/dest/kernel/private_call_data.d.ts.map +1 -1
- package/dest/kernel/private_call_data.js +105 -4
- package/dest/p2p/block_attestation.d.ts +4 -9
- package/dest/p2p/block_attestation.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +3 -2
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -1
- package/dest/p2p/consensus_payload.d.ts +4 -182
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +14 -25
- package/dest/rollup/checkpoint_constant_data.d.ts +11 -5
- package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -1
- package/dest/rollup/checkpoint_constant_data.js +11 -4
- package/dest/rollup/checkpoint_header.d.ts +11 -5
- package/dest/rollup/checkpoint_header.d.ts.map +1 -1
- package/dest/rollup/checkpoint_header.js +18 -11
- package/dest/schemas/schemas.d.ts +6 -1
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/schemas.js +2 -0
- package/dest/slashing/empire.js +2 -2
- package/dest/slashing/helpers.d.ts +5 -5
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +7 -6
- package/dest/slashing/interfaces.d.ts +3 -2
- package/dest/slashing/interfaces.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +1 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +5 -4
- package/dest/tests/mocks.d.ts +2 -3
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +6 -12
- package/dest/trees/append_only_tree_snapshot.d.ts +1 -4
- package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
- package/dest/trees/append_only_tree_snapshot.js +0 -9
- package/dest/tx/block_header.d.ts +4 -3
- package/dest/tx/block_header.d.ts.map +1 -1
- package/dest/tx/block_header.js +1 -1
- package/dest/tx/global_variable_builder.d.ts +3 -2
- package/dest/tx/global_variable_builder.d.ts.map +1 -1
- package/dest/tx/global_variables.d.ts +26 -8
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/global_variables.js +27 -10
- package/dest/tx/partial_state_reference.d.ts +1 -4
- package/dest/tx/partial_state_reference.d.ts.map +1 -1
- package/dest/tx/partial_state_reference.js +0 -10
- package/dest/tx/state_reference.d.ts +1 -4
- package/dest/tx/state_reference.d.ts.map +1 -1
- package/dest/tx/state_reference.js +0 -9
- package/dest/tx/tx.d.ts +2 -2
- package/dest/tx/tx.d.ts.map +1 -1
- package/dest/tx/tx.js +1 -0
- package/dest/validators/errors.d.ts +6 -7
- package/dest/validators/errors.d.ts.map +1 -1
- package/dest/validators/errors.js +2 -4
- package/dest/validators/schemas.d.ts +102 -48
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +6 -6
- package/dest/validators/types.d.ts +9 -9
- package/dest/validators/types.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/block/l2_block.ts +2 -1
- package/src/block/l2_block_code_to_purge.ts +3 -2
- package/src/block/l2_block_header.ts +3 -2
- package/src/block/l2_block_source.ts +3 -3
- package/src/epoch-helpers/index.ts +19 -14
- package/src/interfaces/archiver.ts +1 -1
- package/src/interfaces/aztec-node.ts +12 -3
- package/src/interfaces/p2p.ts +4 -2
- package/src/interfaces/validator.ts +1 -2
- package/src/kernel/private_call_data.ts +130 -3
- package/src/p2p/block_attestation.ts +2 -1
- package/src/p2p/block_proposal.ts +3 -2
- package/src/p2p/consensus_payload.ts +12 -28
- package/src/rollup/checkpoint_constant_data.ts +24 -5
- package/src/rollup/checkpoint_header.ts +21 -12
- package/src/schemas/schemas.ts +7 -0
- package/src/slashing/empire.ts +2 -2
- package/src/slashing/helpers.ts +12 -9
- package/src/slashing/interfaces.ts +3 -1
- package/src/tests/factories.ts +5 -4
- package/src/tests/mocks.ts +2 -16
- package/src/trees/append_only_tree_snapshot.ts +0 -12
- package/src/tx/block_header.ts +3 -2
- package/src/tx/global_variable_builder.ts +2 -1
- package/src/tx/global_variables.ts +30 -11
- package/src/tx/partial_state_reference.ts +0 -17
- package/src/tx/state_reference.ts +0 -15
- package/src/tx/tx.ts +2 -1
- package/src/validators/errors.ts +3 -4
- package/src/validators/schemas.ts +6 -6
- 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
|
|
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:
|
|
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,
|
|
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,
|
|
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
|
|
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
|
-
|
|
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)
|
|
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)
|
|
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
|
|
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
|
|
66
|
+
return new ConsensusPayload(block.header.toCheckpointHeader(), block.archive.root);
|
|
76
67
|
}
|
|
77
68
|
static fromCheckpoint(checkpoint) {
|
|
78
|
-
|
|
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
|
|
72
|
+
return new ConsensusPayload(CheckpointHeader.empty(), Fr.ZERO);
|
|
83
73
|
}
|
|
84
74
|
static random() {
|
|
85
|
-
return new ConsensusPayload(CheckpointHeader.random(), Fr.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()}
|
|
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:
|
|
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:
|
|
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,
|
|
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:
|
|
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,
|
|
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,
|
|
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,
|
|
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(
|
|
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
|
|
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:
|
|
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:
|
|
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,
|
|
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:
|
|
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,
|
|
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;
|
|
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.
|
|
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
|
|
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:
|
|
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:
|
|
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
|
|
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),
|
|
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
|
|
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
|
|
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
|
|
173
|
+
slotNumber: ${this.slotNumber},
|
|
167
174
|
timestamp: ${this.timestamp},
|
|
168
175
|
coinbase: ${this.coinbase.toString()},
|
|
169
176
|
feeRecipient: ${this.feeRecipient.toString()},
|