@aztec/ethereum 3.0.0-nightly.20251201.2 → 3.0.0-nightly.20251202
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/contracts/rollup.d.ts +15 -15
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +10 -10
- package/dest/deploy_l1_contracts.d.ts +5 -5
- package/dest/test/chain_monitor.d.ts +14 -12
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +6 -7
- package/package.json +5 -5
- package/src/contracts/rollup.ts +25 -21
- package/src/test/chain_monitor.ts +15 -14
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
import type { ViemSignature } from '@aztec/foundation/eth-signature';
|
|
4
4
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
@@ -102,8 +102,8 @@ export declare class RollupContract {
|
|
|
102
102
|
getActiveAttesterCount(): Promise<bigint>;
|
|
103
103
|
getSlashingProposerAddress(): Promise<EthAddress>;
|
|
104
104
|
getCheckpointReward(): Promise<bigint>;
|
|
105
|
-
getCheckpointNumber(): Promise<
|
|
106
|
-
getProvenCheckpointNumber(): Promise<
|
|
105
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
106
|
+
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
107
107
|
getSlotNumber(): Promise<SlotNumber>;
|
|
108
108
|
getL1FeesAt(timestamp: bigint): Promise<{
|
|
109
109
|
baseFee: bigint;
|
|
@@ -117,7 +117,7 @@ export declare class RollupContract {
|
|
|
117
117
|
getCurrentEpochCommittee(): Promise<readonly `0x${string}`[] | undefined>;
|
|
118
118
|
getCurrentProposer(): Promise<`0x${string}`>;
|
|
119
119
|
getProposerAt(timestamp: bigint): Promise<`0x${string}`>;
|
|
120
|
-
getCheckpoint(checkpointNumber:
|
|
120
|
+
getCheckpoint(checkpointNumber: CheckpointNumber): Promise<{
|
|
121
121
|
archive: `0x${string}`;
|
|
122
122
|
attestationsHash: `0x${string}`;
|
|
123
123
|
blobCommitmentsHash: `0x${string}`;
|
|
@@ -141,7 +141,7 @@ export declare class RollupContract {
|
|
|
141
141
|
getAvailableValidatorFlushes(): Promise<bigint>;
|
|
142
142
|
getNextFlushableEpoch(): Promise<EpochNumber>;
|
|
143
143
|
getCurrentEpochNumber(): Promise<EpochNumber>;
|
|
144
|
-
getEpochNumberForCheckpoint(checkpointNumber:
|
|
144
|
+
getEpochNumberForCheckpoint(checkpointNumber: CheckpointNumber): Promise<EpochNumber>;
|
|
145
145
|
getRollupAddresses(): Promise<L1RollupContractAddresses>;
|
|
146
146
|
getFeeJuicePortal(): Promise<EthAddress>;
|
|
147
147
|
getEpochNumberForSlotNumber(slotNumber: SlotNumber): Promise<EpochNumber>;
|
|
@@ -169,10 +169,10 @@ export declare class RollupContract {
|
|
|
169
169
|
* @throws otherwise
|
|
170
170
|
*/
|
|
171
171
|
canProposeAtNextEthBlock(archive: Buffer, account: `0x${string}` | Account, slotDuration: number, opts?: {
|
|
172
|
-
forcePendingCheckpointNumber?:
|
|
172
|
+
forcePendingCheckpointNumber?: CheckpointNumber;
|
|
173
173
|
}): Promise<{
|
|
174
174
|
slot: SlotNumber;
|
|
175
|
-
checkpointNumber:
|
|
175
|
+
checkpointNumber: CheckpointNumber;
|
|
176
176
|
timeOfNextL1Slot: bigint;
|
|
177
177
|
}>;
|
|
178
178
|
/**
|
|
@@ -180,23 +180,23 @@ export declare class RollupContract {
|
|
|
180
180
|
* Requires querying the current state of the contract to get the current proven checkpoint number, as they are both
|
|
181
181
|
* stored in the same slot. If the argument is undefined, it returns an empty override.
|
|
182
182
|
*/
|
|
183
|
-
makePendingCheckpointNumberOverride(forcePendingCheckpointNumber:
|
|
183
|
+
makePendingCheckpointNumberOverride(forcePendingCheckpointNumber: CheckpointNumber | undefined): Promise<StateOverride>;
|
|
184
184
|
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */
|
|
185
|
-
buildInvalidateBadAttestationRequest(checkpointNumber:
|
|
185
|
+
buildInvalidateBadAttestationRequest(checkpointNumber: CheckpointNumber, attestationsAndSigners: ViemCommitteeAttestations, committee: EthAddress[], invalidIndex: number): L1TxRequest;
|
|
186
186
|
/** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */
|
|
187
|
-
buildInvalidateInsufficientAttestationsRequest(checkpointNumber:
|
|
187
|
+
buildInvalidateInsufficientAttestationsRequest(checkpointNumber: CheckpointNumber, attestationsAndSigners: ViemCommitteeAttestations, committee: EthAddress[]): L1TxRequest;
|
|
188
188
|
/** Calls getHasSubmitted directly. Returns whether the given prover has submitted a proof with the given length for the given epoch. */
|
|
189
189
|
getHasSubmittedProof(epochNumber: EpochNumber, numberOfCheckpointsInEpoch: number, prover: Hex | EthAddress): Promise<boolean>;
|
|
190
190
|
getManaBaseFeeAt(timestamp: bigint, inFeeAsset: boolean): Promise<bigint>;
|
|
191
191
|
getSlotAt(timestamp: bigint): Promise<SlotNumber>;
|
|
192
|
-
status(checkpointNumber:
|
|
192
|
+
status(checkpointNumber: CheckpointNumber, options?: {
|
|
193
193
|
blockNumber?: bigint;
|
|
194
194
|
}): Promise<readonly [bigint, `0x${string}`, bigint, `0x${string}`, `0x${string}`, bigint]>;
|
|
195
195
|
canPruneAtTime(timestamp: bigint, options?: {
|
|
196
196
|
blockNumber?: bigint;
|
|
197
197
|
}): Promise<boolean>;
|
|
198
198
|
archive(): Promise<`0x${string}`>;
|
|
199
|
-
archiveAt(checkpointNumber:
|
|
199
|
+
archiveAt(checkpointNumber: CheckpointNumber): Promise<`0x${string}`>;
|
|
200
200
|
getSequencerRewards(address: Hex | EthAddress): Promise<bigint>;
|
|
201
201
|
getSpecificProverRewardsForEpoch(epoch: bigint, prover: Hex | EthAddress): Promise<bigint>;
|
|
202
202
|
getAttesters(): Promise<`0x${string}`[]>;
|
|
@@ -220,7 +220,7 @@ export declare class RollupContract {
|
|
|
220
220
|
status: number;
|
|
221
221
|
}>;
|
|
222
222
|
getStatus(address: Hex | EthAddress): Promise<number>;
|
|
223
|
-
getBlobCommitmentsHash(checkpointNumber:
|
|
223
|
+
getBlobCommitmentsHash(checkpointNumber: CheckpointNumber): Promise<`0x${string}`>;
|
|
224
224
|
getCurrentBlobCommitmentsHash(): Promise<`0x${string}`>;
|
|
225
225
|
getStakingAsset(): Promise<`0x${string}`>;
|
|
226
226
|
getRewardConfig(): Promise<{
|
|
@@ -242,7 +242,7 @@ export declare class RollupContract {
|
|
|
242
242
|
newSlasher: `0x${string}`;
|
|
243
243
|
}) => unknown): WatchContractEventReturnType;
|
|
244
244
|
listenToCheckpointInvalidated(callback: (args: {
|
|
245
|
-
checkpointNumber:
|
|
245
|
+
checkpointNumber: CheckpointNumber;
|
|
246
246
|
}) => unknown): WatchContractEventReturnType;
|
|
247
247
|
getSlashEvents(l1BlockHash: Hex): Promise<{
|
|
248
248
|
amount: bigint;
|
|
@@ -253,4 +253,4 @@ export declare class RollupContract {
|
|
|
253
253
|
attester: EthAddress;
|
|
254
254
|
}) => unknown): WatchContractEventReturnType;
|
|
255
255
|
}
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3JvbGx1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJMUQsT0FBTyxFQUNMLEtBQUssT0FBTyxFQUNaLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssR0FBRyxFQUNSLEtBQUssYUFBYSxFQUNsQixLQUFLLDRCQUE0QixFQUtsQyxNQUFNLE1BQU0sQ0FBQztBQUdkLE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc3RSxNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsSUFBSSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWEsQ0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
|
package/dest/contracts/rollup.js
CHANGED
|
@@ -4,7 +4,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
4
4
|
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
}
|
|
7
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
7
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
8
8
|
import { memoize } from '@aztec/foundation/decorators';
|
|
9
9
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
10
10
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
@@ -206,11 +206,11 @@ export class RollupContract {
|
|
|
206
206
|
getCheckpointReward() {
|
|
207
207
|
return this.rollup.read.getCheckpointReward();
|
|
208
208
|
}
|
|
209
|
-
getCheckpointNumber() {
|
|
210
|
-
return this.rollup.read.getPendingCheckpointNumber();
|
|
209
|
+
async getCheckpointNumber() {
|
|
210
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getPendingCheckpointNumber());
|
|
211
211
|
}
|
|
212
|
-
getProvenCheckpointNumber() {
|
|
213
|
-
return this.rollup.read.getProvenCheckpointNumber();
|
|
212
|
+
async getProvenCheckpointNumber() {
|
|
213
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber());
|
|
214
214
|
}
|
|
215
215
|
async getSlotNumber() {
|
|
216
216
|
return SlotNumber.fromBigInt(await this.rollup.read.getCurrentSlot());
|
|
@@ -391,7 +391,7 @@ export class RollupContract {
|
|
|
391
391
|
});
|
|
392
392
|
return {
|
|
393
393
|
slot: SlotNumber.fromBigInt(slot),
|
|
394
|
-
checkpointNumber,
|
|
394
|
+
checkpointNumber: CheckpointNumber.fromBigInt(checkpointNumber),
|
|
395
395
|
timeOfNextL1Slot
|
|
396
396
|
};
|
|
397
397
|
} catch (err) {
|
|
@@ -478,7 +478,7 @@ export class RollupContract {
|
|
|
478
478
|
async status(checkpointNumber, options) {
|
|
479
479
|
await checkBlockTag(options?.blockNumber, this.client);
|
|
480
480
|
return this.rollup.read.status([
|
|
481
|
-
checkpointNumber
|
|
481
|
+
BigInt(checkpointNumber)
|
|
482
482
|
], options);
|
|
483
483
|
}
|
|
484
484
|
async canPruneAtTime(timestamp, options) {
|
|
@@ -492,7 +492,7 @@ export class RollupContract {
|
|
|
492
492
|
}
|
|
493
493
|
archiveAt(checkpointNumber) {
|
|
494
494
|
return this.rollup.read.archiveAt([
|
|
495
|
-
checkpointNumber
|
|
495
|
+
BigInt(checkpointNumber)
|
|
496
496
|
]);
|
|
497
497
|
}
|
|
498
498
|
getSequencerRewards(address) {
|
|
@@ -540,7 +540,7 @@ export class RollupContract {
|
|
|
540
540
|
}
|
|
541
541
|
getBlobCommitmentsHash(checkpointNumber) {
|
|
542
542
|
return this.rollup.read.getBlobCommitmentsHash([
|
|
543
|
-
checkpointNumber
|
|
543
|
+
BigInt(checkpointNumber)
|
|
544
544
|
]);
|
|
545
545
|
}
|
|
546
546
|
getCurrentBlobCommitmentsHash() {
|
|
@@ -593,7 +593,7 @@ export class RollupContract {
|
|
|
593
593
|
const args = log.args;
|
|
594
594
|
if (args.checkpointNumber !== undefined) {
|
|
595
595
|
callback({
|
|
596
|
-
checkpointNumber: args.checkpointNumber
|
|
596
|
+
checkpointNumber: CheckpointNumber.fromBigInt(args.checkpointNumber)
|
|
597
597
|
});
|
|
598
598
|
}
|
|
599
599
|
}
|
|
@@ -176,7 +176,7 @@ export declare const deployL1Contracts: (rpcUrls: string[], account: {
|
|
|
176
176
|
sign: (parameters: {
|
|
177
177
|
hash: `0x${string}`;
|
|
178
178
|
}) => Promise<`0x${string}`>;
|
|
179
|
-
signAuthorization
|
|
179
|
+
signAuthorization?: ((parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>) | undefined;
|
|
180
180
|
signMessage: ({ message }: {
|
|
181
181
|
message: import("viem").SignableMessage;
|
|
182
182
|
}) => Promise<`0x${string}`>;
|
|
@@ -390,15 +390,16 @@ export declare const deployL1Contracts: (rpcUrls: string[], account: {
|
|
|
390
390
|
uint96?: undefined;
|
|
391
391
|
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
392
392
|
publicKey: `0x${string}`;
|
|
393
|
-
source: "
|
|
393
|
+
source: "hd";
|
|
394
394
|
type: "local";
|
|
395
|
+
getHdKey: () => import("viem").HDKey;
|
|
395
396
|
} | {
|
|
396
397
|
address: `0x${string}`;
|
|
397
398
|
nonceManager?: import("viem").NonceManager | undefined;
|
|
398
399
|
sign: (parameters: {
|
|
399
400
|
hash: `0x${string}`;
|
|
400
401
|
}) => Promise<`0x${string}`>;
|
|
401
|
-
signAuthorization
|
|
402
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
402
403
|
signMessage: ({ message }: {
|
|
403
404
|
message: import("viem").SignableMessage;
|
|
404
405
|
}) => Promise<`0x${string}`>;
|
|
@@ -612,9 +613,8 @@ export declare const deployL1Contracts: (rpcUrls: string[], account: {
|
|
|
612
613
|
uint96?: undefined;
|
|
613
614
|
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
614
615
|
publicKey: `0x${string}`;
|
|
615
|
-
source: "
|
|
616
|
+
source: "privateKey";
|
|
616
617
|
type: "local";
|
|
617
|
-
getHdKey: () => import("viem").HDKey;
|
|
618
618
|
}, chain: Chain, logger: Logger, args: DeployL1ContractsArgs, txUtilsConfig?: L1TxUtilsConfig, createVerificationJson?: string | false) => Promise<DeployL1ContractsReturnType>;
|
|
619
619
|
export declare class L1Deployer {
|
|
620
620
|
readonly client: ExtendedViemWalletClient;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type RollupContract } from '@aztec/ethereum/contracts';
|
|
2
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
5
5
|
import { EventEmitter } from 'events';
|
|
@@ -8,14 +8,16 @@ export type ChainMonitorEventMap = {
|
|
|
8
8
|
l1BlockNumber: number;
|
|
9
9
|
timestamp: bigint;
|
|
10
10
|
}];
|
|
11
|
-
checkpoint: [
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
checkpoint: [
|
|
12
|
+
{
|
|
13
|
+
checkpointNumber: CheckpointNumber;
|
|
14
|
+
l1BlockNumber: number;
|
|
15
|
+
l2SlotNumber: SlotNumber;
|
|
16
|
+
timestamp: bigint;
|
|
17
|
+
}
|
|
18
|
+
];
|
|
17
19
|
'checkpoint-proven': [{
|
|
18
|
-
provenCheckpointNumber:
|
|
20
|
+
provenCheckpointNumber: CheckpointNumber;
|
|
19
21
|
l1BlockNumber: number;
|
|
20
22
|
timestamp: bigint;
|
|
21
23
|
}];
|
|
@@ -46,9 +48,9 @@ export declare class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
|
|
|
46
48
|
/** Current L1 block number */
|
|
47
49
|
l1BlockNumber: number;
|
|
48
50
|
/** Current checkpoint number */
|
|
49
|
-
checkpointNumber:
|
|
51
|
+
checkpointNumber: CheckpointNumber;
|
|
50
52
|
/** Current proven checkpoint number */
|
|
51
|
-
provenCheckpointNumber:
|
|
53
|
+
provenCheckpointNumber: CheckpointNumber;
|
|
52
54
|
/** L1 timestamp for the current checkpoint */
|
|
53
55
|
checkpointTimestamp: bigint;
|
|
54
56
|
/** L1 timestamp for the proven checkpoint */
|
|
@@ -68,6 +70,6 @@ export declare class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
|
|
|
68
70
|
waitUntilL2Slot(slot: SlotNumber): Promise<void>;
|
|
69
71
|
waitUntilL1Block(block: number | bigint): Promise<void>;
|
|
70
72
|
waitUntilL1Timestamp(timestamp: number | bigint): Promise<void>;
|
|
71
|
-
waitUntilCheckpoint(checkpointNumber:
|
|
73
|
+
waitUntilCheckpoint(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
72
74
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbW9uaXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QvY2hhaW5fbW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLEtBQUssY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJdEMsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDLFVBQVUsRUFBRSxDQUFDO1FBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQztRQUFDLFNBQVMsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLENBQUM7SUFDM0QsVUFBVSxFQUFFO1FBQ1Y7WUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztZQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7WUFBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO1lBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtTQUFFO0tBQzNHLENBQUM7SUFDRixtQkFBbUIsRUFBRSxDQUFDO1FBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7UUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO1FBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQTtLQUFFLENBQUMsQ0FBQztJQUM5RyxhQUFhLEVBQUUsQ0FBQztRQUFFLGVBQWUsRUFBRSxNQUFNLENBQUM7UUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQ3BFLFVBQVUsRUFBRSxDQUFDO1FBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQztRQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQ3JHLFNBQVMsRUFBRSxDQUFDO1FBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQztRQUFDLFNBQVMsRUFBRSxNQUFNLENBQUE7S0FBRSxDQUFDLENBQUM7Q0FDOUQsQ0FBQztBQUVGLDhHQUE4RztBQUM5RyxxQkFBYSxZQUFhLFNBQVEsWUFBWSxDQUFDLG9CQUFvQixDQUFDO0lBeUJoRSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN2QixPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVU7SUEzQjdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFhO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQTRCO0lBQ3pDLE9BQU8sQ0FBQyxNQUFNLENBQTZCO0lBRTNDLE9BQU8sQ0FBQyxPQUFPLENBQWlDO0lBRWhELDhCQUE4QjtJQUN2QixhQUFhLEVBQUcsTUFBTSxDQUFDO0lBQzlCLGdDQUFnQztJQUN6QixnQkFBZ0IsRUFBRyxnQkFBZ0IsQ0FBQztJQUMzQyx1Q0FBdUM7SUFDaEMsc0JBQXNCLEVBQUcsZ0JBQWdCLENBQUM7SUFDakQsOENBQThDO0lBQ3ZDLG1CQUFtQixFQUFHLE1BQU0sQ0FBQztJQUNwQyw2Q0FBNkM7SUFDdEMseUJBQXlCLEVBQUcsTUFBTSxDQUFDO0lBQzFDLHdEQUF3RDtJQUNqRCxlQUFlLEVBQUUsTUFBTSxDQUFLO0lBQ25DLDhCQUE4QjtJQUN2QixhQUFhLEVBQUcsV0FBVyxDQUFDO0lBQ25DLDZCQUE2QjtJQUN0QixZQUFZLEVBQUcsVUFBVSxDQUFDO0lBRWpDLFlBQ21CLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLFlBQVksR0FBRSxZQUFpQyxFQUMvQyxNQUFNLHlDQUE4QyxFQUNwRCxVQUFVLFNBQU0sRUFJbEM7SUFFRCxLQUFLLFNBTUo7SUFFSyxJQUFJLGtCQVdUO1lBRWEsUUFBUTtJQVF0QixTQUFTLENBQUMsT0FBTyxTQVloQjtJQUVLLEdBQUcsQ0FBQyxLQUFLLFVBQVEsaUJBZ0Z0QjtJQUVNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FhdEQ7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBYzdEO0lBRU0sb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWNyRTtJQUVNLG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FhNUU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../src/test/chain_monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../src/test/chain_monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,9 +87,9 @@ import { EventEmitter } from 'events';
|
|
|
87
87
|
timestamp
|
|
88
88
|
});
|
|
89
89
|
let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
|
|
90
|
-
const newCheckpointNumber =
|
|
90
|
+
const newCheckpointNumber = await this.rollup.getCheckpointNumber();
|
|
91
91
|
if (this.checkpointNumber !== newCheckpointNumber) {
|
|
92
|
-
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(
|
|
92
|
+
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(newCheckpointNumber);
|
|
93
93
|
msg += ` with new checkpoint ${newCheckpointNumber} for epoch ${epochNumber}`;
|
|
94
94
|
this.checkpointNumber = newCheckpointNumber;
|
|
95
95
|
this.checkpointTimestamp = timestamp;
|
|
@@ -100,9 +100,9 @@ import { EventEmitter } from 'events';
|
|
|
100
100
|
timestamp
|
|
101
101
|
});
|
|
102
102
|
}
|
|
103
|
-
const newProvenCheckpointNumber =
|
|
103
|
+
const newProvenCheckpointNumber = await this.rollup.getProvenCheckpointNumber();
|
|
104
104
|
if (this.provenCheckpointNumber !== newProvenCheckpointNumber) {
|
|
105
|
-
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(
|
|
105
|
+
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(newProvenCheckpointNumber);
|
|
106
106
|
msg += ` with proof up to checkpoint ${newProvenCheckpointNumber} for epoch ${epochNumber}`;
|
|
107
107
|
this.provenCheckpointNumber = newProvenCheckpointNumber;
|
|
108
108
|
this.provenCheckpointTimestamp = timestamp;
|
|
@@ -198,13 +198,12 @@ import { EventEmitter } from 'events';
|
|
|
198
198
|
});
|
|
199
199
|
}
|
|
200
200
|
waitUntilCheckpoint(checkpointNumber) {
|
|
201
|
-
|
|
202
|
-
if (this.checkpointNumber >= targetBlock) {
|
|
201
|
+
if (this.checkpointNumber >= checkpointNumber) {
|
|
203
202
|
return Promise.resolve();
|
|
204
203
|
}
|
|
205
204
|
return new Promise((resolve)=>{
|
|
206
205
|
const listener = (data)=>{
|
|
207
|
-
if (data.checkpointNumber >=
|
|
206
|
+
if (data.checkpointNumber >= checkpointNumber) {
|
|
208
207
|
this.off('checkpoint', listener);
|
|
209
208
|
resolve();
|
|
210
209
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/ethereum",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251202",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"../package.common.json"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
35
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
36
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
37
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
34
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251202",
|
|
35
|
+
"@aztec/constants": "3.0.0-nightly.20251202",
|
|
36
|
+
"@aztec/foundation": "3.0.0-nightly.20251202",
|
|
37
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251202",
|
|
38
38
|
"@viem/anvil": "^0.0.10",
|
|
39
39
|
"dotenv": "^16.0.3",
|
|
40
40
|
"lodash.chunk": "^4.2.0",
|
package/src/contracts/rollup.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { memoize } from '@aztec/foundation/decorators';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import type { ViemSignature } from '@aztec/foundation/eth-signature';
|
|
@@ -326,12 +326,12 @@ export class RollupContract {
|
|
|
326
326
|
return this.rollup.read.getCheckpointReward();
|
|
327
327
|
}
|
|
328
328
|
|
|
329
|
-
getCheckpointNumber() {
|
|
330
|
-
return this.rollup.read.getPendingCheckpointNumber();
|
|
329
|
+
async getCheckpointNumber(): Promise<CheckpointNumber> {
|
|
330
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getPendingCheckpointNumber());
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
getProvenCheckpointNumber() {
|
|
334
|
-
return this.rollup.read.getProvenCheckpointNumber();
|
|
333
|
+
async getProvenCheckpointNumber(): Promise<CheckpointNumber> {
|
|
334
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber());
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
async getSlotNumber(): Promise<SlotNumber> {
|
|
@@ -416,7 +416,7 @@ export class RollupContract {
|
|
|
416
416
|
return result;
|
|
417
417
|
}
|
|
418
418
|
|
|
419
|
-
getCheckpoint(checkpointNumber:
|
|
419
|
+
getCheckpoint(checkpointNumber: CheckpointNumber) {
|
|
420
420
|
return this.rollup.read.getCheckpoint([BigInt(checkpointNumber)]);
|
|
421
421
|
}
|
|
422
422
|
|
|
@@ -444,7 +444,7 @@ export class RollupContract {
|
|
|
444
444
|
return EpochNumber.fromBigInt(await this.rollup.read.getCurrentEpoch());
|
|
445
445
|
}
|
|
446
446
|
|
|
447
|
-
async getEpochNumberForCheckpoint(checkpointNumber:
|
|
447
|
+
async getEpochNumberForCheckpoint(checkpointNumber: CheckpointNumber): Promise<EpochNumber> {
|
|
448
448
|
return EpochNumber.fromBigInt(await this.rollup.read.getEpochForCheckpoint([BigInt(checkpointNumber)]));
|
|
449
449
|
}
|
|
450
450
|
|
|
@@ -537,8 +537,8 @@ export class RollupContract {
|
|
|
537
537
|
archive: Buffer,
|
|
538
538
|
account: `0x${string}` | Account,
|
|
539
539
|
slotDuration: number,
|
|
540
|
-
opts: { forcePendingCheckpointNumber?:
|
|
541
|
-
): Promise<{ slot: SlotNumber; checkpointNumber:
|
|
540
|
+
opts: { forcePendingCheckpointNumber?: CheckpointNumber } = {},
|
|
541
|
+
): Promise<{ slot: SlotNumber; checkpointNumber: CheckpointNumber; timeOfNextL1Slot: bigint }> {
|
|
542
542
|
const latestBlock = await this.client.getBlock();
|
|
543
543
|
const timeOfNextL1Slot = latestBlock.timestamp + BigInt(slotDuration);
|
|
544
544
|
const who = typeof account === 'string' ? account : account.address;
|
|
@@ -555,7 +555,11 @@ export class RollupContract {
|
|
|
555
555
|
stateOverride: await this.makePendingCheckpointNumberOverride(opts.forcePendingCheckpointNumber),
|
|
556
556
|
});
|
|
557
557
|
|
|
558
|
-
return {
|
|
558
|
+
return {
|
|
559
|
+
slot: SlotNumber.fromBigInt(slot),
|
|
560
|
+
checkpointNumber: CheckpointNumber.fromBigInt(checkpointNumber),
|
|
561
|
+
timeOfNextL1Slot,
|
|
562
|
+
};
|
|
559
563
|
} catch (err: unknown) {
|
|
560
564
|
throw formatViemError(err);
|
|
561
565
|
}
|
|
@@ -567,7 +571,7 @@ export class RollupContract {
|
|
|
567
571
|
* stored in the same slot. If the argument is undefined, it returns an empty override.
|
|
568
572
|
*/
|
|
569
573
|
public async makePendingCheckpointNumberOverride(
|
|
570
|
-
forcePendingCheckpointNumber:
|
|
574
|
+
forcePendingCheckpointNumber: CheckpointNumber | undefined,
|
|
571
575
|
): Promise<StateOverride> {
|
|
572
576
|
if (forcePendingCheckpointNumber === undefined) {
|
|
573
577
|
return [];
|
|
@@ -586,7 +590,7 @@ export class RollupContract {
|
|
|
586
590
|
|
|
587
591
|
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */
|
|
588
592
|
public buildInvalidateBadAttestationRequest(
|
|
589
|
-
checkpointNumber:
|
|
593
|
+
checkpointNumber: CheckpointNumber,
|
|
590
594
|
attestationsAndSigners: ViemCommitteeAttestations,
|
|
591
595
|
committee: EthAddress[],
|
|
592
596
|
invalidIndex: number,
|
|
@@ -608,7 +612,7 @@ export class RollupContract {
|
|
|
608
612
|
|
|
609
613
|
/** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */
|
|
610
614
|
public buildInvalidateInsufficientAttestationsRequest(
|
|
611
|
-
checkpointNumber:
|
|
615
|
+
checkpointNumber: CheckpointNumber,
|
|
612
616
|
attestationsAndSigners: ViemCommitteeAttestations,
|
|
613
617
|
committee: EthAddress[],
|
|
614
618
|
): L1TxRequest {
|
|
@@ -638,9 +642,9 @@ export class RollupContract {
|
|
|
638
642
|
return SlotNumber.fromBigInt(await this.rollup.read.getSlotAt([timestamp]));
|
|
639
643
|
}
|
|
640
644
|
|
|
641
|
-
async status(checkpointNumber:
|
|
645
|
+
async status(checkpointNumber: CheckpointNumber, options?: { blockNumber?: bigint }) {
|
|
642
646
|
await checkBlockTag(options?.blockNumber, this.client);
|
|
643
|
-
return this.rollup.read.status([checkpointNumber], options);
|
|
647
|
+
return this.rollup.read.status([BigInt(checkpointNumber)], options);
|
|
644
648
|
}
|
|
645
649
|
|
|
646
650
|
async canPruneAtTime(timestamp: bigint, options?: { blockNumber?: bigint }) {
|
|
@@ -652,8 +656,8 @@ export class RollupContract {
|
|
|
652
656
|
return this.rollup.read.archive();
|
|
653
657
|
}
|
|
654
658
|
|
|
655
|
-
archiveAt(checkpointNumber:
|
|
656
|
-
return this.rollup.read.archiveAt([checkpointNumber]);
|
|
659
|
+
archiveAt(checkpointNumber: CheckpointNumber) {
|
|
660
|
+
return this.rollup.read.archiveAt([BigInt(checkpointNumber)]);
|
|
657
661
|
}
|
|
658
662
|
|
|
659
663
|
getSequencerRewards(address: Hex | EthAddress) {
|
|
@@ -695,8 +699,8 @@ export class RollupContract {
|
|
|
695
699
|
return this.rollup.read.getStatus([address]);
|
|
696
700
|
}
|
|
697
701
|
|
|
698
|
-
getBlobCommitmentsHash(checkpointNumber:
|
|
699
|
-
return this.rollup.read.getBlobCommitmentsHash([checkpointNumber]);
|
|
702
|
+
getBlobCommitmentsHash(checkpointNumber: CheckpointNumber) {
|
|
703
|
+
return this.rollup.read.getBlobCommitmentsHash([BigInt(checkpointNumber)]);
|
|
700
704
|
}
|
|
701
705
|
|
|
702
706
|
getCurrentBlobCommitmentsHash() {
|
|
@@ -752,7 +756,7 @@ export class RollupContract {
|
|
|
752
756
|
}
|
|
753
757
|
|
|
754
758
|
public listenToCheckpointInvalidated(
|
|
755
|
-
callback: (args: { checkpointNumber:
|
|
759
|
+
callback: (args: { checkpointNumber: CheckpointNumber }) => unknown,
|
|
756
760
|
): WatchContractEventReturnType {
|
|
757
761
|
return this.rollup.watchEvent.CheckpointInvalidated(
|
|
758
762
|
{},
|
|
@@ -761,7 +765,7 @@ export class RollupContract {
|
|
|
761
765
|
for (const log of logs) {
|
|
762
766
|
const args = log.args;
|
|
763
767
|
if (args.checkpointNumber !== undefined) {
|
|
764
|
-
callback({ checkpointNumber: args.checkpointNumber });
|
|
768
|
+
callback({ checkpointNumber: CheckpointNumber.fromBigInt(args.checkpointNumber) });
|
|
765
769
|
}
|
|
766
770
|
}
|
|
767
771
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InboxContract, type RollupContract } from '@aztec/ethereum/contracts';
|
|
2
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
@@ -11,8 +11,10 @@ import type { ViemClient } from '../types.js';
|
|
|
11
11
|
|
|
12
12
|
export type ChainMonitorEventMap = {
|
|
13
13
|
'l1-block': [{ l1BlockNumber: number; timestamp: bigint }];
|
|
14
|
-
checkpoint: [
|
|
15
|
-
|
|
14
|
+
checkpoint: [
|
|
15
|
+
{ checkpointNumber: CheckpointNumber; l1BlockNumber: number; l2SlotNumber: SlotNumber; timestamp: bigint },
|
|
16
|
+
];
|
|
17
|
+
'checkpoint-proven': [{ provenCheckpointNumber: CheckpointNumber; l1BlockNumber: number; timestamp: bigint }];
|
|
16
18
|
'l2-messages': [{ totalL2Messages: number; l1BlockNumber: number }];
|
|
17
19
|
'l2-epoch': [{ l2EpochNumber: EpochNumber; timestamp: bigint; committee: EthAddress[] | undefined }];
|
|
18
20
|
'l2-slot': [{ l2SlotNumber: SlotNumber; timestamp: bigint }];
|
|
@@ -29,9 +31,9 @@ export class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
|
|
|
29
31
|
/** Current L1 block number */
|
|
30
32
|
public l1BlockNumber!: number;
|
|
31
33
|
/** Current checkpoint number */
|
|
32
|
-
public checkpointNumber!:
|
|
34
|
+
public checkpointNumber!: CheckpointNumber;
|
|
33
35
|
/** Current proven checkpoint number */
|
|
34
|
-
public provenCheckpointNumber!:
|
|
36
|
+
public provenCheckpointNumber!: CheckpointNumber;
|
|
35
37
|
/** L1 timestamp for the current checkpoint */
|
|
36
38
|
public checkpointTimestamp!: bigint;
|
|
37
39
|
/** L1 timestamp for the proven checkpoint */
|
|
@@ -115,9 +117,9 @@ export class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
|
|
|
115
117
|
this.emit('l1-block', { l1BlockNumber: newL1BlockNumber, timestamp });
|
|
116
118
|
let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
|
|
117
119
|
|
|
118
|
-
const newCheckpointNumber =
|
|
120
|
+
const newCheckpointNumber = await this.rollup.getCheckpointNumber();
|
|
119
121
|
if (this.checkpointNumber !== newCheckpointNumber) {
|
|
120
|
-
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(
|
|
122
|
+
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(newCheckpointNumber);
|
|
121
123
|
msg += ` with new checkpoint ${newCheckpointNumber} for epoch ${epochNumber}`;
|
|
122
124
|
this.checkpointNumber = newCheckpointNumber;
|
|
123
125
|
this.checkpointTimestamp = timestamp;
|
|
@@ -129,9 +131,9 @@ export class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
|
|
|
129
131
|
});
|
|
130
132
|
}
|
|
131
133
|
|
|
132
|
-
const newProvenCheckpointNumber =
|
|
134
|
+
const newProvenCheckpointNumber = await this.rollup.getProvenCheckpointNumber();
|
|
133
135
|
if (this.provenCheckpointNumber !== newProvenCheckpointNumber) {
|
|
134
|
-
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(
|
|
136
|
+
const epochNumber = await this.rollup.getEpochNumberForCheckpoint(newProvenCheckpointNumber);
|
|
135
137
|
msg += ` with proof up to checkpoint ${newProvenCheckpointNumber} for epoch ${epochNumber}`;
|
|
136
138
|
this.provenCheckpointNumber = newProvenCheckpointNumber;
|
|
137
139
|
this.provenCheckpointTimestamp = timestamp;
|
|
@@ -225,14 +227,13 @@ export class ChainMonitor extends EventEmitter<ChainMonitorEventMap> {
|
|
|
225
227
|
});
|
|
226
228
|
}
|
|
227
229
|
|
|
228
|
-
public waitUntilCheckpoint(checkpointNumber:
|
|
229
|
-
|
|
230
|
-
if (this.checkpointNumber >= targetBlock) {
|
|
230
|
+
public waitUntilCheckpoint(checkpointNumber: CheckpointNumber): Promise<void> {
|
|
231
|
+
if (this.checkpointNumber >= checkpointNumber) {
|
|
231
232
|
return Promise.resolve();
|
|
232
233
|
}
|
|
233
234
|
return new Promise(resolve => {
|
|
234
|
-
const listener = (data: { checkpointNumber:
|
|
235
|
-
if (data.checkpointNumber >=
|
|
235
|
+
const listener = (data: { checkpointNumber: CheckpointNumber; timestamp: bigint }) => {
|
|
236
|
+
if (data.checkpointNumber >= checkpointNumber) {
|
|
236
237
|
this.off('checkpoint', listener);
|
|
237
238
|
resolve();
|
|
238
239
|
}
|