@aztec/stdlib 0.0.1-commit.6d63667d → 0.0.1-commit.7cf39cb55
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/abi/function_call.d.ts +39 -9
- package/dest/abi/function_call.d.ts.map +1 -1
- package/dest/abi/function_call.js +20 -3
- package/dest/block/in_block.js +1 -1
- package/dest/config/index.d.ts +2 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +1 -0
- package/dest/config/sequencer-config.d.ts +10 -0
- package/dest/config/sequencer-config.d.ts.map +1 -0
- package/dest/config/sequencer-config.js +12 -0
- package/dest/contract/interfaces/node-info.d.ts +3 -1
- package/dest/contract/interfaces/node-info.d.ts.map +1 -1
- package/dest/contract/interfaces/node-info.js +2 -1
- package/dest/epoch-helpers/index.d.ts +5 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +4 -2
- package/dest/hash/hash.d.ts +2 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +6 -0
- package/dest/interfaces/aztec-node-admin.d.ts +10 -1
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/p2p.d.ts +2 -2
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +166 -166
- package/dest/interfaces/slasher.d.ts +9 -1
- package/dest/interfaces/slasher.d.ts.map +1 -1
- package/dest/interfaces/slasher.js +2 -0
- package/dest/interfaces/validator.d.ts +16 -2
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/interfaces/validator.js +4 -1
- package/dest/logs/siloed_tag.d.ts +1 -1
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +2 -6
- package/dest/messaging/l2_to_l1_membership.d.ts +2 -2
- package/dest/messaging/l2_to_l1_membership.js +3 -3
- package/dest/note/notes_filter.d.ts +5 -2
- package/dest/note/notes_filter.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.d.ts +8 -1
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +9 -0
- package/dest/p2p/constants.d.ts +3 -1
- package/dest/p2p/constants.d.ts.map +1 -1
- package/dest/p2p/constants.js +1 -0
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/checkpoint_rollup_public_inputs.js +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts +2 -2
- package/dest/rollup/checkpoint_root_rollup_private_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.d.ts +6 -6
- package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
- package/dest/rollup/root_rollup_public_inputs.js +3 -3
- package/dest/slashing/empire.d.ts +1 -1
- package/dest/slashing/empire.d.ts.map +1 -1
- package/dest/slashing/empire.js +2 -0
- package/dest/slashing/helpers.d.ts +2 -2
- package/dest/slashing/helpers.d.ts.map +1 -1
- package/dest/slashing/helpers.js +6 -0
- package/dest/slashing/tally.d.ts +2 -1
- package/dest/slashing/tally.d.ts.map +1 -1
- package/dest/slashing/tally.js +6 -2
- package/dest/slashing/types.d.ts +7 -3
- package/dest/slashing/types.d.ts.map +1 -1
- package/dest/slashing/types.js +13 -1
- package/dest/tests/factories.js +3 -3
- package/dest/timetable/index.d.ts +37 -0
- package/dest/timetable/index.d.ts.map +1 -0
- package/dest/timetable/index.js +39 -0
- package/dest/trees/public_data_leaf.d.ts +2 -1
- package/dest/trees/public_data_leaf.d.ts.map +1 -1
- package/dest/trees/public_data_leaf.js +7 -6
- package/dest/tx/validator/empty_validator.d.ts +2 -2
- package/dest/tx/validator/empty_validator.d.ts.map +1 -1
- package/dest/tx/validator/tx_validator.d.ts +2 -2
- package/dest/tx/validator/tx_validator.d.ts.map +1 -1
- package/dest/validators/schemas.d.ts +30 -30
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +4 -3
- package/dest/validators/types.d.ts +3 -3
- package/dest/validators/types.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/abi/function_call.ts +25 -3
- package/src/block/in_block.ts +1 -1
- package/src/config/index.ts +1 -0
- package/src/config/sequencer-config.ts +19 -0
- package/src/contract/interfaces/node-info.ts +3 -0
- package/src/epoch-helpers/index.ts +3 -0
- package/src/hash/hash.ts +4 -0
- package/src/interfaces/p2p.ts +1 -1
- package/src/interfaces/slasher.ts +4 -0
- package/src/interfaces/validator.ts +10 -1
- package/src/logs/siloed_tag.ts +2 -3
- package/src/messaging/l2_to_l1_membership.ts +3 -3
- package/src/note/notes_filter.ts +4 -1
- package/src/p2p/checkpoint_proposal.ts +10 -0
- package/src/p2p/constants.ts +3 -0
- package/src/rollup/checkpoint_rollup_public_inputs.ts +5 -5
- package/src/rollup/root_rollup_public_inputs.ts +7 -7
- package/src/slashing/empire.ts +3 -1
- package/src/slashing/helpers.ts +8 -0
- package/src/slashing/tally.ts +8 -2
- package/src/slashing/types.ts +14 -0
- package/src/tests/factories.ts +5 -5
- package/src/timetable/index.ts +66 -0
- package/src/trees/public_data_leaf.ts +11 -5
- package/src/tx/validator/empty_validator.ts +1 -1
- package/src/tx/validator/tx_validator.ts +1 -1
- package/src/validators/schemas.ts +8 -1
- package/src/validators/types.ts +5 -4
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
export declare const ValidatorStatusInSlotSchema: z.ZodEnum<["
|
|
2
|
+
export declare const ValidatorStatusInSlotSchema: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
3
3
|
export declare const ValidatorStatusHistorySchema: z.ZodArray<z.ZodObject<{
|
|
4
4
|
slot: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>;
|
|
5
|
-
status: z.ZodEnum<["
|
|
5
|
+
status: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
6
6
|
}, "strip", z.ZodTypeAny, {
|
|
7
7
|
slot: number & {
|
|
8
8
|
_branding: "SlotNumber";
|
|
9
9
|
};
|
|
10
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
10
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
11
11
|
}, {
|
|
12
12
|
slot: string | number | bigint;
|
|
13
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
13
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
14
14
|
}>, "many">;
|
|
15
15
|
export declare const ValidatorStatusHistorySchemaArray: z.ZodArray<z.ZodArray<z.ZodObject<{
|
|
16
16
|
slot: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>;
|
|
17
|
-
status: z.ZodEnum<["
|
|
17
|
+
status: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
18
18
|
}, "strip", z.ZodTypeAny, {
|
|
19
19
|
slot: number & {
|
|
20
20
|
_branding: "SlotNumber";
|
|
21
21
|
};
|
|
22
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
22
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
23
23
|
}, {
|
|
24
24
|
slot: string | number | bigint;
|
|
25
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
25
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
26
26
|
}>, "many">, "many">;
|
|
27
27
|
export declare const ValidatorStatusHistorySchemaMap: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodArray<z.ZodObject<{
|
|
28
28
|
slot: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>;
|
|
29
|
-
status: z.ZodEnum<["
|
|
29
|
+
status: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
30
30
|
}, "strip", z.ZodTypeAny, {
|
|
31
31
|
slot: number & {
|
|
32
32
|
_branding: "SlotNumber";
|
|
33
33
|
};
|
|
34
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
34
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
35
35
|
}, {
|
|
36
36
|
slot: string | number | bigint;
|
|
37
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
37
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
38
38
|
}>, "many">, "many">>;
|
|
39
39
|
export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
40
40
|
address: z.ZodType<import("@aztec/foundation/eth-address").EthAddress, any, string>;
|
|
@@ -103,15 +103,15 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
|
103
103
|
}>;
|
|
104
104
|
history: z.ZodArray<z.ZodObject<{
|
|
105
105
|
slot: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>;
|
|
106
|
-
status: z.ZodEnum<["
|
|
106
|
+
status: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
107
107
|
}, "strip", z.ZodTypeAny, {
|
|
108
108
|
slot: number & {
|
|
109
109
|
_branding: "SlotNumber";
|
|
110
110
|
};
|
|
111
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
111
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
112
112
|
}, {
|
|
113
113
|
slot: string | number | bigint;
|
|
114
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
114
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
115
115
|
}>, "many">;
|
|
116
116
|
}, "strip", z.ZodTypeAny, {
|
|
117
117
|
address: import("@aztec/foundation/eth-address").EthAddress;
|
|
@@ -146,7 +146,7 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
|
146
146
|
slot: number & {
|
|
147
147
|
_branding: "SlotNumber";
|
|
148
148
|
};
|
|
149
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
149
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
150
150
|
}[];
|
|
151
151
|
}, {
|
|
152
152
|
address: string;
|
|
@@ -175,7 +175,7 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
|
175
175
|
};
|
|
176
176
|
history: {
|
|
177
177
|
slot: string | number | bigint;
|
|
178
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
178
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
179
179
|
}[];
|
|
180
180
|
}>;
|
|
181
181
|
export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
@@ -246,15 +246,15 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
246
246
|
}>;
|
|
247
247
|
history: z.ZodArray<z.ZodObject<{
|
|
248
248
|
slot: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>;
|
|
249
|
-
status: z.ZodEnum<["
|
|
249
|
+
status: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
250
250
|
}, "strip", z.ZodTypeAny, {
|
|
251
251
|
slot: number & {
|
|
252
252
|
_branding: "SlotNumber";
|
|
253
253
|
};
|
|
254
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
254
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
255
255
|
}, {
|
|
256
256
|
slot: string | number | bigint;
|
|
257
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
257
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
258
258
|
}>, "many">;
|
|
259
259
|
}, "strip", z.ZodTypeAny, {
|
|
260
260
|
address: import("@aztec/foundation/eth-address").EthAddress;
|
|
@@ -289,7 +289,7 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
289
289
|
slot: number & {
|
|
290
290
|
_branding: "SlotNumber";
|
|
291
291
|
};
|
|
292
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
292
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
293
293
|
}[];
|
|
294
294
|
}, {
|
|
295
295
|
address: string;
|
|
@@ -318,7 +318,7 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
318
318
|
};
|
|
319
319
|
history: {
|
|
320
320
|
slot: string | number | bigint;
|
|
321
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
321
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
322
322
|
}[];
|
|
323
323
|
}>>;
|
|
324
324
|
lastProcessedSlot: z.ZodOptional<z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>>;
|
|
@@ -358,7 +358,7 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
358
358
|
slot: number & {
|
|
359
359
|
_branding: "SlotNumber";
|
|
360
360
|
};
|
|
361
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
361
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
362
362
|
}[];
|
|
363
363
|
}>;
|
|
364
364
|
lastProcessedSlot?: import("@aztec/foundation/schemas").SlotNumber | undefined;
|
|
@@ -392,7 +392,7 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
392
392
|
};
|
|
393
393
|
history: {
|
|
394
394
|
slot: string | number | bigint;
|
|
395
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
395
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
396
396
|
}[];
|
|
397
397
|
}>;
|
|
398
398
|
lastProcessedSlot?: string | number | bigint | undefined;
|
|
@@ -467,15 +467,15 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
467
467
|
}>;
|
|
468
468
|
history: z.ZodArray<z.ZodObject<{
|
|
469
469
|
slot: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, import("@aztec/foundation/schemas").SlotNumber, string | number | bigint>;
|
|
470
|
-
status: z.ZodEnum<["
|
|
470
|
+
status: z.ZodEnum<["checkpoint-mined", "checkpoint-proposed", "checkpoint-missed", "blocks-missed", "attestation-sent", "attestation-missed"]>;
|
|
471
471
|
}, "strip", z.ZodTypeAny, {
|
|
472
472
|
slot: number & {
|
|
473
473
|
_branding: "SlotNumber";
|
|
474
474
|
};
|
|
475
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
475
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
476
476
|
}, {
|
|
477
477
|
slot: string | number | bigint;
|
|
478
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
478
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
479
479
|
}>, "many">;
|
|
480
480
|
}, "strip", z.ZodTypeAny, {
|
|
481
481
|
address: import("@aztec/foundation/eth-address").EthAddress;
|
|
@@ -510,7 +510,7 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
510
510
|
slot: number & {
|
|
511
511
|
_branding: "SlotNumber";
|
|
512
512
|
};
|
|
513
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
513
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
514
514
|
}[];
|
|
515
515
|
}, {
|
|
516
516
|
address: string;
|
|
@@ -539,7 +539,7 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
539
539
|
};
|
|
540
540
|
history: {
|
|
541
541
|
slot: string | number | bigint;
|
|
542
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
542
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
543
543
|
}[];
|
|
544
544
|
}>;
|
|
545
545
|
allTimeProvenPerformance: z.ZodArray<z.ZodObject<{
|
|
@@ -594,7 +594,7 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
594
594
|
slot: number & {
|
|
595
595
|
_branding: "SlotNumber";
|
|
596
596
|
};
|
|
597
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
597
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
598
598
|
}[];
|
|
599
599
|
};
|
|
600
600
|
allTimeProvenPerformance: {
|
|
@@ -635,7 +635,7 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
635
635
|
};
|
|
636
636
|
history: {
|
|
637
637
|
slot: string | number | bigint;
|
|
638
|
-
status: "attestation-missed" | "attestation-sent" | "
|
|
638
|
+
status: "attestation-missed" | "attestation-sent" | "blocks-missed" | "checkpoint-mined" | "checkpoint-missed" | "checkpoint-proposed";
|
|
639
639
|
}[];
|
|
640
640
|
};
|
|
641
641
|
allTimeProvenPerformance: {
|
|
@@ -647,4 +647,4 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
647
647
|
initialSlot?: string | number | bigint | undefined;
|
|
648
648
|
slotWindow: string | number | bigint;
|
|
649
649
|
}>;
|
|
650
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
650
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBV3hCLGVBQU8sTUFBTSwyQkFBMkIsd0lBU3ZDLENBQUM7QUFFRixlQUFPLE1BQU0sNEJBQTRCOzs7Ozs7Ozs7OztXQU94QyxDQUFDO0FBRUYsZUFBTyxNQUFNLGlDQUFpQzs7Ozs7Ozs7Ozs7b0JBQXdDLENBQUM7QUFFdkYsZUFBTyxNQUFNLCtCQUErQjs7Ozs7Ozs7Ozs7cUJBQThDLENBQUM7QUFpQjNGLGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVVoQyxDQUFDO0FBRUYsZUFBTyxNQUFNLHFCQUFxQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQU9qQyxDQUFDO0FBRUYsZUFBTyxNQUFNLDBCQUEwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWN0QyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validators/schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/validators/schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,2BAA2B,wIASvC,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;WAOxC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;oBAAwC,CAAC;AAEvF,eAAO,MAAM,+BAA+B;;;;;;;;;;;qBAA8C,CAAC;AAiB3F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUhC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActC,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { schemas, zodFor } from '@aztec/foundation/schemas';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export const ValidatorStatusInSlotSchema = zodFor()(z.enum([
|
|
4
|
-
'
|
|
5
|
-
'
|
|
6
|
-
'
|
|
4
|
+
'checkpoint-mined',
|
|
5
|
+
'checkpoint-proposed',
|
|
6
|
+
'checkpoint-missed',
|
|
7
|
+
'blocks-missed',
|
|
7
8
|
'attestation-sent',
|
|
8
9
|
'attestation-missed'
|
|
9
10
|
]));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
-
export type ValidatorStatusType = '
|
|
4
|
-
export type ValidatorStatusInSlot = '
|
|
3
|
+
export type ValidatorStatusType = 'proposer' | 'attestation';
|
|
4
|
+
export type ValidatorStatusInSlot = 'checkpoint-mined' | 'checkpoint-proposed' | 'checkpoint-missed' | 'blocks-missed' | 'attestation-sent' | 'attestation-missed';
|
|
5
5
|
export type ValidatorStatusHistory = {
|
|
6
6
|
slot: SlotNumber;
|
|
7
7
|
status: ValidatorStatusInSlot;
|
|
@@ -50,4 +50,4 @@ export type SingleValidatorStats = {
|
|
|
50
50
|
initialSlot?: SlotNumber;
|
|
51
51
|
slotWindow: number;
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxNQUFNLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUU3RCxNQUFNLE1BQU0scUJBQXFCLEdBQzdCLGtCQUFrQixHQUNsQixxQkFBcUIsR0FDckIsbUJBQW1CLEdBQ25CLGVBQWUsR0FDZixrQkFBa0IsR0FDbEIsb0JBQW9CLENBQUM7QUFFekIsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQztJQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQTtDQUFFLEVBQUUsQ0FBQztBQUUzRixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixJQUFJLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmLENBQUM7QUFFRixNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsWUFBWSxDQUFDLEVBQUU7UUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDO1FBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQztRQUFDLElBQUksRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDO0lBQ3JFLGVBQWUsQ0FBQyxFQUFFO1FBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUFDLElBQUksRUFBRSxVQUFVLENBQUM7UUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQztJQUN4RSxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztJQUN0QyxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQztJQUN6QyxPQUFPLEVBQUUsc0JBQXNCLENBQUM7Q0FDakMsQ0FBQztBQUVGLE1BQU0sTUFBTSxlQUFlLEdBQUc7SUFDNUIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEMsaUJBQWlCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDL0IsV0FBVyxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUM7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQUUsRUFBRTtJQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzFCLHdCQUF3QixFQUFFO1FBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsV0FBVyxDQUFBO0tBQUUsRUFBRSxDQUFDO0lBQ2xGLGlCQUFpQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQy9CLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE7D,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,qBAAqB,GACrB,mBAAmB,GACnB,eAAe,GACf,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAE3F,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,oBAAoB,CAAC;IACtC,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElG,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,cAAc,CAAC;IAC1B,wBAAwB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,EAAE,CAAC;IAClF,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.7cf39cb55",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -61,7 +61,8 @@
|
|
|
61
61
|
"./zkpassport": "./dest/zkpassport/index.js",
|
|
62
62
|
"./slashing": "./dest/slashing/index.js",
|
|
63
63
|
"./l1-contracts": "./dest/l1-contracts/index.js",
|
|
64
|
-
"./world-state": "./dest/world-state/index.js"
|
|
64
|
+
"./world-state": "./dest/world-state/index.js",
|
|
65
|
+
"./timetable": "./dest/timetable/index.js"
|
|
65
66
|
},
|
|
66
67
|
"typedocOptions": {
|
|
67
68
|
"entryPoints": [
|
|
@@ -89,14 +90,14 @@
|
|
|
89
90
|
},
|
|
90
91
|
"dependencies": {
|
|
91
92
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
92
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
93
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
94
|
-
"@aztec/constants": "0.0.1-commit.
|
|
95
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
96
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
97
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
98
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
99
|
-
"@aztec/validator-ha-signer": "0.0.1-commit.
|
|
93
|
+
"@aztec/bb.js": "0.0.1-commit.7cf39cb55",
|
|
94
|
+
"@aztec/blob-lib": "0.0.1-commit.7cf39cb55",
|
|
95
|
+
"@aztec/constants": "0.0.1-commit.7cf39cb55",
|
|
96
|
+
"@aztec/ethereum": "0.0.1-commit.7cf39cb55",
|
|
97
|
+
"@aztec/foundation": "0.0.1-commit.7cf39cb55",
|
|
98
|
+
"@aztec/l1-artifacts": "0.0.1-commit.7cf39cb55",
|
|
99
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.7cf39cb55",
|
|
100
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.7cf39cb55",
|
|
100
101
|
"@google-cloud/storage": "^7.15.0",
|
|
101
102
|
"axios": "^1.12.0",
|
|
102
103
|
"json-stringify-deterministic": "1.0.12",
|
package/src/abi/function_call.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
3
3
|
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
|
|
4
6
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
5
|
-
import {
|
|
7
|
+
import { schemas } from '../schemas/index.js';
|
|
8
|
+
import { type AbiType, AbiTypeSchema, FunctionType } from './abi.js';
|
|
6
9
|
import { FunctionSelector } from './function_selector.js';
|
|
7
10
|
|
|
8
11
|
/** A request to call a function on a contract. */
|
|
@@ -43,12 +46,31 @@ export class FunctionCall {
|
|
|
43
46
|
return new FunctionCall(...FunctionCall.getFields(fields));
|
|
44
47
|
}
|
|
45
48
|
|
|
49
|
+
static get schema() {
|
|
50
|
+
return z
|
|
51
|
+
.object({
|
|
52
|
+
name: z.string(),
|
|
53
|
+
to: schemas.AztecAddress,
|
|
54
|
+
selector: schemas.FunctionSelector,
|
|
55
|
+
type: z.nativeEnum(FunctionType),
|
|
56
|
+
isStatic: z.boolean(),
|
|
57
|
+
hideMsgSender: z.boolean(),
|
|
58
|
+
args: z.array(schemas.Fr),
|
|
59
|
+
returnTypes: z.array(AbiTypeSchema),
|
|
60
|
+
})
|
|
61
|
+
.transform(FunctionCall.from);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
public isPublicStatic(): boolean {
|
|
65
|
+
return this.type === FunctionType.PUBLIC && this.isStatic;
|
|
66
|
+
}
|
|
67
|
+
|
|
46
68
|
/**
|
|
47
69
|
* Creates an empty function call.
|
|
48
70
|
* @returns an empty function call.
|
|
49
71
|
*/
|
|
50
72
|
public static empty() {
|
|
51
|
-
return {
|
|
73
|
+
return FunctionCall.from({
|
|
52
74
|
name: '',
|
|
53
75
|
to: AztecAddress.ZERO,
|
|
54
76
|
selector: FunctionSelector.empty(),
|
|
@@ -57,6 +79,6 @@ export class FunctionCall {
|
|
|
57
79
|
isStatic: false,
|
|
58
80
|
args: [],
|
|
59
81
|
returnTypes: [],
|
|
60
|
-
};
|
|
82
|
+
});
|
|
61
83
|
}
|
|
62
84
|
}
|
package/src/block/in_block.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type DataInBlock<T> = {
|
|
|
17
17
|
|
|
18
18
|
export function randomInBlock(): InBlock {
|
|
19
19
|
return {
|
|
20
|
-
l2BlockNumber: BlockNumber(Math.floor(Math.random() * 1000)),
|
|
20
|
+
l2BlockNumber: BlockNumber(Math.floor(Math.random() * 1000) + 1),
|
|
21
21
|
l2BlockHash: BlockHash.random(),
|
|
22
22
|
};
|
|
23
23
|
}
|
package/src/config/index.ts
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ConfigMappingsType } from '@aztec/foundation/config';
|
|
2
|
+
|
|
3
|
+
import type { SequencerConfig } from '../interfaces/configs.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Partial sequencer config mappings for fields that need to be shared across packages.
|
|
7
|
+
* The full sequencer config mappings remain in sequencer-client, but shared fields
|
|
8
|
+
* (like blockDurationMs needed by both p2p and sequencer-client) are defined here
|
|
9
|
+
* to avoid duplication.
|
|
10
|
+
*/
|
|
11
|
+
export const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs'>> = {
|
|
12
|
+
blockDurationMs: {
|
|
13
|
+
env: 'SEQ_BLOCK_DURATION_MS',
|
|
14
|
+
description:
|
|
15
|
+
'Duration per block in milliseconds when building multiple blocks per slot. ' +
|
|
16
|
+
'If undefined (default), builds a single block per slot using the full slot duration.',
|
|
17
|
+
parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
|
|
18
|
+
},
|
|
19
|
+
};
|
|
@@ -19,6 +19,8 @@ export interface NodeInfo {
|
|
|
19
19
|
l1ContractAddresses: L1ContractAddresses;
|
|
20
20
|
/** Protocol contract addresses */
|
|
21
21
|
protocolContractAddresses: ProtocolContractAddresses;
|
|
22
|
+
/** Whether the node requires real proofs for transaction submission. */
|
|
23
|
+
realProofs: boolean;
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
export const NodeInfoSchema: ZodFor<NodeInfo> = z
|
|
@@ -29,5 +31,6 @@ export const NodeInfoSchema: ZodFor<NodeInfo> = z
|
|
|
29
31
|
enr: z.string().optional(),
|
|
30
32
|
l1ContractAddresses: L1ContractAddressesSchema,
|
|
31
33
|
protocolContractAddresses: ProtocolContractAddressesSchema,
|
|
34
|
+
realProofs: z.boolean(),
|
|
32
35
|
})
|
|
33
36
|
.transform(obj => ({ enr: undefined, ...obj }));
|
|
@@ -11,6 +11,7 @@ export type L1RollupConstants = {
|
|
|
11
11
|
epochDuration: number;
|
|
12
12
|
ethereumSlotDuration: number;
|
|
13
13
|
proofSubmissionEpochs: number;
|
|
14
|
+
targetCommitteeSize: number;
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
export const EmptyL1RollupConstants: L1RollupConstants = {
|
|
@@ -20,6 +21,7 @@ export const EmptyL1RollupConstants: L1RollupConstants = {
|
|
|
20
21
|
slotDuration: 1,
|
|
21
22
|
ethereumSlotDuration: 1,
|
|
22
23
|
proofSubmissionEpochs: 1,
|
|
24
|
+
targetCommitteeSize: 48,
|
|
23
25
|
};
|
|
24
26
|
|
|
25
27
|
export const L1RollupConstantsSchema = zodFor<L1RollupConstants>()(
|
|
@@ -30,6 +32,7 @@ export const L1RollupConstantsSchema = zodFor<L1RollupConstants>()(
|
|
|
30
32
|
epochDuration: z.number(),
|
|
31
33
|
ethereumSlotDuration: z.number(),
|
|
32
34
|
proofSubmissionEpochs: z.number(),
|
|
35
|
+
targetCommitteeSize: z.number(),
|
|
33
36
|
}),
|
|
34
37
|
);
|
|
35
38
|
|
package/src/hash/hash.ts
CHANGED
|
@@ -69,6 +69,10 @@ export function computeProtocolNullifier(txRequestHash: Fr): Promise<Fr> {
|
|
|
69
69
|
return siloNullifier(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS), txRequestHash);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
export function computeSiloedPrivateLogFirstField(contract: AztecAddress, field: Fr): Promise<Fr> {
|
|
73
|
+
return poseidon2HashWithSeparator([contract, field], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
|
|
74
|
+
}
|
|
75
|
+
|
|
72
76
|
/**
|
|
73
77
|
* Computes a public data tree value ready for insertion.
|
|
74
78
|
* @param value - Raw public data tree value to hash into a tree-insertion-ready value.
|
package/src/interfaces/p2p.ts
CHANGED
|
@@ -63,7 +63,7 @@ export interface P2PApiWithAttestations extends P2PApiWithoutAttestations {
|
|
|
63
63
|
|
|
64
64
|
export interface P2PClient extends P2PApiWithAttestations {
|
|
65
65
|
/** Manually adds checkpoint attestations to the p2p client attestation pool. */
|
|
66
|
-
|
|
66
|
+
addOwnCheckpointAttestations(attestations: CheckpointAttestation[]): Promise<void>;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
export type P2PApi<T extends P2PClientType = P2PClientType.Full> = T extends P2PClientType.Full
|
|
@@ -18,6 +18,8 @@ export interface SlasherConfig {
|
|
|
18
18
|
slashDataWithholdingPenalty: bigint;
|
|
19
19
|
slashInactivityPenalty: bigint;
|
|
20
20
|
slashBroadcastedInvalidBlockPenalty: bigint;
|
|
21
|
+
slashDuplicateProposalPenalty: bigint;
|
|
22
|
+
slashDuplicateAttestationPenalty: bigint;
|
|
21
23
|
slashProposeInvalidAttestationsPenalty: bigint;
|
|
22
24
|
slashAttestDescendantOfInvalidPenalty: bigint;
|
|
23
25
|
slashUnknownPenalty: bigint;
|
|
@@ -40,6 +42,8 @@ export const SlasherConfigSchema = zodFor<SlasherConfig>()(
|
|
|
40
42
|
slashInactivityConsecutiveEpochThreshold: z.number(),
|
|
41
43
|
slashInactivityPenalty: schemas.BigInt,
|
|
42
44
|
slashProposeInvalidAttestationsPenalty: schemas.BigInt,
|
|
45
|
+
slashDuplicateProposalPenalty: schemas.BigInt,
|
|
46
|
+
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
43
47
|
slashAttestDescendantOfInvalidPenalty: schemas.BigInt,
|
|
44
48
|
slashUnknownPenalty: schemas.BigInt,
|
|
45
49
|
slashOffenseExpirationRounds: z.number(),
|
|
@@ -56,11 +56,17 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & {
|
|
|
56
56
|
|
|
57
57
|
/** Skip pushing re-executed blocks to archiver (default: false) */
|
|
58
58
|
skipPushProposedBlocksToArchiver?: boolean;
|
|
59
|
+
|
|
60
|
+
/** Agree to attest to equivocated checkpoint proposals (for testing purposes only) */
|
|
61
|
+
attestToEquivocatedProposals?: boolean;
|
|
59
62
|
};
|
|
60
63
|
|
|
61
64
|
export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
62
65
|
Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
|
|
63
|
-
Pick<
|
|
66
|
+
Pick<
|
|
67
|
+
SlasherConfig,
|
|
68
|
+
'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'
|
|
69
|
+
> & {
|
|
64
70
|
/**
|
|
65
71
|
* Whether transactions are disabled for this node
|
|
66
72
|
* @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
|
|
@@ -79,6 +85,7 @@ export const ValidatorClientConfigSchema = zodFor<Omit<ValidatorClientConfig, 'v
|
|
|
79
85
|
fishermanMode: z.boolean().optional(),
|
|
80
86
|
skipCheckpointProposalValidation: z.boolean().optional(),
|
|
81
87
|
skipPushProposedBlocksToArchiver: z.boolean().optional(),
|
|
88
|
+
attestToEquivocatedProposals: z.boolean().optional(),
|
|
82
89
|
}),
|
|
83
90
|
);
|
|
84
91
|
|
|
@@ -87,6 +94,8 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
|
|
|
87
94
|
txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
|
|
88
95
|
broadcastInvalidBlockProposal: z.boolean().optional(),
|
|
89
96
|
slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
|
|
97
|
+
slashDuplicateProposalPenalty: schemas.BigInt,
|
|
98
|
+
slashDuplicateAttestationPenalty: schemas.BigInt,
|
|
90
99
|
disableTransactions: z.boolean().optional(),
|
|
91
100
|
}),
|
|
92
101
|
);
|
package/src/logs/siloed_tag.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { GeneratorIndex } from '@aztec/constants';
|
|
2
|
-
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
1
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
2
|
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
5
3
|
|
|
6
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
|
+
import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
|
|
7
6
|
import { schemas } from '../schemas/schemas.js';
|
|
8
7
|
import type { Tag } from './tag.js';
|
|
9
8
|
|
|
@@ -23,7 +22,7 @@ export class SiloedTag {
|
|
|
23
22
|
constructor(public readonly value: Fr) {}
|
|
24
23
|
|
|
25
24
|
static async compute(tag: Tag, app: AztecAddress): Promise<SiloedTag> {
|
|
26
|
-
const siloedTag = await
|
|
25
|
+
const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
|
|
27
26
|
return new SiloedTag(siloedTag);
|
|
28
27
|
}
|
|
29
28
|
|
|
@@ -32,10 +32,10 @@ import { SiblingPath, UnbalancedMerkleTreeCalculator, computeUnbalancedShaRoot }
|
|
|
32
32
|
* - Compression: If a block has no messages (out hash = 0), that branch is ignored
|
|
33
33
|
*
|
|
34
34
|
* 4. **Epoch Tree**
|
|
35
|
-
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to
|
|
35
|
+
* - Leaves: Checkpoint out hashes from all checkpoints in an epoch (padded to OUT_HASH_TREE_LEAF_COUNT)
|
|
36
36
|
* - Root: Epoch out hash (set in the root rollup's public inputs and inserted into the Outbox on L1 when the epoch is proven)
|
|
37
37
|
* - Type: Unbalanced, non-compressed
|
|
38
|
-
* - **Important**: Padded with zeros up to
|
|
38
|
+
* - **Important**: Padded with zeros up to OUT_HASH_TREE_LEAF_COUNT to allow for proofs of partial epochs
|
|
39
39
|
*
|
|
40
40
|
* ## Combined Membership Proof
|
|
41
41
|
* To prove a message exists in an epoch, we combine the sibling paths from all 4 trees:
|
|
@@ -163,7 +163,7 @@ export function computeL2ToL1MembershipWitnessFromMessagesInEpoch(
|
|
|
163
163
|
}
|
|
164
164
|
return buildCheckpointTree(messagesInCheckpoint).getRoot();
|
|
165
165
|
});
|
|
166
|
-
// Pad to
|
|
166
|
+
// Pad to OUT_HASH_TREE_LEAF_COUNT with zeros.
|
|
167
167
|
checkpointOutHashes = checkpointOutHashes.concat(
|
|
168
168
|
Array.from({ length: OUT_HASH_TREE_LEAF_COUNT - messagesInEpoch.length }, () => Buffer.alloc(32)),
|
|
169
169
|
);
|
package/src/note/notes_filter.ts
CHANGED
|
@@ -24,7 +24,10 @@ export type NotesFilter = {
|
|
|
24
24
|
status?: NoteStatus;
|
|
25
25
|
/** The siloed nullifier for the note. */
|
|
26
26
|
siloedNullifier?: Fr;
|
|
27
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* The scopes in which to get notes from
|
|
29
|
+
* Undefined scopes means all scopes, while empty list of scopes means no scope at all
|
|
30
|
+
*/
|
|
28
31
|
scopes?: AztecAddress[];
|
|
29
32
|
};
|
|
30
33
|
|
|
@@ -148,6 +148,16 @@ export class CheckpointProposal extends Gossipable {
|
|
|
148
148
|
};
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
toCheckpointInfo() {
|
|
152
|
+
return {
|
|
153
|
+
slotNumber: this.slotNumber,
|
|
154
|
+
archive: this.archive,
|
|
155
|
+
lastBlockNumber: this.lastBlock?.blockHeader.getBlockNumber(),
|
|
156
|
+
lastBlockIndex: this.lastBlock?.indexWithinCheckpoint,
|
|
157
|
+
blockHeadersHash: this.checkpointHeader.blockHeadersHash,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
|
|
151
161
|
/**
|
|
152
162
|
* Get the payload to sign for this checkpoint proposal.
|
|
153
163
|
* The signature is over the checkpoint header + archive root (for consensus).
|
package/src/p2p/constants.ts
CHANGED