@aztec/stdlib 3.0.0-nightly.20250904 → 3.0.0-nightly.20250906
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 +1 -1
- package/dest/avm/avm.d.ts.map +1 -1
- package/dest/avm/avm.js +2 -2
- package/dest/epoch-helpers/index.d.ts +6 -2
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +6 -0
- package/dest/fees/transaction_fee.d.ts.map +1 -1
- package/dest/fees/transaction_fee.js +3 -0
- package/dest/interfaces/aztec-node-admin.d.ts +22 -2
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +2 -1
- package/dest/interfaces/server.d.ts +1 -0
- package/dest/interfaces/server.d.ts.map +1 -1
- package/dest/interfaces/server.js +1 -0
- package/dest/interfaces/validator.d.ts +60 -0
- package/dest/interfaces/validator.d.ts.map +1 -0
- package/dest/interfaces/validator.js +10 -0
- package/dest/validators/schemas.d.ts +42 -4
- package/dest/validators/schemas.d.ts.map +1 -1
- package/dest/validators/schemas.js +5 -4
- package/dest/validators/types.d.ts +8 -10
- package/dest/validators/types.d.ts.map +1 -1
- package/package.json +9 -8
- package/src/avm/avm.ts +2 -5
- package/src/epoch-helpers/index.ts +16 -2
- package/src/fees/transaction_fee.ts +11 -0
- package/src/interfaces/aztec-node-admin.ts +6 -1
- package/src/interfaces/server.ts +1 -0
- package/src/interfaces/validator.ts +70 -0
- package/src/validators/schemas.ts +6 -4
- package/src/validators/types.ts +9 -10
package/dest/avm/avm.d.ts
CHANGED
|
@@ -1747,7 +1747,7 @@ export declare class AvmTxHint {
|
|
|
1747
1747
|
nullifiers: Fr[];
|
|
1748
1748
|
l2ToL1Messages: ScopedL2ToL1Message[];
|
|
1749
1749
|
}, setupEnqueuedCalls: PublicCallRequestWithCalldata[], appLogicEnqueuedCalls: PublicCallRequestWithCalldata[], teardownEnqueuedCall: PublicCallRequestWithCalldata | null, gasUsedByPrivate: Gas, feePayer: AztecAddress);
|
|
1750
|
-
static fromTx(tx: Tx): AvmTxHint;
|
|
1750
|
+
static fromTx(tx: Tx, gasFees: GasFees): AvmTxHint;
|
|
1751
1751
|
static empty(): AvmTxHint;
|
|
1752
1752
|
static get schema(): z.ZodEffects<z.ZodObject<{
|
|
1753
1753
|
hash: z.ZodString;
|
package/dest/avm/avm.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm.d.ts","sourceRoot":"","sources":["../../src/avm/avm.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4XJ;IAEM,wBAAwB,IAAI,MAAM;IAKlC,QAAQ,IAAI,MAAM;IAGzB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAG9B"}
|
|
1
|
+
{"version":3,"file":"avm.d.ts","sourceRoot":"","sources":["../../src/avm/avm.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyXJ;IAEM,wBAAwB,IAAI,MAAM;IAKlC,QAAQ,IAAI,MAAM;IAGzB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAG9B"}
|
package/dest/avm/avm.js
CHANGED
|
@@ -340,12 +340,12 @@ export class AvmTxHint {
|
|
|
340
340
|
this.gasUsedByPrivate = gasUsedByPrivate;
|
|
341
341
|
this.feePayer = feePayer;
|
|
342
342
|
}
|
|
343
|
-
static fromTx(tx) {
|
|
343
|
+
static fromTx(tx, gasFees) {
|
|
344
344
|
const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
|
|
345
345
|
const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
|
|
346
346
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
347
347
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
348
|
-
const effectiveGasFees = computeEffectiveGasFees(
|
|
348
|
+
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
349
349
|
// For informational purposes. Assumed quick because it should be cached.
|
|
350
350
|
const txHash = tx.getTxHash();
|
|
351
351
|
return new AvmTxHint(txHash.hash.toString(), gasSettings, effectiveGasFees, {
|
|
@@ -39,12 +39,16 @@ export declare function getEpochNumberAtTimestamp(ts: bigint, constants: Pick<L1
|
|
|
39
39
|
/** Returns the epoch number for a given slot. */
|
|
40
40
|
export declare function getEpochAtSlot(slot: bigint, constants: Pick<L1RollupConstants, 'epochDuration'>): bigint;
|
|
41
41
|
/** Returns the range of L2 slots (inclusive) for a given epoch number. */
|
|
42
|
-
export declare function getSlotRangeForEpoch(epochNumber: bigint, constants: Pick<L1RollupConstants, 'epochDuration'>): bigint
|
|
42
|
+
export declare function getSlotRangeForEpoch(epochNumber: bigint, constants: Pick<L1RollupConstants, 'epochDuration'>): [bigint, bigint];
|
|
43
43
|
/**
|
|
44
44
|
* Returns the range of L1 timestamps (inclusive) for a given epoch number.
|
|
45
45
|
* Note that the endTimestamp is the start timestamp of the last L1 slot for the epoch.
|
|
46
46
|
*/
|
|
47
|
-
export declare function getTimestampRangeForEpoch(epochNumber: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'ethereumSlotDuration'>): bigint
|
|
47
|
+
export declare function getTimestampRangeForEpoch(epochNumber: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'ethereumSlotDuration'>): [bigint, bigint];
|
|
48
|
+
/**
|
|
49
|
+
* Returns the start timestamp for a given epoch number.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getStartTimestampForEpoch(epochNumber: bigint, constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration'>): bigint;
|
|
48
52
|
/**
|
|
49
53
|
* Returns the epoch number at which proofs are no longer accepted for a given epoch.
|
|
50
54
|
* See l1-contracts/src/core/libraries/TimeLib.sol
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAOpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC;AAEvC,iDAAiD;AACjD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,UAGrE;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,UAElH;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,UAGvF;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,UAE/F;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/epoch-helpers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,iBAOpC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC;AAEvC,iDAAiD;AACjD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,UAGrE;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,CAAC,UAElH;AAED,sDAAsD;AACtD,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,UAGvF;AAED,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,UAE/F;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,GAClD,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,sBAAsB,CAAC,GAC9G,CAAC,MAAM,EAAE,MAAM,CAAC,CASlB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,CAAC,UAIvF;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,UAG5D;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,uBAAuB,CAAC,UAOjH"}
|
|
@@ -46,6 +46,12 @@ export const L1RollupConstantsSchema = z.object({
|
|
|
46
46
|
constants.l1GenesisTime + endSlot * BigInt(constants.slotDuration) + BigInt((ethereumSlotsPerL2Slot - 1) * constants.ethereumSlotDuration)
|
|
47
47
|
];
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns the start timestamp for a given epoch number.
|
|
51
|
+
*/ export function getStartTimestampForEpoch(epochNumber, constants) {
|
|
52
|
+
const [startSlot] = getSlotRangeForEpoch(epochNumber, constants);
|
|
53
|
+
return getTimestampForSlot(startSlot, constants);
|
|
54
|
+
}
|
|
49
55
|
/**
|
|
50
56
|
* Returns the epoch number at which proofs are no longer accepted for a given epoch.
|
|
51
57
|
* See l1-contracts/src/core/libraries/TimeLib.sol
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction_fee.d.ts","sourceRoot":"","sources":["../../src/fees/transaction_fee.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction_fee.d.ts","sourceRoot":"","sources":["../../src/fees/transaction_fee.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAInD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAuB3F;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAGlG"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { strict as assert } from 'assert';
|
|
1
2
|
import { GasFees } from '../gas/gas_fees.js';
|
|
2
3
|
/**
|
|
3
4
|
* Compute the effective gas fees that should be used to compute the transaction fee.
|
|
@@ -5,6 +6,8 @@ import { GasFees } from '../gas/gas_fees.js';
|
|
|
5
6
|
*/ export function computeEffectiveGasFees(gasFees, gasSettings) {
|
|
6
7
|
const { maxFeesPerGas, maxPriorityFeesPerGas } = gasSettings;
|
|
7
8
|
const minBigInt = (f1, f2)=>f1 < f2 ? f1 : f2;
|
|
9
|
+
assert(maxFeesPerGas.feePerDaGas >= gasFees.feePerDaGas, `maxFeesPerGas.feePerDaGas must be greater than or equal to gasFees.feePerDaGas, but got maxFeesPerGas.feePerDaGas=${maxFeesPerGas.feePerDaGas} and gasFees.feePerDaGas=${gasFees.feePerDaGas}`);
|
|
10
|
+
assert(maxFeesPerGas.feePerL2Gas >= gasFees.feePerL2Gas, `maxFeesPerGas.feePerL2Gas must be greater than or equal to gasFees.feePerL2Gas, but got maxFeesPerGas.feePerL2Gas=${maxFeesPerGas.feePerL2Gas} and gasFees.feePerL2Gas=${gasFees.feePerL2Gas}`);
|
|
8
11
|
const priorityFees = new GasFees(minBigInt(maxPriorityFeesPerGas.feePerDaGas, maxFeesPerGas.feePerDaGas - gasFees.feePerDaGas), minBigInt(maxPriorityFeesPerGas.feePerL2Gas, maxFeesPerGas.feePerL2Gas - gasFees.feePerL2Gas));
|
|
9
12
|
const effectiveFees = new GasFees(gasFees.feePerDaGas + priorityFees.feePerDaGas, gasFees.feePerL2Gas + priorityFees.feePerL2Gas);
|
|
10
13
|
return effectiveFees;
|
|
@@ -6,6 +6,7 @@ import { type ComponentsVersions } from '../versioning/index.js';
|
|
|
6
6
|
import { type SequencerConfig } from './configs.js';
|
|
7
7
|
import { type ProverConfig } from './prover-client.js';
|
|
8
8
|
import { type SlasherConfig } from './slasher.js';
|
|
9
|
+
import { type ValidatorClientFullConfig } from './validator.js';
|
|
9
10
|
/**
|
|
10
11
|
* Aztec node admin API.
|
|
11
12
|
*/
|
|
@@ -39,10 +40,10 @@ export interface AztecNodeAdmin {
|
|
|
39
40
|
/** Returns all offenses applicable for the given round. */
|
|
40
41
|
getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
|
|
41
42
|
}
|
|
42
|
-
export type AztecNodeAdminConfig = SequencerConfig & ProverConfig & SlasherConfig & {
|
|
43
|
+
export type AztecNodeAdminConfig = ValidatorClientFullConfig & SequencerConfig & ProverConfig & SlasherConfig & {
|
|
43
44
|
maxTxPoolSize: number;
|
|
44
45
|
};
|
|
45
|
-
export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
46
|
+
export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
46
47
|
transactionPollingIntervalMS: z.ZodOptional<z.ZodNumber>;
|
|
47
48
|
maxTxsPerBlock: z.ZodOptional<z.ZodNumber>;
|
|
48
49
|
minTxsPerBlock: z.ZodOptional<z.ZodNumber>;
|
|
@@ -120,6 +121,13 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
120
121
|
slashGracePeriodL2Slots: z.ZodNumber;
|
|
121
122
|
slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
122
123
|
slashSelfAllowed: z.ZodOptional<z.ZodBoolean>;
|
|
124
|
+
}>, {
|
|
125
|
+
validatorAddresses: z.ZodOptional<z.ZodArray<z.ZodType<import("@aztec/foundation/schemas").EthAddress, any, string>, "many">>;
|
|
126
|
+
disableValidator: z.ZodBoolean;
|
|
127
|
+
disabledValidators: z.ZodArray<z.ZodType<import("@aztec/foundation/schemas").EthAddress, any, string>, "many">;
|
|
128
|
+
attestationPollingIntervalMs: z.ZodNumber;
|
|
129
|
+
validatorReexecute: z.ZodBoolean;
|
|
130
|
+
validatorReexecuteDeadlineMs: z.ZodNumber;
|
|
123
131
|
}>, {
|
|
124
132
|
maxTxPoolSize: z.ZodNumber;
|
|
125
133
|
}>, "strip", z.ZodTypeAny, {
|
|
@@ -146,6 +154,11 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
146
154
|
proverTestDelayMs: number;
|
|
147
155
|
proverTestDelayFactor: number;
|
|
148
156
|
proverAgentCount: number;
|
|
157
|
+
disableValidator: boolean;
|
|
158
|
+
disabledValidators: import("@aztec/foundation/schemas").EthAddress[];
|
|
159
|
+
attestationPollingIntervalMs: number;
|
|
160
|
+
validatorReexecute: boolean;
|
|
161
|
+
validatorReexecuteDeadlineMs: number;
|
|
149
162
|
maxTxPoolSize: number;
|
|
150
163
|
coinbase?: import("@aztec/foundation/schemas").EthAddress | undefined;
|
|
151
164
|
feeRecipient?: import("../aztec-address/index.js").AztecAddress | undefined;
|
|
@@ -179,6 +192,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
179
192
|
slashOverridePayload?: import("@aztec/foundation/schemas").EthAddress | undefined;
|
|
180
193
|
slashSelfAllowed?: boolean | undefined;
|
|
181
194
|
nodeUrl?: string | undefined;
|
|
195
|
+
validatorAddresses?: import("@aztec/foundation/schemas").EthAddress[] | undefined;
|
|
182
196
|
}, {
|
|
183
197
|
secondsBeforeInvalidatingBlockAsCommitteeMember: number;
|
|
184
198
|
secondsBeforeInvalidatingBlockAsNonCommitteeMember: number;
|
|
@@ -203,6 +217,11 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
203
217
|
proverTestDelayMs: number;
|
|
204
218
|
proverTestDelayFactor: number;
|
|
205
219
|
proverAgentCount: number;
|
|
220
|
+
disableValidator: boolean;
|
|
221
|
+
disabledValidators: string[];
|
|
222
|
+
attestationPollingIntervalMs: number;
|
|
223
|
+
validatorReexecute: boolean;
|
|
224
|
+
validatorReexecuteDeadlineMs: number;
|
|
206
225
|
maxTxPoolSize: number;
|
|
207
226
|
coinbase?: any;
|
|
208
227
|
feeRecipient?: any;
|
|
@@ -236,6 +255,7 @@ export declare const AztecNodeAdminConfigSchema: z.ZodObject<z.objectUtil.extend
|
|
|
236
255
|
slashOverridePayload?: string | undefined;
|
|
237
256
|
slashSelfAllowed?: boolean | undefined;
|
|
238
257
|
nodeUrl?: string | undefined;
|
|
258
|
+
validatorAddresses?: string[] | undefined;
|
|
239
259
|
}>;
|
|
240
260
|
export declare const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin>;
|
|
241
261
|
export declare function createAztecNodeAdminClient(url: string, versions?: Partial<ComponentsVersions>, fetch?: typeof defaultFetch): AztecNodeAdmin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"aztec-node-admin.d.ts","sourceRoot":"","sources":["../../src/interfaces/aztec-node-admin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAE1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAiB,KAAK,iBAAiB,EAA2B,MAAM,sBAAsB,CAAC;AACpH,OAAO,EAAE,KAAK,kBAAkB,EAAgC,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,cAAc,CAAC;AACvE,OAAO,EAA+B,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhE;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,2EAA2E;IAC3E,gBAAgB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEjD,2DAA2D;IAC3D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACzE;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAC1D,eAAe,GACf,YAAY,GACZ,aAAa,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGU,CAAC;AAElD,eAAO,MAAM,uBAAuB,EAAE,YAAY,CAAC,cAAc,CAYhE,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAC1C,KAAK,sBAAe,GACnB,cAAc,CAMhB"}
|
|
@@ -5,7 +5,8 @@ import { getVersioningResponseHandler } from '../versioning/index.js';
|
|
|
5
5
|
import { SequencerConfigSchema } from './configs.js';
|
|
6
6
|
import { ProverConfigSchema } from './prover-client.js';
|
|
7
7
|
import { SlasherConfigSchema } from './slasher.js';
|
|
8
|
-
|
|
8
|
+
import { ValidatorClientConfigSchema } from './validator.js';
|
|
9
|
+
export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema).merge(SlasherConfigSchema).merge(ValidatorClientConfigSchema).merge(z.object({
|
|
9
10
|
maxTxPoolSize: z.number()
|
|
10
11
|
}));
|
|
11
12
|
export const AztecNodeAdminApiSchema = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/interfaces/server.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/interfaces/server.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { SecretValue } from '@aztec/foundation/config';
|
|
2
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
|
|
5
|
+
import type { BlockAttestation, BlockProposal, BlockProposalOptions } from '@aztec/stdlib/p2p';
|
|
6
|
+
import type { ProposedBlockHeader, StateReference, Tx } from '@aztec/stdlib/tx';
|
|
7
|
+
import type { PeerId } from '@libp2p/interface';
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
/**
|
|
10
|
+
* Validator client configuration
|
|
11
|
+
*/
|
|
12
|
+
export interface ValidatorClientConfig {
|
|
13
|
+
/** The private keys of the validators participating in attestation duties */
|
|
14
|
+
validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
|
|
15
|
+
/** The addresses of the validators to use with remote signers */
|
|
16
|
+
validatorAddresses?: EthAddress[];
|
|
17
|
+
/** Do not run the validator */
|
|
18
|
+
disableValidator: boolean;
|
|
19
|
+
/** Temporarily disable these specific validator addresses */
|
|
20
|
+
disabledValidators: EthAddress[];
|
|
21
|
+
/** Interval between polling for new attestations from peers */
|
|
22
|
+
attestationPollingIntervalMs: number;
|
|
23
|
+
/** Re-execute transactions before attesting */
|
|
24
|
+
validatorReexecute: boolean;
|
|
25
|
+
/** Will re-execute until this many milliseconds are left in the slot */
|
|
26
|
+
validatorReexecuteDeadlineMs: number;
|
|
27
|
+
}
|
|
28
|
+
export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowList'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'>;
|
|
29
|
+
export declare const ValidatorClientConfigSchema: z.ZodObject<{
|
|
30
|
+
validatorAddresses: z.ZodOptional<z.ZodArray<z.ZodType<EthAddress, any, string>, "many">>;
|
|
31
|
+
disableValidator: z.ZodBoolean;
|
|
32
|
+
disabledValidators: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
|
|
33
|
+
attestationPollingIntervalMs: z.ZodNumber;
|
|
34
|
+
validatorReexecute: z.ZodBoolean;
|
|
35
|
+
validatorReexecuteDeadlineMs: z.ZodNumber;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
disableValidator: boolean;
|
|
38
|
+
disabledValidators: EthAddress[];
|
|
39
|
+
attestationPollingIntervalMs: number;
|
|
40
|
+
validatorReexecute: boolean;
|
|
41
|
+
validatorReexecuteDeadlineMs: number;
|
|
42
|
+
validatorAddresses?: EthAddress[] | undefined;
|
|
43
|
+
}, {
|
|
44
|
+
disableValidator: boolean;
|
|
45
|
+
disabledValidators: string[];
|
|
46
|
+
attestationPollingIntervalMs: number;
|
|
47
|
+
validatorReexecute: boolean;
|
|
48
|
+
validatorReexecuteDeadlineMs: number;
|
|
49
|
+
validatorAddresses?: string[] | undefined;
|
|
50
|
+
}>;
|
|
51
|
+
export interface Validator {
|
|
52
|
+
start(): Promise<void>;
|
|
53
|
+
registerBlockProposalHandler(): void;
|
|
54
|
+
updateConfig(config: Partial<ValidatorClientFullConfig>): void;
|
|
55
|
+
createBlockProposal(blockNumber: number, header: ProposedBlockHeader, archive: Fr, stateReference: StateReference, txs: Tx[], proposerAddress: EthAddress | undefined, options: BlockProposalOptions): Promise<BlockProposal | undefined>;
|
|
56
|
+
attestToProposal(proposal: BlockProposal, sender: PeerId): Promise<BlockAttestation[] | undefined>;
|
|
57
|
+
broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
|
|
58
|
+
collectAttestations(proposal: BlockProposal, required: number, deadline: Date): Promise<BlockAttestation[]>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,WAAW,CAAC,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpD,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;IAElC,+BAA+B;IAC/B,gBAAgB,EAAE,OAAO,CAAC;IAE1B,6DAA6D;IAC7D,kBAAkB,EAAE,UAAU,EAAE,CAAC;IAEjC,+DAA+D;IAC/D,4BAA4B,EAAE,MAAM,CAAC;IAErC,+CAA+C;IAC/C,kBAAkB,EAAE,OAAO,CAAC;IAE5B,wEAAwE;IACxE,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAC3D,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,GAC/C,IAAI,CAAC,aAAa,EAAE,qCAAqC,CAAC,CAAC;AAE7D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;EAOgC,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,4BAA4B,IAAI,IAAI,CAAC;IACrC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IAG/D,mBAAmB,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,EAAE,EACX,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,EAAE,EAAE,EACT,eAAe,EAAE,UAAU,GAAG,SAAS,EACvC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IACtC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAC;IAEnG,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,mBAAmB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CAC7G"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export const ValidatorClientConfigSchema = z.object({
|
|
4
|
+
validatorAddresses: z.array(schemas.EthAddress).optional(),
|
|
5
|
+
disableValidator: z.boolean(),
|
|
6
|
+
disabledValidators: z.array(schemas.EthAddress),
|
|
7
|
+
attestationPollingIntervalMs: z.number().min(0),
|
|
8
|
+
validatorReexecute: z.boolean(),
|
|
9
|
+
validatorReexecuteDeadlineMs: z.number().min(0)
|
|
10
|
+
});
|
|
@@ -63,26 +63,32 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
|
63
63
|
currentStreak: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
64
64
|
rate: z.ZodOptional<z.ZodNumber>;
|
|
65
65
|
count: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
66
|
+
total: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
66
67
|
}, "strip", z.ZodTypeAny, {
|
|
67
68
|
currentStreak: number;
|
|
68
69
|
count: number;
|
|
70
|
+
total: number;
|
|
69
71
|
rate?: number | undefined;
|
|
70
72
|
}, {
|
|
71
73
|
currentStreak: string | number | bigint;
|
|
72
74
|
count: string | number | bigint;
|
|
75
|
+
total: string | number | bigint;
|
|
73
76
|
rate?: number | undefined;
|
|
74
77
|
}>;
|
|
75
78
|
missedAttestations: z.ZodObject<{
|
|
76
79
|
currentStreak: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
77
80
|
rate: z.ZodOptional<z.ZodNumber>;
|
|
78
81
|
count: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
82
|
+
total: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
79
83
|
}, "strip", z.ZodTypeAny, {
|
|
80
84
|
currentStreak: number;
|
|
81
85
|
count: number;
|
|
86
|
+
total: number;
|
|
82
87
|
rate?: number | undefined;
|
|
83
88
|
}, {
|
|
84
89
|
currentStreak: string | number | bigint;
|
|
85
90
|
count: string | number | bigint;
|
|
91
|
+
total: string | number | bigint;
|
|
86
92
|
rate?: number | undefined;
|
|
87
93
|
}>;
|
|
88
94
|
history: z.ZodArray<z.ZodObject<{
|
|
@@ -101,11 +107,13 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
|
101
107
|
missedProposals: {
|
|
102
108
|
currentStreak: number;
|
|
103
109
|
count: number;
|
|
110
|
+
total: number;
|
|
104
111
|
rate?: number | undefined;
|
|
105
112
|
};
|
|
106
113
|
missedAttestations: {
|
|
107
114
|
currentStreak: number;
|
|
108
115
|
count: number;
|
|
116
|
+
total: number;
|
|
109
117
|
rate?: number | undefined;
|
|
110
118
|
};
|
|
111
119
|
history: {
|
|
@@ -128,11 +136,13 @@ export declare const ValidatorStatsSchema: z.ZodObject<{
|
|
|
128
136
|
missedProposals: {
|
|
129
137
|
currentStreak: string | number | bigint;
|
|
130
138
|
count: string | number | bigint;
|
|
139
|
+
total: string | number | bigint;
|
|
131
140
|
rate?: number | undefined;
|
|
132
141
|
};
|
|
133
142
|
missedAttestations: {
|
|
134
143
|
currentStreak: string | number | bigint;
|
|
135
144
|
count: string | number | bigint;
|
|
145
|
+
total: string | number | bigint;
|
|
136
146
|
rate?: number | undefined;
|
|
137
147
|
};
|
|
138
148
|
history: {
|
|
@@ -184,26 +194,32 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
184
194
|
currentStreak: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
185
195
|
rate: z.ZodOptional<z.ZodNumber>;
|
|
186
196
|
count: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
197
|
+
total: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
187
198
|
}, "strip", z.ZodTypeAny, {
|
|
188
199
|
currentStreak: number;
|
|
189
200
|
count: number;
|
|
201
|
+
total: number;
|
|
190
202
|
rate?: number | undefined;
|
|
191
203
|
}, {
|
|
192
204
|
currentStreak: string | number | bigint;
|
|
193
205
|
count: string | number | bigint;
|
|
206
|
+
total: string | number | bigint;
|
|
194
207
|
rate?: number | undefined;
|
|
195
208
|
}>;
|
|
196
209
|
missedAttestations: z.ZodObject<{
|
|
197
210
|
currentStreak: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
198
211
|
rate: z.ZodOptional<z.ZodNumber>;
|
|
199
212
|
count: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
213
|
+
total: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
200
214
|
}, "strip", z.ZodTypeAny, {
|
|
201
215
|
currentStreak: number;
|
|
202
216
|
count: number;
|
|
217
|
+
total: number;
|
|
203
218
|
rate?: number | undefined;
|
|
204
219
|
}, {
|
|
205
220
|
currentStreak: string | number | bigint;
|
|
206
221
|
count: string | number | bigint;
|
|
222
|
+
total: string | number | bigint;
|
|
207
223
|
rate?: number | undefined;
|
|
208
224
|
}>;
|
|
209
225
|
history: z.ZodArray<z.ZodObject<{
|
|
@@ -222,11 +238,13 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
222
238
|
missedProposals: {
|
|
223
239
|
currentStreak: number;
|
|
224
240
|
count: number;
|
|
241
|
+
total: number;
|
|
225
242
|
rate?: number | undefined;
|
|
226
243
|
};
|
|
227
244
|
missedAttestations: {
|
|
228
245
|
currentStreak: number;
|
|
229
246
|
count: number;
|
|
247
|
+
total: number;
|
|
230
248
|
rate?: number | undefined;
|
|
231
249
|
};
|
|
232
250
|
history: {
|
|
@@ -249,11 +267,13 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
249
267
|
missedProposals: {
|
|
250
268
|
currentStreak: string | number | bigint;
|
|
251
269
|
count: string | number | bigint;
|
|
270
|
+
total: string | number | bigint;
|
|
252
271
|
rate?: number | undefined;
|
|
253
272
|
};
|
|
254
273
|
missedAttestations: {
|
|
255
274
|
currentStreak: string | number | bigint;
|
|
256
275
|
count: string | number | bigint;
|
|
276
|
+
total: string | number | bigint;
|
|
257
277
|
rate?: number | undefined;
|
|
258
278
|
};
|
|
259
279
|
history: {
|
|
@@ -281,11 +301,13 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
281
301
|
missedProposals: {
|
|
282
302
|
currentStreak: number;
|
|
283
303
|
count: number;
|
|
304
|
+
total: number;
|
|
284
305
|
rate?: number | undefined;
|
|
285
306
|
};
|
|
286
307
|
missedAttestations: {
|
|
287
308
|
currentStreak: number;
|
|
288
309
|
count: number;
|
|
310
|
+
total: number;
|
|
289
311
|
rate?: number | undefined;
|
|
290
312
|
};
|
|
291
313
|
history: {
|
|
@@ -313,11 +335,13 @@ export declare const ValidatorsStatsSchema: z.ZodObject<{
|
|
|
313
335
|
missedProposals: {
|
|
314
336
|
currentStreak: string | number | bigint;
|
|
315
337
|
count: string | number | bigint;
|
|
338
|
+
total: string | number | bigint;
|
|
316
339
|
rate?: number | undefined;
|
|
317
340
|
};
|
|
318
341
|
missedAttestations: {
|
|
319
342
|
currentStreak: string | number | bigint;
|
|
320
343
|
count: string | number | bigint;
|
|
344
|
+
total: string | number | bigint;
|
|
321
345
|
rate?: number | undefined;
|
|
322
346
|
};
|
|
323
347
|
history: {
|
|
@@ -373,26 +397,32 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
373
397
|
currentStreak: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
374
398
|
rate: z.ZodOptional<z.ZodNumber>;
|
|
375
399
|
count: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
400
|
+
total: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
376
401
|
}, "strip", z.ZodTypeAny, {
|
|
377
402
|
currentStreak: number;
|
|
378
403
|
count: number;
|
|
404
|
+
total: number;
|
|
379
405
|
rate?: number | undefined;
|
|
380
406
|
}, {
|
|
381
407
|
currentStreak: string | number | bigint;
|
|
382
408
|
count: string | number | bigint;
|
|
409
|
+
total: string | number | bigint;
|
|
383
410
|
rate?: number | undefined;
|
|
384
411
|
}>;
|
|
385
412
|
missedAttestations: z.ZodObject<{
|
|
386
413
|
currentStreak: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
387
414
|
rate: z.ZodOptional<z.ZodNumber>;
|
|
388
415
|
count: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
416
|
+
total: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
|
|
389
417
|
}, "strip", z.ZodTypeAny, {
|
|
390
418
|
currentStreak: number;
|
|
391
419
|
count: number;
|
|
420
|
+
total: number;
|
|
392
421
|
rate?: number | undefined;
|
|
393
422
|
}, {
|
|
394
423
|
currentStreak: string | number | bigint;
|
|
395
424
|
count: string | number | bigint;
|
|
425
|
+
total: string | number | bigint;
|
|
396
426
|
rate?: number | undefined;
|
|
397
427
|
}>;
|
|
398
428
|
history: z.ZodArray<z.ZodObject<{
|
|
@@ -411,11 +441,13 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
411
441
|
missedProposals: {
|
|
412
442
|
currentStreak: number;
|
|
413
443
|
count: number;
|
|
444
|
+
total: number;
|
|
414
445
|
rate?: number | undefined;
|
|
415
446
|
};
|
|
416
447
|
missedAttestations: {
|
|
417
448
|
currentStreak: number;
|
|
418
449
|
count: number;
|
|
450
|
+
total: number;
|
|
419
451
|
rate?: number | undefined;
|
|
420
452
|
};
|
|
421
453
|
history: {
|
|
@@ -438,11 +470,13 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
438
470
|
missedProposals: {
|
|
439
471
|
currentStreak: string | number | bigint;
|
|
440
472
|
count: string | number | bigint;
|
|
473
|
+
total: string | number | bigint;
|
|
441
474
|
rate?: number | undefined;
|
|
442
475
|
};
|
|
443
476
|
missedAttestations: {
|
|
444
477
|
currentStreak: string | number | bigint;
|
|
445
478
|
count: string | number | bigint;
|
|
479
|
+
total: string | number | bigint;
|
|
446
480
|
rate?: number | undefined;
|
|
447
481
|
};
|
|
448
482
|
history: {
|
|
@@ -466,12 +500,12 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
466
500
|
epoch: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
|
|
467
501
|
}, "strip", z.ZodTypeAny, {
|
|
468
502
|
epoch: bigint;
|
|
469
|
-
missed: number;
|
|
470
503
|
total: number;
|
|
504
|
+
missed: number;
|
|
471
505
|
}, {
|
|
472
506
|
epoch: string | number | bigint;
|
|
473
|
-
missed: string | number | bigint;
|
|
474
507
|
total: string | number | bigint;
|
|
508
|
+
missed: string | number | bigint;
|
|
475
509
|
}>, "many">;
|
|
476
510
|
lastProcessedSlot: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>>;
|
|
477
511
|
initialSlot: z.ZodOptional<z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>>;
|
|
@@ -484,11 +518,13 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
484
518
|
missedProposals: {
|
|
485
519
|
currentStreak: number;
|
|
486
520
|
count: number;
|
|
521
|
+
total: number;
|
|
487
522
|
rate?: number | undefined;
|
|
488
523
|
};
|
|
489
524
|
missedAttestations: {
|
|
490
525
|
currentStreak: number;
|
|
491
526
|
count: number;
|
|
527
|
+
total: number;
|
|
492
528
|
rate?: number | undefined;
|
|
493
529
|
};
|
|
494
530
|
history: {
|
|
@@ -508,8 +544,8 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
508
544
|
};
|
|
509
545
|
allTimeProvenPerformance: {
|
|
510
546
|
epoch: bigint;
|
|
511
|
-
missed: number;
|
|
512
547
|
total: number;
|
|
548
|
+
missed: number;
|
|
513
549
|
}[];
|
|
514
550
|
lastProcessedSlot?: bigint | undefined;
|
|
515
551
|
initialSlot?: bigint | undefined;
|
|
@@ -521,11 +557,13 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
521
557
|
missedProposals: {
|
|
522
558
|
currentStreak: string | number | bigint;
|
|
523
559
|
count: string | number | bigint;
|
|
560
|
+
total: string | number | bigint;
|
|
524
561
|
rate?: number | undefined;
|
|
525
562
|
};
|
|
526
563
|
missedAttestations: {
|
|
527
564
|
currentStreak: string | number | bigint;
|
|
528
565
|
count: string | number | bigint;
|
|
566
|
+
total: string | number | bigint;
|
|
529
567
|
rate?: number | undefined;
|
|
530
568
|
};
|
|
531
569
|
history: {
|
|
@@ -545,8 +583,8 @@ export declare const SingleValidatorStatsSchema: z.ZodObject<{
|
|
|
545
583
|
};
|
|
546
584
|
allTimeProvenPerformance: {
|
|
547
585
|
epoch: string | number | bigint;
|
|
548
|
-
missed: string | number | bigint;
|
|
549
586
|
total: string | number | bigint;
|
|
587
|
+
missed: string | number | bigint;
|
|
550
588
|
}[];
|
|
551
589
|
lastProcessedSlot?: string | number | bigint | undefined;
|
|
552
590
|
initialSlot?: string | number | bigint | undefined;
|
|
@@ -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;
|
|
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,wGAME,CAAC;AAE3C,eAAO,MAAM,4BAA4B;;;;;;;;;WAKC,CAAC;AAE3C,eAAO,MAAM,iCAAiC;;;;;;;;;oBAAwC,CAAC;AAEvF,eAAO,MAAM,+BAA+B;;;;;;;;;qBAA8C,CAAC;AAe3F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQE,CAAC;AAEpC,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKE,CAAC;AAErC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYE,CAAC"}
|
|
@@ -18,18 +18,19 @@ const ValidatorTimeStatSchema = z.object({
|
|
|
18
18
|
slot: schemas.BigInt,
|
|
19
19
|
date: z.string()
|
|
20
20
|
});
|
|
21
|
-
const
|
|
21
|
+
const ValidatorMissedStatsSchema = z.object({
|
|
22
22
|
currentStreak: schemas.Integer,
|
|
23
23
|
rate: z.number().optional(),
|
|
24
|
-
count: schemas.Integer
|
|
24
|
+
count: schemas.Integer,
|
|
25
|
+
total: schemas.Integer
|
|
25
26
|
});
|
|
26
27
|
export const ValidatorStatsSchema = z.object({
|
|
27
28
|
address: schemas.EthAddress,
|
|
28
29
|
lastProposal: ValidatorTimeStatSchema.optional(),
|
|
29
30
|
lastAttestation: ValidatorTimeStatSchema.optional(),
|
|
30
31
|
totalSlots: schemas.Integer,
|
|
31
|
-
missedProposals:
|
|
32
|
-
missedAttestations:
|
|
32
|
+
missedProposals: ValidatorMissedStatsSchema,
|
|
33
|
+
missedAttestations: ValidatorMissedStatsSchema,
|
|
33
34
|
history: ValidatorStatusHistorySchema
|
|
34
35
|
});
|
|
35
36
|
export const ValidatorsStatsSchema = z.object({
|
|
@@ -5,6 +5,12 @@ export type ValidatorStatusHistory = {
|
|
|
5
5
|
slot: bigint;
|
|
6
6
|
status: ValidatorStatusInSlot;
|
|
7
7
|
}[];
|
|
8
|
+
export type ValidatorMissedStats = {
|
|
9
|
+
currentStreak: number;
|
|
10
|
+
rate?: number;
|
|
11
|
+
count: number;
|
|
12
|
+
total: number;
|
|
13
|
+
};
|
|
8
14
|
export type ValidatorStats = {
|
|
9
15
|
address: EthAddress;
|
|
10
16
|
lastProposal?: {
|
|
@@ -18,16 +24,8 @@ export type ValidatorStats = {
|
|
|
18
24
|
date: string;
|
|
19
25
|
};
|
|
20
26
|
totalSlots: number;
|
|
21
|
-
missedProposals:
|
|
22
|
-
|
|
23
|
-
rate?: number;
|
|
24
|
-
count: number;
|
|
25
|
-
};
|
|
26
|
-
missedAttestations: {
|
|
27
|
-
currentStreak: number;
|
|
28
|
-
rate?: number;
|
|
29
|
-
count: number;
|
|
30
|
-
};
|
|
27
|
+
missedProposals: ValidatorMissedStats;
|
|
28
|
+
missedAttestations: ValidatorMissedStats;
|
|
31
29
|
history: ValidatorStatusHistory;
|
|
32
30
|
};
|
|
33
31
|
export type ValidatorsStats = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAEvF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validators/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAC7B,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,oBAAoB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,CAAA;CAAE,EAAE,CAAC;AAEvF,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,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,eAAe,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,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,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20250906",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -69,13 +69,13 @@
|
|
|
69
69
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@aztec/bb.js": "3.0.0-nightly.
|
|
73
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
74
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
75
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
76
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
77
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
78
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
72
|
+
"@aztec/bb.js": "3.0.0-nightly.20250906",
|
|
73
|
+
"@aztec/blob-lib": "3.0.0-nightly.20250906",
|
|
74
|
+
"@aztec/constants": "3.0.0-nightly.20250906",
|
|
75
|
+
"@aztec/ethereum": "3.0.0-nightly.20250906",
|
|
76
|
+
"@aztec/foundation": "3.0.0-nightly.20250906",
|
|
77
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20250906",
|
|
78
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20250906",
|
|
79
79
|
"@google-cloud/storage": "^7.15.0",
|
|
80
80
|
"axios": "^1.9.0",
|
|
81
81
|
"json-stringify-deterministic": "1.0.12",
|
|
@@ -92,6 +92,7 @@
|
|
|
92
92
|
"devDependencies": {
|
|
93
93
|
"@jest/expect": "^30.0.0",
|
|
94
94
|
"@jest/globals": "^30.0.0",
|
|
95
|
+
"@libp2p/interface": "1.3.1",
|
|
95
96
|
"@types/jest": "^30.0.0",
|
|
96
97
|
"@types/lodash.chunk": "^4.2.9",
|
|
97
98
|
"@types/lodash.isequal": "^4.5.8",
|
package/src/avm/avm.ts
CHANGED
|
@@ -408,15 +408,12 @@ export class AvmTxHint {
|
|
|
408
408
|
public readonly feePayer: AztecAddress,
|
|
409
409
|
) {}
|
|
410
410
|
|
|
411
|
-
static fromTx(tx: Tx): AvmTxHint {
|
|
411
|
+
static fromTx(tx: Tx, gasFees: GasFees): AvmTxHint {
|
|
412
412
|
const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
|
|
413
413
|
const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
|
|
414
414
|
const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
|
|
415
415
|
const gasSettings = tx.data.constants.txContext.gasSettings;
|
|
416
|
-
const effectiveGasFees = computeEffectiveGasFees(
|
|
417
|
-
tx.data.constants.historicalHeader.globalVariables.gasFees,
|
|
418
|
-
gasSettings,
|
|
419
|
-
);
|
|
416
|
+
const effectiveGasFees = computeEffectiveGasFees(gasFees, gasSettings);
|
|
420
417
|
|
|
421
418
|
// For informational purposes. Assumed quick because it should be cached.
|
|
422
419
|
const txHash = tx.getTxHash();
|
|
@@ -56,7 +56,10 @@ export function getEpochAtSlot(slot: bigint, constants: Pick<L1RollupConstants,
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/** Returns the range of L2 slots (inclusive) for a given epoch number. */
|
|
59
|
-
export function getSlotRangeForEpoch(
|
|
59
|
+
export function getSlotRangeForEpoch(
|
|
60
|
+
epochNumber: bigint,
|
|
61
|
+
constants: Pick<L1RollupConstants, 'epochDuration'>,
|
|
62
|
+
): [bigint, bigint] {
|
|
60
63
|
const startSlot = epochNumber * BigInt(constants.epochDuration);
|
|
61
64
|
return [startSlot, startSlot + BigInt(constants.epochDuration) - 1n];
|
|
62
65
|
}
|
|
@@ -68,7 +71,7 @@ export function getSlotRangeForEpoch(epochNumber: bigint, constants: Pick<L1Roll
|
|
|
68
71
|
export function getTimestampRangeForEpoch(
|
|
69
72
|
epochNumber: bigint,
|
|
70
73
|
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration' | 'ethereumSlotDuration'>,
|
|
71
|
-
) {
|
|
74
|
+
): [bigint, bigint] {
|
|
72
75
|
const [startSlot, endSlot] = getSlotRangeForEpoch(epochNumber, constants);
|
|
73
76
|
const ethereumSlotsPerL2Slot = constants.slotDuration / constants.ethereumSlotDuration;
|
|
74
77
|
return [
|
|
@@ -79,6 +82,17 @@ export function getTimestampRangeForEpoch(
|
|
|
79
82
|
];
|
|
80
83
|
}
|
|
81
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Returns the start timestamp for a given epoch number.
|
|
87
|
+
*/
|
|
88
|
+
export function getStartTimestampForEpoch(
|
|
89
|
+
epochNumber: bigint,
|
|
90
|
+
constants: Pick<L1RollupConstants, 'l1GenesisTime' | 'slotDuration' | 'epochDuration'>,
|
|
91
|
+
) {
|
|
92
|
+
const [startSlot] = getSlotRangeForEpoch(epochNumber, constants);
|
|
93
|
+
return getTimestampForSlot(startSlot, constants);
|
|
94
|
+
}
|
|
95
|
+
|
|
82
96
|
/**
|
|
83
97
|
* Returns the epoch number at which proofs are no longer accepted for a given epoch.
|
|
84
98
|
* See l1-contracts/src/core/libraries/TimeLib.sol
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/fields';
|
|
2
2
|
|
|
3
|
+
import { strict as assert } from 'assert';
|
|
4
|
+
|
|
3
5
|
import type { Gas } from '../gas/gas.js';
|
|
4
6
|
import { GasFees } from '../gas/gas_fees.js';
|
|
5
7
|
import type { GasSettings } from '../gas/gas_settings.js';
|
|
@@ -11,6 +13,15 @@ import type { GasSettings } from '../gas/gas_settings.js';
|
|
|
11
13
|
export function computeEffectiveGasFees(gasFees: GasFees, gasSettings: GasSettings): GasFees {
|
|
12
14
|
const { maxFeesPerGas, maxPriorityFeesPerGas } = gasSettings;
|
|
13
15
|
const minBigInt = (f1: bigint, f2: bigint) => (f1 < f2 ? f1 : f2);
|
|
16
|
+
|
|
17
|
+
assert(
|
|
18
|
+
maxFeesPerGas.feePerDaGas >= gasFees.feePerDaGas,
|
|
19
|
+
`maxFeesPerGas.feePerDaGas must be greater than or equal to gasFees.feePerDaGas, but got maxFeesPerGas.feePerDaGas=${maxFeesPerGas.feePerDaGas} and gasFees.feePerDaGas=${gasFees.feePerDaGas}`,
|
|
20
|
+
);
|
|
21
|
+
assert(
|
|
22
|
+
maxFeesPerGas.feePerL2Gas >= gasFees.feePerL2Gas,
|
|
23
|
+
`maxFeesPerGas.feePerL2Gas must be greater than or equal to gasFees.feePerL2Gas, but got maxFeesPerGas.feePerL2Gas=${maxFeesPerGas.feePerL2Gas} and gasFees.feePerL2Gas=${gasFees.feePerL2Gas}`,
|
|
24
|
+
);
|
|
14
25
|
const priorityFees = new GasFees(
|
|
15
26
|
minBigInt(maxPriorityFeesPerGas.feePerDaGas, maxFeesPerGas.feePerDaGas - gasFees.feePerDaGas),
|
|
16
27
|
minBigInt(maxPriorityFeesPerGas.feePerL2Gas, maxFeesPerGas.feePerL2Gas - gasFees.feePerL2Gas),
|
|
@@ -8,6 +8,7 @@ import { type ComponentsVersions, getVersioningResponseHandler } from '../versio
|
|
|
8
8
|
import { type SequencerConfig, SequencerConfigSchema } from './configs.js';
|
|
9
9
|
import { type ProverConfig, ProverConfigSchema } from './prover-client.js';
|
|
10
10
|
import { type SlasherConfig, SlasherConfigSchema } from './slasher.js';
|
|
11
|
+
import { ValidatorClientConfigSchema, type ValidatorClientFullConfig } from './validator.js';
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Aztec node admin API.
|
|
@@ -50,10 +51,14 @@ export interface AztecNodeAdmin {
|
|
|
50
51
|
getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
export type AztecNodeAdminConfig =
|
|
54
|
+
export type AztecNodeAdminConfig = ValidatorClientFullConfig &
|
|
55
|
+
SequencerConfig &
|
|
56
|
+
ProverConfig &
|
|
57
|
+
SlasherConfig & { maxTxPoolSize: number };
|
|
54
58
|
|
|
55
59
|
export const AztecNodeAdminConfigSchema = SequencerConfigSchema.merge(ProverConfigSchema)
|
|
56
60
|
.merge(SlasherConfigSchema)
|
|
61
|
+
.merge(ValidatorClientConfigSchema)
|
|
57
62
|
.merge(z.object({ maxTxPoolSize: z.number() }));
|
|
58
63
|
|
|
59
64
|
export const AztecNodeAdminApiSchema: ApiSchemaFor<AztecNodeAdmin> = {
|
package/src/interfaces/server.ts
CHANGED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { SecretValue } from '@aztec/foundation/config';
|
|
2
|
+
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { type ZodFor, schemas } from '@aztec/foundation/schemas';
|
|
5
|
+
import type { SequencerConfig, SlasherConfig } from '@aztec/stdlib/interfaces/server';
|
|
6
|
+
import type { BlockAttestation, BlockProposal, BlockProposalOptions } from '@aztec/stdlib/p2p';
|
|
7
|
+
import type { ProposedBlockHeader, StateReference, Tx } from '@aztec/stdlib/tx';
|
|
8
|
+
|
|
9
|
+
import type { PeerId } from '@libp2p/interface';
|
|
10
|
+
import { z } from 'zod';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Validator client configuration
|
|
14
|
+
*/
|
|
15
|
+
export interface ValidatorClientConfig {
|
|
16
|
+
/** The private keys of the validators participating in attestation duties */
|
|
17
|
+
validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
|
|
18
|
+
|
|
19
|
+
/** The addresses of the validators to use with remote signers */
|
|
20
|
+
validatorAddresses?: EthAddress[];
|
|
21
|
+
|
|
22
|
+
/** Do not run the validator */
|
|
23
|
+
disableValidator: boolean;
|
|
24
|
+
|
|
25
|
+
/** Temporarily disable these specific validator addresses */
|
|
26
|
+
disabledValidators: EthAddress[];
|
|
27
|
+
|
|
28
|
+
/** Interval between polling for new attestations from peers */
|
|
29
|
+
attestationPollingIntervalMs: number;
|
|
30
|
+
|
|
31
|
+
/** Re-execute transactions before attesting */
|
|
32
|
+
validatorReexecute: boolean;
|
|
33
|
+
|
|
34
|
+
/** Will re-execute until this many milliseconds are left in the slot */
|
|
35
|
+
validatorReexecuteDeadlineMs: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export type ValidatorClientFullConfig = ValidatorClientConfig &
|
|
39
|
+
Pick<SequencerConfig, 'txPublicSetupAllowList'> &
|
|
40
|
+
Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty'>;
|
|
41
|
+
|
|
42
|
+
export const ValidatorClientConfigSchema = z.object({
|
|
43
|
+
validatorAddresses: z.array(schemas.EthAddress).optional(),
|
|
44
|
+
disableValidator: z.boolean(),
|
|
45
|
+
disabledValidators: z.array(schemas.EthAddress),
|
|
46
|
+
attestationPollingIntervalMs: z.number().min(0),
|
|
47
|
+
validatorReexecute: z.boolean(),
|
|
48
|
+
validatorReexecuteDeadlineMs: z.number().min(0),
|
|
49
|
+
}) satisfies ZodFor<Omit<ValidatorClientConfig, 'validatorPrivateKeys'>>;
|
|
50
|
+
|
|
51
|
+
export interface Validator {
|
|
52
|
+
start(): Promise<void>;
|
|
53
|
+
registerBlockProposalHandler(): void;
|
|
54
|
+
updateConfig(config: Partial<ValidatorClientFullConfig>): void;
|
|
55
|
+
|
|
56
|
+
// Block validation responsibilities
|
|
57
|
+
createBlockProposal(
|
|
58
|
+
blockNumber: number,
|
|
59
|
+
header: ProposedBlockHeader,
|
|
60
|
+
archive: Fr,
|
|
61
|
+
stateReference: StateReference,
|
|
62
|
+
txs: Tx[],
|
|
63
|
+
proposerAddress: EthAddress | undefined,
|
|
64
|
+
options: BlockProposalOptions,
|
|
65
|
+
): Promise<BlockProposal | undefined>;
|
|
66
|
+
attestToProposal(proposal: BlockProposal, sender: PeerId): Promise<BlockAttestation[] | undefined>;
|
|
67
|
+
|
|
68
|
+
broadcastBlockProposal(proposal: BlockProposal): Promise<void>;
|
|
69
|
+
collectAttestations(proposal: BlockProposal, required: number, deadline: Date): Promise<BlockAttestation[]>;
|
|
70
|
+
}
|
|
@@ -4,6 +4,7 @@ import { z } from 'zod';
|
|
|
4
4
|
|
|
5
5
|
import type {
|
|
6
6
|
SingleValidatorStats,
|
|
7
|
+
ValidatorMissedStats,
|
|
7
8
|
ValidatorStats,
|
|
8
9
|
ValidatorStatusHistory,
|
|
9
10
|
ValidatorStatusInSlot,
|
|
@@ -35,19 +36,20 @@ const ValidatorTimeStatSchema = z.object({
|
|
|
35
36
|
date: z.string(),
|
|
36
37
|
});
|
|
37
38
|
|
|
38
|
-
const
|
|
39
|
+
const ValidatorMissedStatsSchema = z.object({
|
|
39
40
|
currentStreak: schemas.Integer,
|
|
40
41
|
rate: z.number().optional(),
|
|
41
42
|
count: schemas.Integer,
|
|
42
|
-
|
|
43
|
+
total: schemas.Integer,
|
|
44
|
+
}) satisfies ZodFor<ValidatorMissedStats>;
|
|
43
45
|
|
|
44
46
|
export const ValidatorStatsSchema = z.object({
|
|
45
47
|
address: schemas.EthAddress,
|
|
46
48
|
lastProposal: ValidatorTimeStatSchema.optional(),
|
|
47
49
|
lastAttestation: ValidatorTimeStatSchema.optional(),
|
|
48
50
|
totalSlots: schemas.Integer,
|
|
49
|
-
missedProposals:
|
|
50
|
-
missedAttestations:
|
|
51
|
+
missedProposals: ValidatorMissedStatsSchema,
|
|
52
|
+
missedAttestations: ValidatorMissedStatsSchema,
|
|
51
53
|
history: ValidatorStatusHistorySchema,
|
|
52
54
|
}) satisfies ZodFor<ValidatorStats>;
|
|
53
55
|
|
package/src/validators/types.ts
CHANGED
|
@@ -11,21 +11,20 @@ export type ValidatorStatusInSlot =
|
|
|
11
11
|
|
|
12
12
|
export type ValidatorStatusHistory = { slot: bigint; status: ValidatorStatusInSlot }[];
|
|
13
13
|
|
|
14
|
+
export type ValidatorMissedStats = {
|
|
15
|
+
currentStreak: number;
|
|
16
|
+
rate?: number;
|
|
17
|
+
count: number;
|
|
18
|
+
total: number;
|
|
19
|
+
};
|
|
20
|
+
|
|
14
21
|
export type ValidatorStats = {
|
|
15
22
|
address: EthAddress;
|
|
16
23
|
lastProposal?: { timestamp: bigint; slot: bigint; date: string };
|
|
17
24
|
lastAttestation?: { timestamp: bigint; slot: bigint; date: string };
|
|
18
25
|
totalSlots: number;
|
|
19
|
-
missedProposals:
|
|
20
|
-
|
|
21
|
-
rate?: number;
|
|
22
|
-
count: number;
|
|
23
|
-
};
|
|
24
|
-
missedAttestations: {
|
|
25
|
-
currentStreak: number;
|
|
26
|
-
rate?: number;
|
|
27
|
-
count: number;
|
|
28
|
-
};
|
|
26
|
+
missedProposals: ValidatorMissedStats;
|
|
27
|
+
missedAttestations: ValidatorMissedStats;
|
|
29
28
|
history: ValidatorStatusHistory;
|
|
30
29
|
};
|
|
31
30
|
|