@aztec/epoch-cache 3.0.0-nightly.20251009 → 3.0.0-nightly.20251011
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/epoch_cache.d.ts +6 -3
- package/dest/epoch_cache.d.ts.map +1 -1
- package/dest/epoch_cache.js +5 -16
- package/package.json +5 -5
- package/src/epoch_cache.ts +5 -31
package/dest/epoch_cache.d.ts
CHANGED
|
@@ -45,12 +45,15 @@ export declare class EpochCache implements EpochCacheInterface {
|
|
|
45
45
|
private rollup;
|
|
46
46
|
private readonly l1constants;
|
|
47
47
|
private readonly dateProvider;
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
protected readonly config: {
|
|
49
|
+
cacheSize: number;
|
|
50
|
+
validatorRefreshIntervalSeconds: number;
|
|
51
|
+
};
|
|
52
|
+
protected cache: Map<bigint, EpochCommitteeInfo>;
|
|
50
53
|
private allValidators;
|
|
51
54
|
private lastValidatorRefresh;
|
|
52
55
|
private readonly log;
|
|
53
|
-
constructor(rollup: RollupContract,
|
|
56
|
+
constructor(rollup: RollupContract, l1constants?: L1RollupConstants, dateProvider?: DateProvider, config?: {
|
|
54
57
|
cacheSize: number;
|
|
55
58
|
validatorRefreshIntervalSeconds: number;
|
|
56
59
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch_cache.d.ts","sourceRoot":"","sources":["../src/epoch_cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAEL,KAAK,iBAAiB,EAOvB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAE,KAAK,gBAAgB,EAA8B,MAAM,aAAa,CAAC;AAEhF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrE,kBAAkB,IAAI,YAAY,CAAC;IACnC,2BAA2B,IAAI,YAAY,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAAC;IACnF,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtF,6CAA6C,IAAI,OAAO,CAAC;QACvD,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC;QACxC,YAAY,EAAE,UAAU,GAAG,SAAS,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,uBAAuB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACnF;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAW,YAAW,mBAAmB;IAOlD,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"epoch_cache.d.ts","sourceRoot":"","sources":["../src/epoch_cache.ts"],"names":[],"mappings":"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"}
|
package/dest/epoch_cache.js
CHANGED
|
@@ -22,7 +22,7 @@ import { getEpochCacheConfigEnvVars } from './config.js';
|
|
|
22
22
|
allValidators;
|
|
23
23
|
lastValidatorRefresh;
|
|
24
24
|
log;
|
|
25
|
-
constructor(rollup,
|
|
25
|
+
constructor(rollup, l1constants = EmptyL1RollupConstants, dateProvider = new DateProvider(), config = {
|
|
26
26
|
cacheSize: 12,
|
|
27
27
|
validatorRefreshIntervalSeconds: 60
|
|
28
28
|
}){
|
|
@@ -34,16 +34,8 @@ import { getEpochCacheConfigEnvVars } from './config.js';
|
|
|
34
34
|
this.allValidators = new Set();
|
|
35
35
|
this.lastValidatorRefresh = 0;
|
|
36
36
|
this.log = createLogger('epoch-cache');
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
committee: initialValidators,
|
|
40
|
-
seed: initialSampleSeed
|
|
41
|
-
});
|
|
42
|
-
this.log.debug(`Initialized EpochCache with ${initialValidators?.length ?? 'no'} validators`, {
|
|
43
|
-
l1constants,
|
|
44
|
-
initialValidators,
|
|
45
|
-
initialSampleSeed,
|
|
46
|
-
initialEpoch
|
|
37
|
+
this.log.debug(`Initialized EpochCache`, {
|
|
38
|
+
l1constants
|
|
47
39
|
});
|
|
48
40
|
}
|
|
49
41
|
static async create(rollupOrAddress, config, deps = {}) {
|
|
@@ -61,12 +53,9 @@ import { getEpochCacheConfigEnvVars } from './config.js';
|
|
|
61
53
|
});
|
|
62
54
|
rollup = new RollupContract(publicClient, rollupOrAddress.toString());
|
|
63
55
|
}
|
|
64
|
-
const [l1StartBlock, l1GenesisTime,
|
|
56
|
+
const [l1StartBlock, l1GenesisTime, proofSubmissionEpochs, slotDuration, epochDuration] = await Promise.all([
|
|
65
57
|
rollup.getL1StartBlock(),
|
|
66
58
|
rollup.getL1GenesisTime(),
|
|
67
|
-
rollup.getCurrentEpochCommittee(),
|
|
68
|
-
rollup.getCurrentSampleSeed(),
|
|
69
|
-
rollup.getCurrentEpochNumber(),
|
|
70
59
|
rollup.getProofSubmissionEpochs(),
|
|
71
60
|
rollup.getSlotDuration(),
|
|
72
61
|
rollup.getEpochDuration()
|
|
@@ -79,7 +68,7 @@ import { getEpochCacheConfigEnvVars } from './config.js';
|
|
|
79
68
|
epochDuration: Number(epochDuration),
|
|
80
69
|
ethereumSlotDuration: config.ethereumSlotDuration
|
|
81
70
|
};
|
|
82
|
-
return new EpochCache(rollup,
|
|
71
|
+
return new EpochCache(rollup, l1RollupConstants, deps.dateProvider);
|
|
83
72
|
}
|
|
84
73
|
getL1Constants() {
|
|
85
74
|
return this.l1constants;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/epoch-cache",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251011",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"../package.common.json"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
30
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
31
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
32
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
29
|
+
"@aztec/ethereum": "3.0.0-nightly.20251011",
|
|
30
|
+
"@aztec/foundation": "3.0.0-nightly.20251011",
|
|
31
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251011",
|
|
32
|
+
"@aztec/stdlib": "3.0.0-nightly.20251011",
|
|
33
33
|
"@viem/anvil": "^0.0.10",
|
|
34
34
|
"dotenv": "^16.0.3",
|
|
35
35
|
"get-port": "^7.1.0",
|
package/src/epoch_cache.ts
CHANGED
|
@@ -58,26 +58,19 @@ export interface EpochCacheInterface {
|
|
|
58
58
|
* Note: This class is very dependent on the system clock being in sync.
|
|
59
59
|
*/
|
|
60
60
|
export class EpochCache implements EpochCacheInterface {
|
|
61
|
-
|
|
61
|
+
protected cache: Map<bigint, EpochCommitteeInfo> = new Map();
|
|
62
62
|
private allValidators: Set<string> = new Set();
|
|
63
63
|
private lastValidatorRefresh = 0;
|
|
64
64
|
private readonly log: Logger = createLogger('epoch-cache');
|
|
65
65
|
|
|
66
66
|
constructor(
|
|
67
67
|
private rollup: RollupContract,
|
|
68
|
-
initialEpoch: bigint = 0n,
|
|
69
|
-
initialValidators: EthAddress[] | undefined = undefined,
|
|
70
|
-
initialSampleSeed: bigint = 0n,
|
|
71
68
|
private readonly l1constants: L1RollupConstants = EmptyL1RollupConstants,
|
|
72
69
|
private readonly dateProvider: DateProvider = new DateProvider(),
|
|
73
|
-
|
|
70
|
+
protected readonly config = { cacheSize: 12, validatorRefreshIntervalSeconds: 60 },
|
|
74
71
|
) {
|
|
75
|
-
this.
|
|
76
|
-
this.log.debug(`Initialized EpochCache with ${initialValidators?.length ?? 'no'} validators`, {
|
|
72
|
+
this.log.debug(`Initialized EpochCache`, {
|
|
77
73
|
l1constants,
|
|
78
|
-
initialValidators,
|
|
79
|
-
initialSampleSeed,
|
|
80
|
-
initialEpoch,
|
|
81
74
|
});
|
|
82
75
|
}
|
|
83
76
|
|
|
@@ -102,21 +95,9 @@ export class EpochCache implements EpochCacheInterface {
|
|
|
102
95
|
rollup = new RollupContract(publicClient, rollupOrAddress.toString());
|
|
103
96
|
}
|
|
104
97
|
|
|
105
|
-
const [
|
|
106
|
-
l1StartBlock,
|
|
107
|
-
l1GenesisTime,
|
|
108
|
-
initialValidators,
|
|
109
|
-
sampleSeed,
|
|
110
|
-
epochNumber,
|
|
111
|
-
proofSubmissionEpochs,
|
|
112
|
-
slotDuration,
|
|
113
|
-
epochDuration,
|
|
114
|
-
] = await Promise.all([
|
|
98
|
+
const [l1StartBlock, l1GenesisTime, proofSubmissionEpochs, slotDuration, epochDuration] = await Promise.all([
|
|
115
99
|
rollup.getL1StartBlock(),
|
|
116
100
|
rollup.getL1GenesisTime(),
|
|
117
|
-
rollup.getCurrentEpochCommittee(),
|
|
118
|
-
rollup.getCurrentSampleSeed(),
|
|
119
|
-
rollup.getCurrentEpochNumber(),
|
|
120
101
|
rollup.getProofSubmissionEpochs(),
|
|
121
102
|
rollup.getSlotDuration(),
|
|
122
103
|
rollup.getEpochDuration(),
|
|
@@ -131,14 +112,7 @@ export class EpochCache implements EpochCacheInterface {
|
|
|
131
112
|
ethereumSlotDuration: config.ethereumSlotDuration,
|
|
132
113
|
};
|
|
133
114
|
|
|
134
|
-
return new EpochCache(
|
|
135
|
-
rollup,
|
|
136
|
-
epochNumber,
|
|
137
|
-
initialValidators?.map(v => EthAddress.fromString(v)),
|
|
138
|
-
sampleSeed,
|
|
139
|
-
l1RollupConstants,
|
|
140
|
-
deps.dateProvider,
|
|
141
|
-
);
|
|
115
|
+
return new EpochCache(rollup, l1RollupConstants, deps.dateProvider);
|
|
142
116
|
}
|
|
143
117
|
|
|
144
118
|
public getL1Constants(): L1RollupConstants {
|