@aztec/ethereum 0.0.1-commit.9d2bcf6d → 0.0.1-commit.9ee6fcc6
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/client.d.ts +10 -2
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +13 -7
- package/dest/config.d.ts +3 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +11 -3
- package/dest/contracts/empire_base.d.ts +3 -1
- package/dest/contracts/empire_base.d.ts.map +1 -1
- package/dest/contracts/empire_slashing_proposer.d.ts +3 -1
- package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/empire_slashing_proposer.js +9 -0
- package/dest/contracts/fee_asset_price_oracle.d.ts +101 -0
- package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
- package/dest/contracts/fee_asset_price_oracle.js +651 -0
- package/dest/contracts/governance.js +3 -3
- package/dest/contracts/governance_proposer.d.ts +3 -1
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +9 -0
- package/dest/contracts/index.d.ts +2 -1
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +1 -0
- package/dest/contracts/multicall.d.ts +51 -2
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +85 -0
- package/dest/contracts/registry.d.ts +3 -1
- package/dest/contracts/registry.d.ts.map +1 -1
- package/dest/contracts/registry.js +30 -1
- package/dest/contracts/rollup.d.ts +22 -8
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +64 -12
- package/dest/deploy_aztec_l1_contracts.d.ts +2 -3
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +33 -19
- package/dest/deploy_l1_contract.js +3 -3
- package/dest/generated/l1-contracts-defaults.d.ts +1 -1
- package/dest/generated/l1-contracts-defaults.js +1 -1
- package/dest/l1_artifacts.d.ts +1051 -42
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_reader.d.ts +3 -1
- package/dest/l1_reader.d.ts.map +1 -1
- package/dest/l1_reader.js +6 -1
- package/dest/l1_tx_utils/config.d.ts +7 -1
- package/dest/l1_tx_utils/config.d.ts.map +1 -1
- package/dest/l1_tx_utils/config.js +14 -1
- package/dest/l1_tx_utils/factory.d.ts +18 -10
- package/dest/l1_tx_utils/factory.d.ts.map +1 -1
- package/dest/l1_tx_utils/factory.js +17 -7
- package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +1 -1
- package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +1 -1
- package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +15 -15
- package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +9 -15
- package/dest/l1_tx_utils/index-blobs.d.ts +3 -3
- package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -1
- package/dest/l1_tx_utils/index-blobs.js +2 -2
- package/dest/l1_tx_utils/index.d.ts +2 -1
- package/dest/l1_tx_utils/index.d.ts.map +1 -1
- package/dest/l1_tx_utils/index.js +1 -0
- package/dest/l1_tx_utils/l1_tx_utils.d.ts +18 -7
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.js +52 -36
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +8 -4
- package/dest/l1_tx_utils/tx_delayer.d.ts +56 -0
- package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
- package/dest/{test → l1_tx_utils}/tx_delayer.js +62 -34
- package/dest/publisher_manager.d.ts +21 -7
- package/dest/publisher_manager.d.ts.map +1 -1
- package/dest/publisher_manager.js +81 -7
- package/dest/test/chain_monitor.d.ts +22 -3
- package/dest/test/chain_monitor.d.ts.map +1 -1
- package/dest/test/chain_monitor.js +33 -2
- package/dest/test/eth_cheat_codes.d.ts +6 -4
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/eth_cheat_codes.js +6 -4
- package/dest/test/index.d.ts +1 -3
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +0 -2
- package/dest/test/start_anvil.d.ts +23 -3
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +143 -29
- package/dest/test/upgrade_utils.js +2 -2
- package/dest/utils.d.ts +1 -1
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +16 -12
- package/package.json +5 -7
- package/src/client.ts +10 -2
- package/src/config.ts +15 -2
- package/src/contracts/empire_base.ts +2 -0
- package/src/contracts/empire_slashing_proposer.ts +6 -0
- package/src/contracts/fee_asset_price_oracle.ts +280 -0
- package/src/contracts/governance.ts +3 -3
- package/src/contracts/governance_proposer.ts +6 -0
- package/src/contracts/index.ts +1 -0
- package/src/contracts/multicall.ts +65 -1
- package/src/contracts/registry.ts +31 -1
- package/src/contracts/rollup.ts +75 -16
- package/src/deploy_aztec_l1_contracts.ts +56 -29
- package/src/deploy_l1_contract.ts +3 -3
- package/src/generated/l1-contracts-defaults.ts +1 -1
- package/src/l1_reader.ts +13 -1
- package/src/l1_tx_utils/config.ts +20 -0
- package/src/l1_tx_utils/factory.ts +31 -31
- package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +1 -1
- package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +1 -1
- package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +43 -54
- package/src/l1_tx_utils/index-blobs.ts +2 -2
- package/src/l1_tx_utils/index.ts +1 -0
- package/src/l1_tx_utils/l1_tx_utils.ts +54 -26
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +8 -4
- package/src/{test → l1_tx_utils}/tx_delayer.ts +78 -50
- package/src/publisher_manager.ts +105 -10
- package/src/test/chain_monitor.ts +60 -3
- package/src/test/eth_cheat_codes.ts +6 -4
- package/src/test/index.ts +0 -2
- package/src/test/start_anvil.ts +177 -29
- package/src/test/upgrade_utils.ts +2 -2
- package/src/utils.ts +17 -14
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +0 -26
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
- package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
- package/dest/test/delayed_tx_utils.d.ts +0 -13
- package/dest/test/delayed_tx_utils.d.ts.map +0 -1
- package/dest/test/delayed_tx_utils.js +0 -28
- package/dest/test/tx_delayer.d.ts +0 -36
- package/dest/test/tx_delayer.d.ts.map +0 -1
- package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
- package/src/test/delayed_tx_utils.ts +0 -52
package/dest/contracts/rollup.js
CHANGED
|
@@ -499,6 +499,16 @@ export class RollupContract {
|
|
|
499
499
|
2,
|
|
500
500
|
"getGenesisArchiveTreeRoot"
|
|
501
501
|
],
|
|
502
|
+
[
|
|
503
|
+
memoize,
|
|
504
|
+
2,
|
|
505
|
+
"getVkTreeRoot"
|
|
506
|
+
],
|
|
507
|
+
[
|
|
508
|
+
memoize,
|
|
509
|
+
2,
|
|
510
|
+
"getProtocolContractsHash"
|
|
511
|
+
],
|
|
502
512
|
[
|
|
503
513
|
memoize,
|
|
504
514
|
2,
|
|
@@ -640,24 +650,44 @@ export class RollupContract {
|
|
|
640
650
|
0n
|
|
641
651
|
]));
|
|
642
652
|
}
|
|
653
|
+
async getVkTreeRoot() {
|
|
654
|
+
const slot = BigInt(RollupContract.stfStorageSlot) + 3n;
|
|
655
|
+
const value = await this.client.getStorageAt({
|
|
656
|
+
address: this.address,
|
|
657
|
+
slot: `0x${slot.toString(16)}`
|
|
658
|
+
});
|
|
659
|
+
return Fr.fromString(value ?? '0x0');
|
|
660
|
+
}
|
|
661
|
+
async getProtocolContractsHash() {
|
|
662
|
+
const slot = BigInt(RollupContract.stfStorageSlot) + 4n;
|
|
663
|
+
const value = await this.client.getStorageAt({
|
|
664
|
+
address: this.address,
|
|
665
|
+
slot: `0x${slot.toString(16)}`
|
|
666
|
+
});
|
|
667
|
+
return Fr.fromString(value ?? '0x0');
|
|
668
|
+
}
|
|
643
669
|
/**
|
|
644
670
|
* Returns rollup constants used for epoch queries.
|
|
645
671
|
* Return type is `L1RollupConstants` which is defined in stdlib,
|
|
646
672
|
* so we cant reference it until we move this contract to that package.
|
|
647
673
|
*/ async getRollupConstants() {
|
|
648
|
-
const [l1StartBlock, l1GenesisTime, slotDuration, epochDuration, proofSubmissionEpochs] = await Promise.all([
|
|
674
|
+
const [l1StartBlock, l1GenesisTime, slotDuration, epochDuration, proofSubmissionEpochs, targetCommitteeSize, rollupManaLimit] = await Promise.all([
|
|
649
675
|
this.getL1StartBlock(),
|
|
650
676
|
this.getL1GenesisTime(),
|
|
651
677
|
this.getSlotDuration(),
|
|
652
678
|
this.getEpochDuration(),
|
|
653
|
-
this.getProofSubmissionEpochs()
|
|
679
|
+
this.getProofSubmissionEpochs(),
|
|
680
|
+
this.getTargetCommitteeSize(),
|
|
681
|
+
this.getManaLimit()
|
|
654
682
|
]);
|
|
655
683
|
return {
|
|
656
684
|
l1StartBlock,
|
|
657
685
|
l1GenesisTime,
|
|
658
686
|
slotDuration,
|
|
659
687
|
epochDuration: Number(epochDuration),
|
|
660
|
-
proofSubmissionEpochs: Number(proofSubmissionEpochs)
|
|
688
|
+
proofSubmissionEpochs: Number(proofSubmissionEpochs),
|
|
689
|
+
targetCommitteeSize,
|
|
690
|
+
rollupManaLimit: Number(rollupManaLimit)
|
|
661
691
|
};
|
|
662
692
|
}
|
|
663
693
|
async getSlasherAddress() {
|
|
@@ -735,8 +765,9 @@ export class RollupContract {
|
|
|
735
765
|
async getCheckpointNumber() {
|
|
736
766
|
return CheckpointNumber.fromBigInt(await this.rollup.read.getPendingCheckpointNumber());
|
|
737
767
|
}
|
|
738
|
-
async getProvenCheckpointNumber() {
|
|
739
|
-
|
|
768
|
+
async getProvenCheckpointNumber(options) {
|
|
769
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
770
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber(options));
|
|
740
771
|
}
|
|
741
772
|
async getSlotNumber() {
|
|
742
773
|
return SlotNumber.fromBigInt(await this.rollup.read.getCurrentSlot());
|
|
@@ -935,9 +966,8 @@ export class RollupContract {
|
|
|
935
966
|
* @return [slot, checkpointNumber, timeOfNextL1Slot] - If you can propose, the L2 slot number, checkpoint number and
|
|
936
967
|
* timestamp of the next L1 block
|
|
937
968
|
* @throws otherwise
|
|
938
|
-
*/ async
|
|
939
|
-
const
|
|
940
|
-
const timeOfNextL1Slot = latestBlock.timestamp + BigInt(slotDuration);
|
|
969
|
+
*/ async canProposeAt(archive, account, timestamp, opts = {}) {
|
|
970
|
+
const timeOfNextL1Slot = timestamp;
|
|
941
971
|
const who = typeof account === 'string' ? account : account.address;
|
|
942
972
|
try {
|
|
943
973
|
const { result: [slot, checkpointNumber] } = await this.client.simulateContract({
|
|
@@ -1035,6 +1065,18 @@ export class RollupContract {
|
|
|
1035
1065
|
inFeeAsset
|
|
1036
1066
|
]);
|
|
1037
1067
|
}
|
|
1068
|
+
async getManaMinFeeComponentsAt(timestamp, inFeeAsset) {
|
|
1069
|
+
const result = await this.rollup.read.getManaMinFeeComponentsAt([
|
|
1070
|
+
timestamp,
|
|
1071
|
+
inFeeAsset
|
|
1072
|
+
]);
|
|
1073
|
+
return {
|
|
1074
|
+
sequencerCost: result.sequencerCost,
|
|
1075
|
+
proverCost: result.proverCost,
|
|
1076
|
+
congestionCost: result.congestionCost,
|
|
1077
|
+
congestionMultiplier: result.congestionMultiplier
|
|
1078
|
+
};
|
|
1079
|
+
}
|
|
1038
1080
|
async getSlotAt(timestamp) {
|
|
1039
1081
|
return SlotNumber.fromBigInt(await this.rollup.read.getSlotAt([
|
|
1040
1082
|
timestamp
|
|
@@ -1084,10 +1126,10 @@ export class RollupContract {
|
|
|
1084
1126
|
prover
|
|
1085
1127
|
]);
|
|
1086
1128
|
}
|
|
1087
|
-
async getAttesters() {
|
|
1129
|
+
async getAttesters(timestamp) {
|
|
1088
1130
|
const attesterSize = await this.getActiveAttesterCount();
|
|
1089
1131
|
const gse = new GSEContract(this.client, await this.getGSE());
|
|
1090
|
-
const ts = (await this.client.getBlock()).timestamp;
|
|
1132
|
+
const ts = timestamp ?? (await this.client.getBlock()).timestamp;
|
|
1091
1133
|
const indices = Array.from({
|
|
1092
1134
|
length: attesterSize
|
|
1093
1135
|
}, (_, i)=>BigInt(i));
|
|
@@ -1237,8 +1279,18 @@ export class RollupContract {
|
|
|
1237
1279
|
checkpointNumber: CheckpointNumber.fromBigInt(log.args.checkpointNumber),
|
|
1238
1280
|
archive: Fr.fromString(log.args.archive),
|
|
1239
1281
|
versionedBlobHashes: log.args.versionedBlobHashes.map((h)=>Buffer.from(h.slice(2), 'hex')),
|
|
1240
|
-
attestationsHash:
|
|
1241
|
-
|
|
1282
|
+
attestationsHash: (()=>{
|
|
1283
|
+
if (!log.args.attestationsHash) {
|
|
1284
|
+
throw new Error(`CheckpointProposed event missing attestationsHash for checkpoint ${log.args.checkpointNumber}`);
|
|
1285
|
+
}
|
|
1286
|
+
return Buffer32.fromString(log.args.attestationsHash);
|
|
1287
|
+
})(),
|
|
1288
|
+
payloadDigest: (()=>{
|
|
1289
|
+
if (!log.args.payloadDigest) {
|
|
1290
|
+
throw new Error(`CheckpointProposed event missing payloadDigest for checkpoint ${log.args.checkpointNumber}`);
|
|
1291
|
+
}
|
|
1292
|
+
return Buffer32.fromString(log.args.payloadDigest);
|
|
1293
|
+
})()
|
|
1242
1294
|
}
|
|
1243
1295
|
}));
|
|
1244
1296
|
}
|
|
@@ -6,7 +6,6 @@ import type { Hex } from 'viem';
|
|
|
6
6
|
import type { L1ContractsConfig } from './config.js';
|
|
7
7
|
import { RollupContract } from './contracts/rollup.js';
|
|
8
8
|
import type { L1ContractAddresses } from './l1_contract_addresses.js';
|
|
9
|
-
import type { L1TxUtilsConfig } from './l1_tx_utils/config.js';
|
|
10
9
|
import type { ExtendedViemWalletClient } from './types.js';
|
|
11
10
|
export interface G2PointJson {
|
|
12
11
|
x0: string;
|
|
@@ -156,7 +155,7 @@ export type VerificationRecord = {
|
|
|
156
155
|
constructorArgsHex: Hex;
|
|
157
156
|
libraries: VerificationLibraryEntry[];
|
|
158
157
|
};
|
|
159
|
-
export interface DeployAztecL1ContractsArgs extends Omit<L1ContractsConfig,
|
|
158
|
+
export interface DeployAztecL1ContractsArgs extends Omit<L1ContractsConfig, 'gasLimitBufferPercentage' | 'maxGwei' | 'maxBlobGwei' | 'priorityFeeBumpPercentage' | 'priorityFeeRetryBumpPercentage' | 'minimumPriorityFeePerGas' | 'maxSpeedUpAttempts' | 'checkIntervalMs' | 'stallTimeMs' | 'txTimeoutMs' | 'cancelTxOnTimeout' | 'txCancellationFinalTimeoutMs' | 'txUnseenConsideredDroppedMs' | 'enableDelayer' | 'txDelayerMaxInclusionTimeIntoSlot'> {
|
|
160
159
|
/** The vk tree root. */
|
|
161
160
|
vkTreeRoot: Fr;
|
|
162
161
|
/** The hash of the protocol contracts. */
|
|
@@ -257,4 +256,4 @@ export declare const deployRollupForUpgrade: (privateKey: `0x${string}`, rpcUrl:
|
|
|
257
256
|
rollup: RollupContract;
|
|
258
257
|
slashFactoryAddress: `0x${string}`;
|
|
259
258
|
}>;
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2F6dGVjX2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9henRlY19sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJM0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQyxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUErRTNELE1BQU0sV0FBVyxXQUFXO0lBQzFCLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNLENBQUM7Q0FDWjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxhQUFhO0lBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsYUFBYSxFQUFFLFdBQVcsQ0FBQztDQUM1QjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isa0JBQWtCLElBQUks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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_aztec_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_aztec_l1_contracts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAwB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAIpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAM3C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy_aztec_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_aztec_l1_contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,9 +19,9 @@ import { RollupContract } from './contracts/rollup.js';
|
|
|
19
19
|
const logger = createLogger('ethereum:deploy_aztec_l1_contracts');
|
|
20
20
|
const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
|
|
21
21
|
/**
|
|
22
|
-
* Runs a process
|
|
23
|
-
*
|
|
24
|
-
*
|
|
22
|
+
* Runs a process and parses JSON deploy results from stdout.
|
|
23
|
+
* Lines starting with JSON_DEPLOY_RESULT_PREFIX are parsed and returned.
|
|
24
|
+
* All other stdout goes to logger.info, stderr goes to logger.warn.
|
|
25
25
|
*/ function runProcess(command, args, env, cwd) {
|
|
26
26
|
const { promise, resolve, reject } = promiseWithResolvers();
|
|
27
27
|
const proc = spawn(command, args, {
|
|
@@ -37,27 +37,42 @@ const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
|
|
|
37
37
|
]
|
|
38
38
|
});
|
|
39
39
|
let result;
|
|
40
|
+
let parseError;
|
|
41
|
+
let settled = false;
|
|
40
42
|
readline.createInterface({
|
|
41
43
|
input: proc.stdout
|
|
42
44
|
}).on('line', (line)=>{
|
|
43
45
|
const trimmedLine = line.trim();
|
|
44
46
|
if (trimmedLine.startsWith(JSON_DEPLOY_RESULT_PREFIX)) {
|
|
45
47
|
const jsonStr = trimmedLine.slice(JSON_DEPLOY_RESULT_PREFIX.length).trim();
|
|
46
|
-
|
|
47
|
-
|
|
48
|
+
try {
|
|
49
|
+
result = JSON.parse(jsonStr);
|
|
50
|
+
} catch {
|
|
51
|
+
parseError = new Error(`Failed to parse deploy result JSON: ${jsonStr.slice(0, 200)}`);
|
|
52
|
+
}
|
|
48
53
|
} else {
|
|
49
54
|
logger.info(line);
|
|
50
55
|
}
|
|
51
56
|
});
|
|
52
57
|
readline.createInterface({
|
|
53
58
|
input: proc.stderr
|
|
54
|
-
}).on('line', logger.
|
|
59
|
+
}).on('line', logger.warn.bind(logger));
|
|
55
60
|
proc.on('error', (error)=>{
|
|
61
|
+
if (settled) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
settled = true;
|
|
56
65
|
reject(new Error(`Failed to spawn ${command}: ${error.message}`));
|
|
57
66
|
});
|
|
58
67
|
proc.on('close', (code)=>{
|
|
68
|
+
if (settled) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
settled = true;
|
|
59
72
|
if (code !== 0) {
|
|
60
|
-
reject(new Error(`${command} exited with code ${code}
|
|
73
|
+
reject(new Error(`${command} exited with code ${code}`));
|
|
74
|
+
} else if (parseError) {
|
|
75
|
+
reject(parseError);
|
|
61
76
|
} else {
|
|
62
77
|
resolve(result);
|
|
63
78
|
}
|
|
@@ -228,11 +243,8 @@ function cleanupDeployDir() {
|
|
|
228
243
|
if (isVerifiableChain && !process.env.ETHERSCAN_API_KEY) {
|
|
229
244
|
logger.warn(`Deploying to chain ${chainId} (${chainId === mainnet.id ? 'mainnet' : 'sepolia'}) without ETHERSCAN_API_KEY. ` + `Contracts will NOT be verified on Etherscan. Set ETHERSCAN_API_KEY environment variable to enable verification.`);
|
|
230
245
|
}
|
|
231
|
-
|
|
232
|
-
const MAGIC_ANVIL_BATCH_SIZE = 8;
|
|
233
|
-
// Anvil seems to stall with unbounded batch size. Otherwise no max batch size is desirable.
|
|
246
|
+
const scriptPath = join(getL1ContractsPath(), 'scripts', 'forge_broadcast.js');
|
|
234
247
|
const forgeArgs = [
|
|
235
|
-
'script',
|
|
236
248
|
FORGE_SCRIPT,
|
|
237
249
|
'--sig',
|
|
238
250
|
'run()',
|
|
@@ -240,9 +252,6 @@ function cleanupDeployDir() {
|
|
|
240
252
|
privateKey,
|
|
241
253
|
'--rpc-url',
|
|
242
254
|
rpcUrl,
|
|
243
|
-
'--broadcast',
|
|
244
|
-
'--batch-size',
|
|
245
|
-
MAGIC_ANVIL_BATCH_SIZE.toString(),
|
|
246
255
|
...shouldVerify ? [
|
|
247
256
|
'--verify'
|
|
248
257
|
] : []
|
|
@@ -253,7 +262,10 @@ function cleanupDeployDir() {
|
|
|
253
262
|
FOUNDRY_PROFILE: chainId === mainnet.id ? 'production' : undefined,
|
|
254
263
|
...getDeployAztecL1ContractsEnvVars(args)
|
|
255
264
|
};
|
|
256
|
-
const result = await runProcess(
|
|
265
|
+
const result = await runProcess(process.execPath, [
|
|
266
|
+
scriptPath,
|
|
267
|
+
...forgeArgs
|
|
268
|
+
], forgeEnv, l1ContractsPath);
|
|
257
269
|
if (!result) {
|
|
258
270
|
throw new Error('Forge script did not output deployment result');
|
|
259
271
|
}
|
|
@@ -365,16 +377,15 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
365
377
|
const l1ContractsPath = prepareL1ContractsForDeployment();
|
|
366
378
|
const FORGE_SCRIPT = 'script/deploy/DeployRollupForUpgrade.s.sol';
|
|
367
379
|
await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
|
|
380
|
+
const scriptPath = join(getL1ContractsPath(), 'scripts', 'forge_broadcast.js');
|
|
368
381
|
const forgeArgs = [
|
|
369
|
-
'script',
|
|
370
382
|
FORGE_SCRIPT,
|
|
371
383
|
'--sig',
|
|
372
384
|
'run()',
|
|
373
385
|
'--private-key',
|
|
374
386
|
privateKey,
|
|
375
387
|
'--rpc-url',
|
|
376
|
-
rpcUrl
|
|
377
|
-
'--broadcast'
|
|
388
|
+
rpcUrl
|
|
378
389
|
];
|
|
379
390
|
const forgeEnv = {
|
|
380
391
|
FOUNDRY_PROFILE: chainId === mainnet.id ? 'production' : undefined,
|
|
@@ -383,7 +394,10 @@ export function getDeployRollupForUpgradeEnvVars(args) {
|
|
|
383
394
|
NETWORK: getActiveNetworkName(),
|
|
384
395
|
...getDeployRollupForUpgradeEnvVars(args)
|
|
385
396
|
};
|
|
386
|
-
const result = await runProcess(
|
|
397
|
+
const result = await runProcess(process.execPath, [
|
|
398
|
+
scriptPath,
|
|
399
|
+
...forgeArgs
|
|
400
|
+
], forgeEnv, l1ContractsPath);
|
|
387
401
|
if (!result) {
|
|
388
402
|
throw new Error('Forge script did not output deployment result');
|
|
389
403
|
}
|
|
@@ -5,7 +5,7 @@ import { concatHex, encodeAbiParameters, encodeDeployData, getContractAddress, n
|
|
|
5
5
|
import { DEPLOYER_ADDRESS } from './deploy_aztec_l1_contracts.js';
|
|
6
6
|
import { RegisterNewRollupVersionPayloadArtifact } from './l1_artifacts.js';
|
|
7
7
|
import { getL1TxUtilsConfigEnvVars } from './l1_tx_utils/config.js';
|
|
8
|
-
import {
|
|
8
|
+
import { createL1TxUtils } from './l1_tx_utils/factory.js';
|
|
9
9
|
import { formatViemError } from './utils.js';
|
|
10
10
|
export class L1Deployer {
|
|
11
11
|
client;
|
|
@@ -28,7 +28,7 @@ export class L1Deployer {
|
|
|
28
28
|
this.salt = maybeSalt ? padHex(numberToHex(maybeSalt), {
|
|
29
29
|
size: 32
|
|
30
30
|
}) : undefined;
|
|
31
|
-
this.l1TxUtils =
|
|
31
|
+
this.l1TxUtils = createL1TxUtils(this.client, {
|
|
32
32
|
logger: this.logger,
|
|
33
33
|
dateProvider
|
|
34
34
|
}, {
|
|
@@ -130,7 +130,7 @@ export class L1Deployer {
|
|
|
130
130
|
let { l1TxUtils } = opts;
|
|
131
131
|
if (!l1TxUtils) {
|
|
132
132
|
const config = getL1TxUtilsConfigEnvVars();
|
|
133
|
-
l1TxUtils =
|
|
133
|
+
l1TxUtils = createL1TxUtils(extendedClient, {
|
|
134
134
|
logger
|
|
135
135
|
}, {
|
|
136
136
|
...config,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Default L1 contracts configuration values from network-defaults.yml */
|
|
2
2
|
export declare const l1ContractsDefaultEnv: {
|
|
3
3
|
readonly ETHEREUM_SLOT_DURATION: 12;
|
|
4
|
-
readonly AZTEC_SLOT_DURATION:
|
|
4
|
+
readonly AZTEC_SLOT_DURATION: 72;
|
|
5
5
|
readonly AZTEC_EPOCH_DURATION: 32;
|
|
6
6
|
readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
|
|
7
7
|
readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Do not edit manually - run yarn generate to regenerate
|
|
3
3
|
/** Default L1 contracts configuration values from network-defaults.yml */ export const l1ContractsDefaultEnv = {
|
|
4
4
|
ETHEREUM_SLOT_DURATION: 12,
|
|
5
|
-
AZTEC_SLOT_DURATION:
|
|
5
|
+
AZTEC_SLOT_DURATION: 72,
|
|
6
6
|
AZTEC_EPOCH_DURATION: 32,
|
|
7
7
|
AZTEC_TARGET_COMMITTEE_SIZE: 48,
|
|
8
8
|
AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
|