@aztec/ethereum 0.0.1-commit.9b94fc1 → 0.0.1-commit.d3ec352c
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 +17 -17
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +16 -12
- 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/dest/test/rollup_cheat_codes.d.ts +4 -4
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +6 -2
- package/package.json +7 -7
- package/src/contracts/rollup.ts +31 -23
- package/src/test/chain_monitor.ts +15 -14
- package/src/test/rollup_cheat_codes.ts +8 -4
|
@@ -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}`;
|
|
@@ -133,15 +133,15 @@ export declare class RollupContract {
|
|
|
133
133
|
slotNumber: bigint;
|
|
134
134
|
}>;
|
|
135
135
|
getTips(): Promise<{
|
|
136
|
-
pending:
|
|
137
|
-
proven:
|
|
136
|
+
pending: CheckpointNumber;
|
|
137
|
+
proven: CheckpointNumber;
|
|
138
138
|
}>;
|
|
139
139
|
getTimestampForSlot(slot: SlotNumber): Promise<bigint>;
|
|
140
140
|
getEntryQueueLength(): Promise<bigint>;
|
|
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());
|
|
@@ -293,8 +293,12 @@ export class RollupContract {
|
|
|
293
293
|
BigInt(checkpointNumber)
|
|
294
294
|
]);
|
|
295
295
|
}
|
|
296
|
-
getTips() {
|
|
297
|
-
|
|
296
|
+
async getTips() {
|
|
297
|
+
const { pending, proven } = await this.rollup.read.getTips();
|
|
298
|
+
return {
|
|
299
|
+
pending: CheckpointNumber.fromBigInt(pending),
|
|
300
|
+
proven: CheckpointNumber.fromBigInt(proven)
|
|
301
|
+
};
|
|
298
302
|
}
|
|
299
303
|
getTimestampForSlot(slot) {
|
|
300
304
|
return this.rollup.read.getTimestampForSlot([
|
|
@@ -391,7 +395,7 @@ export class RollupContract {
|
|
|
391
395
|
});
|
|
392
396
|
return {
|
|
393
397
|
slot: SlotNumber.fromBigInt(slot),
|
|
394
|
-
checkpointNumber,
|
|
398
|
+
checkpointNumber: CheckpointNumber.fromBigInt(checkpointNumber),
|
|
395
399
|
timeOfNextL1Slot
|
|
396
400
|
};
|
|
397
401
|
} catch (err) {
|
|
@@ -478,7 +482,7 @@ export class RollupContract {
|
|
|
478
482
|
async status(checkpointNumber, options) {
|
|
479
483
|
await checkBlockTag(options?.blockNumber, this.client);
|
|
480
484
|
return this.rollup.read.status([
|
|
481
|
-
checkpointNumber
|
|
485
|
+
BigInt(checkpointNumber)
|
|
482
486
|
], options);
|
|
483
487
|
}
|
|
484
488
|
async canPruneAtTime(timestamp, options) {
|
|
@@ -492,7 +496,7 @@ export class RollupContract {
|
|
|
492
496
|
}
|
|
493
497
|
archiveAt(checkpointNumber) {
|
|
494
498
|
return this.rollup.read.archiveAt([
|
|
495
|
-
checkpointNumber
|
|
499
|
+
BigInt(checkpointNumber)
|
|
496
500
|
]);
|
|
497
501
|
}
|
|
498
502
|
getSequencerRewards(address) {
|
|
@@ -540,7 +544,7 @@ export class RollupContract {
|
|
|
540
544
|
}
|
|
541
545
|
getBlobCommitmentsHash(checkpointNumber) {
|
|
542
546
|
return this.rollup.read.getBlobCommitmentsHash([
|
|
543
|
-
checkpointNumber
|
|
547
|
+
BigInt(checkpointNumber)
|
|
544
548
|
]);
|
|
545
549
|
}
|
|
546
550
|
getCurrentBlobCommitmentsHash() {
|
|
@@ -593,7 +597,7 @@ export class RollupContract {
|
|
|
593
597
|
const args = log.args;
|
|
594
598
|
if (args.checkpointNumber !== undefined) {
|
|
595
599
|
callback({
|
|
596
|
-
checkpointNumber: args.checkpointNumber
|
|
600
|
+
checkpointNumber: CheckpointNumber.fromBigInt(args.checkpointNumber)
|
|
597
601
|
});
|
|
598
602
|
}
|
|
599
603
|
}
|
|
@@ -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
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ViemPublicClient } from '@aztec/ethereum';
|
|
2
2
|
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
3
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
5
5
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
6
6
|
import { type GetContractReturnType, type Hex } from 'viem';
|
|
@@ -22,8 +22,8 @@ export declare class RollupCheatCodes {
|
|
|
22
22
|
* @returns The pending and proven chain tips
|
|
23
23
|
*/
|
|
24
24
|
getTips(): Promise<{
|
|
25
|
-
/** The pending chain tip */ pending:
|
|
26
|
-
/** The proven chain tip */ proven:
|
|
25
|
+
/** The pending chain tip */ pending: CheckpointNumber;
|
|
26
|
+
/** The proven chain tip */ proven: CheckpointNumber;
|
|
27
27
|
}>;
|
|
28
28
|
/**
|
|
29
29
|
* Logs the current state of the rollup contract.
|
|
@@ -84,4 +84,4 @@ export declare class RollupCheatCodes {
|
|
|
84
84
|
*/
|
|
85
85
|
setProvingCostPerMana(ethValue: bigint): Promise<void>;
|
|
86
86
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwX2NoZWF0X2NvZGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9yb2xsdXBfY2hlYXRfY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixLQUFLLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzVGLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUxRCxPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxHQUFHLEVBTVQsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsOENBQThDO0FBQzlDLHFCQUFhLGdCQUFnQjtJQU96QixPQUFPLENBQUMsYUFBYTtJQU52QixPQUFPLENBQUMsTUFBTSxDQUFtQjtJQUNqQyxPQUFPLENBQUMsTUFBTSxDQUE0RDtJQUUxRSxPQUFPLENBQUMsTUFBTSxDQUF1QztJQUVyRCxZQUNVLGFBQWEsRUFBRSxhQUFhLEVBQ3BDLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEVBV3REO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FDWCxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEVBQ3JELFlBQVksRUFBRSxZQUFZLEdBQ3pCLGdCQUFnQixDQUdsQjtJQUVELCtCQUErQjtJQUNsQixPQUFPLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUcxQztJQUVELGdDQUFnQztJQUNuQixRQUFRLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUc1QztJQUVEOzs7T0FHRztJQUNVLE9BQU8sSUFBSSxPQUFPLENBQUM7UUFDOUIsNEJBQTRCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO1FBQ3ZELDJCQUEyQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztLQUN0RCxDQUFDLENBTUQ7SUFFRDs7T0FFRztJQUNVLFdBQVcsa0JBaUJ2QjtJQUVELDBFQUEwRTtJQUM3RCxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hDLHFCQUFxQixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFDNUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQztLQUMzQyxDQUFDLENBTUQ7SUFFRDs7OztPQUlHO0lBQ1UsY0FBYyxDQUN6QixLQUFLLEVBQUUsV0FBVyxFQUNsQixJQUFJLEdBQUU7UUFDSix3QkFBd0I7UUFDeEIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQ1osbUJBWVA7SUFFRCw0Q0FBNEM7SUFDL0Isa0JBQWtCLGtCQVc5QjtJQUVELDZEQUE2RDtJQUNoRCxpQkFBaUIscUNBTzdCO0lBRUQ7OztPQUdHO0lBQ1UsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLGlCQU94QztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLGlCQStCMUQ7SUFFRDs7O09BR0c7SUFDSSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBbUN2RTtJQUVEOzs7T0FHRztJQUNVLE9BQU8sQ0FDbEIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUscUJBQXFCLENBQUMsT0FBTyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQU16RztJQUVEOztPQUVHO0lBQ1UsVUFBVSxrQkFPdEI7SUFFRCw0Q0FBNEM7SUFDL0Isb0JBQW9CLGtCQU1oQztJQUVEOzs7T0FHRztJQUNVLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssTUFBTSxpQkFJckU7SUFFRDs7O09BR0c7SUFDVSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxpQkFVbEQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup_cheat_codes.d.ts","sourceRoot":"","sources":["../../src/test/rollup_cheat_codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"rollup_cheat_codes.d.ts","sourceRoot":"","sources":["../../src/test/rollup_cheat_codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,GAAG,EAMT,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,8CAA8C;AAC9C,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAA4D;IAE1E,OAAO,CAAC,MAAM,CAAuC;IAErD,YACU,aAAa,EAAE,aAAa,EACpC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,EAWtD;IAED,MAAM,CAAC,MAAM,CACX,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,EACrD,YAAY,EAAE,YAAY,GACzB,gBAAgB,CAGlB;IAED,+BAA+B;IAClB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,CAG1C;IAED,gCAAgC;IACnB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,CAG5C;IAED;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC;QAC9B,4BAA4B,CAAC,OAAO,EAAE,gBAAgB,CAAC;QACvD,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,CAAC;KACtD,CAAC,CAMD;IAED;;OAEG;IACU,WAAW,kBAiBvB;IAED,0EAA0E;IAC7D,SAAS,IAAI,OAAO,CAAC;QAChC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC;QAC5C,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC;KAC3C,CAAC,CAMD;IAED;;;;OAIG;IACU,cAAc,CACzB,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE;QACJ,wBAAwB;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,mBAYP;IAED,4CAA4C;IAC/B,kBAAkB,kBAW9B;IAED,6DAA6D;IAChD,iBAAiB,qCAO7B;IAED;;;OAGG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,iBAOxC;IAED;;;OAGG;IACI,YAAY,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,iBA+B1D;IAED;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCvE;IAED;;;OAGG;IACU,OAAO,CAClB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,iBAMzG;IAED;;OAEG;IACU,UAAU,kBAOtB;IAED,4CAA4C;IAC/B,oBAAoB,kBAMhC;IAED;;;OAGG;IACU,sBAAsB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,iBAIrE;IAED;;;OAGG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM,iBAUlD;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RollupContract } from '@aztec/ethereum';
|
|
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 { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
@@ -43,7 +43,11 @@ import { EthCheatCodes } from './eth_cheat_codes.js';
|
|
|
43
43
|
* Returns the pending and proven chain tips
|
|
44
44
|
* @returns The pending and proven chain tips
|
|
45
45
|
*/ async getTips() {
|
|
46
|
-
|
|
46
|
+
const { pending, proven } = await this.rollup.read.getTips();
|
|
47
|
+
return {
|
|
48
|
+
pending: CheckpointNumber.fromBigInt(pending),
|
|
49
|
+
proven: CheckpointNumber.fromBigInt(proven)
|
|
50
|
+
};
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
49
53
|
* Logs the current state of the rollup contract.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/ethereum",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.d3ec352c",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"tsconfig": "./tsconfig.json"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build": "yarn clean &&
|
|
23
|
-
"build:dev": "
|
|
22
|
+
"build": "yarn clean && ../scripts/tsc.sh",
|
|
23
|
+
"build:dev": "../scripts/tsc.sh --watch",
|
|
24
24
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
25
25
|
"start:dev": "concurrently -k \"tsgo -b -w\" \"nodemon --watch dest --exec yarn start\"",
|
|
26
26
|
"start": "node ./dest/index.js",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"../package.common.json"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
35
|
-
"@aztec/constants": "0.0.1-commit.
|
|
36
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
37
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
34
|
+
"@aztec/blob-lib": "0.0.1-commit.d3ec352c",
|
|
35
|
+
"@aztec/constants": "0.0.1-commit.d3ec352c",
|
|
36
|
+
"@aztec/foundation": "0.0.1-commit.d3ec352c",
|
|
37
|
+
"@aztec/l1-artifacts": "0.0.1-commit.d3ec352c",
|
|
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,12 +416,16 @@ 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
|
|
|
423
|
-
getTips() {
|
|
424
|
-
|
|
423
|
+
async getTips(): Promise<{ pending: CheckpointNumber; proven: CheckpointNumber }> {
|
|
424
|
+
const { pending, proven } = await this.rollup.read.getTips();
|
|
425
|
+
return {
|
|
426
|
+
pending: CheckpointNumber.fromBigInt(pending),
|
|
427
|
+
proven: CheckpointNumber.fromBigInt(proven),
|
|
428
|
+
};
|
|
425
429
|
}
|
|
426
430
|
|
|
427
431
|
getTimestampForSlot(slot: SlotNumber) {
|
|
@@ -444,7 +448,7 @@ export class RollupContract {
|
|
|
444
448
|
return EpochNumber.fromBigInt(await this.rollup.read.getCurrentEpoch());
|
|
445
449
|
}
|
|
446
450
|
|
|
447
|
-
async getEpochNumberForCheckpoint(checkpointNumber:
|
|
451
|
+
async getEpochNumberForCheckpoint(checkpointNumber: CheckpointNumber): Promise<EpochNumber> {
|
|
448
452
|
return EpochNumber.fromBigInt(await this.rollup.read.getEpochForCheckpoint([BigInt(checkpointNumber)]));
|
|
449
453
|
}
|
|
450
454
|
|
|
@@ -537,8 +541,8 @@ export class RollupContract {
|
|
|
537
541
|
archive: Buffer,
|
|
538
542
|
account: `0x${string}` | Account,
|
|
539
543
|
slotDuration: number,
|
|
540
|
-
opts: { forcePendingCheckpointNumber?:
|
|
541
|
-
): Promise<{ slot: SlotNumber; checkpointNumber:
|
|
544
|
+
opts: { forcePendingCheckpointNumber?: CheckpointNumber } = {},
|
|
545
|
+
): Promise<{ slot: SlotNumber; checkpointNumber: CheckpointNumber; timeOfNextL1Slot: bigint }> {
|
|
542
546
|
const latestBlock = await this.client.getBlock();
|
|
543
547
|
const timeOfNextL1Slot = latestBlock.timestamp + BigInt(slotDuration);
|
|
544
548
|
const who = typeof account === 'string' ? account : account.address;
|
|
@@ -555,7 +559,11 @@ export class RollupContract {
|
|
|
555
559
|
stateOverride: await this.makePendingCheckpointNumberOverride(opts.forcePendingCheckpointNumber),
|
|
556
560
|
});
|
|
557
561
|
|
|
558
|
-
return {
|
|
562
|
+
return {
|
|
563
|
+
slot: SlotNumber.fromBigInt(slot),
|
|
564
|
+
checkpointNumber: CheckpointNumber.fromBigInt(checkpointNumber),
|
|
565
|
+
timeOfNextL1Slot,
|
|
566
|
+
};
|
|
559
567
|
} catch (err: unknown) {
|
|
560
568
|
throw formatViemError(err);
|
|
561
569
|
}
|
|
@@ -567,7 +575,7 @@ export class RollupContract {
|
|
|
567
575
|
* stored in the same slot. If the argument is undefined, it returns an empty override.
|
|
568
576
|
*/
|
|
569
577
|
public async makePendingCheckpointNumberOverride(
|
|
570
|
-
forcePendingCheckpointNumber:
|
|
578
|
+
forcePendingCheckpointNumber: CheckpointNumber | undefined,
|
|
571
579
|
): Promise<StateOverride> {
|
|
572
580
|
if (forcePendingCheckpointNumber === undefined) {
|
|
573
581
|
return [];
|
|
@@ -586,7 +594,7 @@ export class RollupContract {
|
|
|
586
594
|
|
|
587
595
|
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */
|
|
588
596
|
public buildInvalidateBadAttestationRequest(
|
|
589
|
-
checkpointNumber:
|
|
597
|
+
checkpointNumber: CheckpointNumber,
|
|
590
598
|
attestationsAndSigners: ViemCommitteeAttestations,
|
|
591
599
|
committee: EthAddress[],
|
|
592
600
|
invalidIndex: number,
|
|
@@ -608,7 +616,7 @@ export class RollupContract {
|
|
|
608
616
|
|
|
609
617
|
/** Creates a request to Rollup#invalidateInsufficientAttestations to be simulated or sent */
|
|
610
618
|
public buildInvalidateInsufficientAttestationsRequest(
|
|
611
|
-
checkpointNumber:
|
|
619
|
+
checkpointNumber: CheckpointNumber,
|
|
612
620
|
attestationsAndSigners: ViemCommitteeAttestations,
|
|
613
621
|
committee: EthAddress[],
|
|
614
622
|
): L1TxRequest {
|
|
@@ -638,9 +646,9 @@ export class RollupContract {
|
|
|
638
646
|
return SlotNumber.fromBigInt(await this.rollup.read.getSlotAt([timestamp]));
|
|
639
647
|
}
|
|
640
648
|
|
|
641
|
-
async status(checkpointNumber:
|
|
649
|
+
async status(checkpointNumber: CheckpointNumber, options?: { blockNumber?: bigint }) {
|
|
642
650
|
await checkBlockTag(options?.blockNumber, this.client);
|
|
643
|
-
return this.rollup.read.status([checkpointNumber], options);
|
|
651
|
+
return this.rollup.read.status([BigInt(checkpointNumber)], options);
|
|
644
652
|
}
|
|
645
653
|
|
|
646
654
|
async canPruneAtTime(timestamp: bigint, options?: { blockNumber?: bigint }) {
|
|
@@ -652,8 +660,8 @@ export class RollupContract {
|
|
|
652
660
|
return this.rollup.read.archive();
|
|
653
661
|
}
|
|
654
662
|
|
|
655
|
-
archiveAt(checkpointNumber:
|
|
656
|
-
return this.rollup.read.archiveAt([checkpointNumber]);
|
|
663
|
+
archiveAt(checkpointNumber: CheckpointNumber) {
|
|
664
|
+
return this.rollup.read.archiveAt([BigInt(checkpointNumber)]);
|
|
657
665
|
}
|
|
658
666
|
|
|
659
667
|
getSequencerRewards(address: Hex | EthAddress) {
|
|
@@ -695,8 +703,8 @@ export class RollupContract {
|
|
|
695
703
|
return this.rollup.read.getStatus([address]);
|
|
696
704
|
}
|
|
697
705
|
|
|
698
|
-
getBlobCommitmentsHash(checkpointNumber:
|
|
699
|
-
return this.rollup.read.getBlobCommitmentsHash([checkpointNumber]);
|
|
706
|
+
getBlobCommitmentsHash(checkpointNumber: CheckpointNumber) {
|
|
707
|
+
return this.rollup.read.getBlobCommitmentsHash([BigInt(checkpointNumber)]);
|
|
700
708
|
}
|
|
701
709
|
|
|
702
710
|
getCurrentBlobCommitmentsHash() {
|
|
@@ -752,7 +760,7 @@ export class RollupContract {
|
|
|
752
760
|
}
|
|
753
761
|
|
|
754
762
|
public listenToCheckpointInvalidated(
|
|
755
|
-
callback: (args: { checkpointNumber:
|
|
763
|
+
callback: (args: { checkpointNumber: CheckpointNumber }) => unknown,
|
|
756
764
|
): WatchContractEventReturnType {
|
|
757
765
|
return this.rollup.watchEvent.CheckpointInvalidated(
|
|
758
766
|
{},
|
|
@@ -761,7 +769,7 @@ export class RollupContract {
|
|
|
761
769
|
for (const log of logs) {
|
|
762
770
|
const args = log.args;
|
|
763
771
|
if (args.checkpointNumber !== undefined) {
|
|
764
|
-
callback({ checkpointNumber: args.checkpointNumber });
|
|
772
|
+
callback({ checkpointNumber: CheckpointNumber.fromBigInt(args.checkpointNumber) });
|
|
765
773
|
}
|
|
766
774
|
}
|
|
767
775
|
},
|
|
@@ -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
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RollupContract, type ViemPublicClient } from '@aztec/ethereum';
|
|
2
2
|
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
3
|
-
import { EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
@@ -66,10 +66,14 @@ export class RollupCheatCodes {
|
|
|
66
66
|
* @returns The pending and proven chain tips
|
|
67
67
|
*/
|
|
68
68
|
public async getTips(): Promise<{
|
|
69
|
-
/** The pending chain tip */ pending:
|
|
70
|
-
/** The proven chain tip */ proven:
|
|
69
|
+
/** The pending chain tip */ pending: CheckpointNumber;
|
|
70
|
+
/** The proven chain tip */ proven: CheckpointNumber;
|
|
71
71
|
}> {
|
|
72
|
-
|
|
72
|
+
const { pending, proven } = await this.rollup.read.getTips();
|
|
73
|
+
return {
|
|
74
|
+
pending: CheckpointNumber.fromBigInt(pending),
|
|
75
|
+
proven: CheckpointNumber.fromBigInt(proven),
|
|
76
|
+
};
|
|
73
77
|
}
|
|
74
78
|
|
|
75
79
|
/**
|