@aztec/ethereum 0.0.1-commit.e2b2873ed → 0.0.1-commit.e304674f1
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 +8 -6
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +14 -10
- package/dest/contracts/empire_base.d.ts +3 -1
- package/dest/contracts/empire_base.d.ts.map +1 -1
- 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/inbox.d.ts +3 -3
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/inbox.js +5 -6
- package/dest/contracts/index.d.ts +3 -3
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +2 -2
- 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 +48 -18
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +213 -52
- package/dest/contracts/{tally_slashing_proposer.d.ts → slashing_proposer.d.ts} +3 -4
- package/dest/contracts/slashing_proposer.d.ts.map +1 -0
- package/dest/contracts/{tally_slashing_proposer.js → slashing_proposer.js} +13 -15
- package/dest/deploy_aztec_l1_contracts.d.ts +4 -8
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.js +35 -23
- package/dest/deploy_l1_contract.js +3 -3
- package/dest/generated/l1-contracts-defaults.d.ts +2 -2
- package/dest/generated/l1-contracts-defaults.js +2 -2
- package/dest/l1_artifacts.d.ts +9214 -15208
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_artifacts.js +9 -24
- package/dest/l1_contract_addresses.d.ts +1 -5
- package/dest/l1_contract_addresses.d.ts.map +1 -1
- package/dest/l1_contract_addresses.js +0 -6
- 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/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 +20 -7
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.js +75 -51
- 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/queries.js +3 -3
- 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 +23 -14
- package/src/contracts/empire_base.ts +2 -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/inbox.ts +4 -4
- package/src/contracts/index.ts +2 -2
- package/src/contracts/multicall.ts +65 -1
- package/src/contracts/registry.ts +31 -1
- package/src/contracts/rollup.ts +250 -59
- package/src/contracts/{tally_slashing_proposer.ts → slashing_proposer.ts} +14 -16
- package/src/deploy_aztec_l1_contracts.ts +57 -34
- package/src/deploy_l1_contract.ts +3 -3
- package/src/generated/l1-contracts-defaults.ts +2 -2
- package/src/l1_artifacts.ts +12 -35
- package/src/l1_contract_addresses.ts +0 -7
- 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/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 +68 -30
- 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/queries.ts +3 -3
- 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/contracts/empire_slashing_proposer.d.ts +0 -67
- package/dest/contracts/empire_slashing_proposer.d.ts.map +0 -1
- package/dest/contracts/empire_slashing_proposer.js +0 -207
- package/dest/contracts/tally_slashing_proposer.d.ts.map +0 -1
- 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/contracts/empire_slashing_proposer.ts +0 -259
- package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
- package/src/test/delayed_tx_utils.ts +0 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
|
|
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
|
@@ -376,25 +376,19 @@ import { Buffer32 } from '@aztec/foundation/buffer';
|
|
|
376
376
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
377
377
|
import { memoize } from '@aztec/foundation/decorators';
|
|
378
378
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
379
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
379
380
|
import { makeBackoff, retry } from '@aztec/foundation/retry';
|
|
380
381
|
import { EscapeHatchAbi } from '@aztec/l1-artifacts/EscapeHatchAbi';
|
|
381
382
|
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
382
383
|
import { RollupStorage } from '@aztec/l1-artifacts/RollupStorage';
|
|
383
384
|
import chunk from 'lodash.chunk';
|
|
384
|
-
import { encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
|
|
385
|
+
import { encodeAbiParameters, encodeFunctionData, getContract, hexToBigInt, keccak256 } from 'viem';
|
|
385
386
|
import { getPublicClient } from '../client.js';
|
|
386
387
|
import { formatViemError } from '../utils.js';
|
|
387
|
-
import { EmpireSlashingProposerContract } from './empire_slashing_proposer.js';
|
|
388
388
|
import { GSEContract } from './gse.js';
|
|
389
389
|
import { SlasherContract } from './slasher_contract.js';
|
|
390
|
-
import {
|
|
390
|
+
import { SlashingProposerContract } from './slashing_proposer.js';
|
|
391
391
|
import { checkBlockTag } from './utils.js';
|
|
392
|
-
export var SlashingProposerType = /*#__PURE__*/ function(SlashingProposerType) {
|
|
393
|
-
SlashingProposerType[SlashingProposerType["None"] = 0] = "None";
|
|
394
|
-
SlashingProposerType[SlashingProposerType["Tally"] = 1] = "Tally";
|
|
395
|
-
SlashingProposerType[SlashingProposerType["Empire"] = 2] = "Empire";
|
|
396
|
-
return SlashingProposerType;
|
|
397
|
-
}({});
|
|
398
392
|
/**
|
|
399
393
|
* Status of a validator/attester in the staking system.
|
|
400
394
|
* Matches the Status enum in StakingLib.sol
|
|
@@ -499,6 +493,16 @@ export class RollupContract {
|
|
|
499
493
|
2,
|
|
500
494
|
"getGenesisArchiveTreeRoot"
|
|
501
495
|
],
|
|
496
|
+
[
|
|
497
|
+
memoize,
|
|
498
|
+
2,
|
|
499
|
+
"getVkTreeRoot"
|
|
500
|
+
],
|
|
501
|
+
[
|
|
502
|
+
memoize,
|
|
503
|
+
2,
|
|
504
|
+
"getProtocolContractsHash"
|
|
505
|
+
],
|
|
502
506
|
[
|
|
503
507
|
memoize,
|
|
504
508
|
2,
|
|
@@ -507,6 +511,7 @@ export class RollupContract {
|
|
|
507
511
|
], []));
|
|
508
512
|
}
|
|
509
513
|
rollup;
|
|
514
|
+
logger;
|
|
510
515
|
static cachedStfStorageSlot;
|
|
511
516
|
cachedEscapeHatch;
|
|
512
517
|
static get checkBlobStorageSlot() {
|
|
@@ -530,7 +535,7 @@ export class RollupContract {
|
|
|
530
535
|
}
|
|
531
536
|
constructor(client, address){
|
|
532
537
|
this.client = client;
|
|
533
|
-
_initProto(this);
|
|
538
|
+
this.logger = (_initProto(this), createLogger('ethereum:rollup'));
|
|
534
539
|
if (address instanceof EthAddress) {
|
|
535
540
|
address = address.toString();
|
|
536
541
|
}
|
|
@@ -555,34 +560,10 @@ export class RollupContract {
|
|
|
555
560
|
return undefined;
|
|
556
561
|
}
|
|
557
562
|
const proposerAddress = await slasher.getProposer();
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
type: 'function',
|
|
561
|
-
name: 'SLASHING_PROPOSER_TYPE',
|
|
562
|
-
inputs: [],
|
|
563
|
-
outputs: [
|
|
564
|
-
{
|
|
565
|
-
name: '',
|
|
566
|
-
type: 'uint8',
|
|
567
|
-
internalType: 'enum SlasherFlavor'
|
|
568
|
-
}
|
|
569
|
-
],
|
|
570
|
-
stateMutability: 'view'
|
|
571
|
-
}
|
|
572
|
-
];
|
|
573
|
-
const proposer = getContract({
|
|
574
|
-
address: proposerAddress.toString(),
|
|
575
|
-
abi: proposerAbi,
|
|
576
|
-
client: this.client
|
|
577
|
-
});
|
|
578
|
-
const proposerType = await proposer.read.SLASHING_PROPOSER_TYPE();
|
|
579
|
-
if (proposerType === 1..valueOf()) {
|
|
580
|
-
return new TallySlashingProposerContract(this.client, proposerAddress);
|
|
581
|
-
} else if (proposerType === 2..valueOf()) {
|
|
582
|
-
return new EmpireSlashingProposerContract(this.client, proposerAddress);
|
|
583
|
-
} else {
|
|
584
|
-
throw new Error(`Unknown slashing proposer type: ${proposerType}`);
|
|
563
|
+
if (proposerAddress.isZero()) {
|
|
564
|
+
return undefined;
|
|
585
565
|
}
|
|
566
|
+
return new SlashingProposerContract(this.client, proposerAddress);
|
|
586
567
|
}
|
|
587
568
|
getL1StartBlock() {
|
|
588
569
|
return this.rollup.read.L1_BLOCK_AT_GENESIS();
|
|
@@ -640,18 +621,35 @@ export class RollupContract {
|
|
|
640
621
|
0n
|
|
641
622
|
]));
|
|
642
623
|
}
|
|
624
|
+
async getVkTreeRoot() {
|
|
625
|
+
const slot = BigInt(RollupContract.stfStorageSlot) + 3n;
|
|
626
|
+
const value = await this.client.getStorageAt({
|
|
627
|
+
address: this.address,
|
|
628
|
+
slot: `0x${slot.toString(16)}`
|
|
629
|
+
});
|
|
630
|
+
return Fr.fromString(value ?? '0x0');
|
|
631
|
+
}
|
|
632
|
+
async getProtocolContractsHash() {
|
|
633
|
+
const slot = BigInt(RollupContract.stfStorageSlot) + 4n;
|
|
634
|
+
const value = await this.client.getStorageAt({
|
|
635
|
+
address: this.address,
|
|
636
|
+
slot: `0x${slot.toString(16)}`
|
|
637
|
+
});
|
|
638
|
+
return Fr.fromString(value ?? '0x0');
|
|
639
|
+
}
|
|
643
640
|
/**
|
|
644
641
|
* Returns rollup constants used for epoch queries.
|
|
645
642
|
* Return type is `L1RollupConstants` which is defined in stdlib,
|
|
646
643
|
* so we cant reference it until we move this contract to that package.
|
|
647
644
|
*/ async getRollupConstants() {
|
|
648
|
-
const [l1StartBlock, l1GenesisTime, slotDuration, epochDuration, proofSubmissionEpochs, targetCommitteeSize] = await Promise.all([
|
|
645
|
+
const [l1StartBlock, l1GenesisTime, slotDuration, epochDuration, proofSubmissionEpochs, targetCommitteeSize, rollupManaLimit] = await Promise.all([
|
|
649
646
|
this.getL1StartBlock(),
|
|
650
647
|
this.getL1GenesisTime(),
|
|
651
648
|
this.getSlotDuration(),
|
|
652
649
|
this.getEpochDuration(),
|
|
653
650
|
this.getProofSubmissionEpochs(),
|
|
654
|
-
this.getTargetCommitteeSize()
|
|
651
|
+
this.getTargetCommitteeSize(),
|
|
652
|
+
this.getManaLimit()
|
|
655
653
|
]);
|
|
656
654
|
return {
|
|
657
655
|
l1StartBlock,
|
|
@@ -659,7 +657,8 @@ export class RollupContract {
|
|
|
659
657
|
slotDuration,
|
|
660
658
|
epochDuration: Number(epochDuration),
|
|
661
659
|
proofSubmissionEpochs: Number(proofSubmissionEpochs),
|
|
662
|
-
targetCommitteeSize
|
|
660
|
+
targetCommitteeSize,
|
|
661
|
+
rollupManaLimit: Number(rollupManaLimit)
|
|
663
662
|
};
|
|
664
663
|
}
|
|
665
664
|
async getSlasherAddress() {
|
|
@@ -705,7 +704,11 @@ export class RollupContract {
|
|
|
705
704
|
BigInt(epoch)
|
|
706
705
|
]);
|
|
707
706
|
return isOpen;
|
|
708
|
-
} catch
|
|
707
|
+
} catch (err) {
|
|
708
|
+
this.logger.warn('isEscapeHatchOpen failed (treating as closed); RPC or contract error may cause liveness risk', {
|
|
709
|
+
epoch: Number(epoch),
|
|
710
|
+
error: err
|
|
711
|
+
});
|
|
709
712
|
return false;
|
|
710
713
|
}
|
|
711
714
|
}
|
|
@@ -737,8 +740,9 @@ export class RollupContract {
|
|
|
737
740
|
async getCheckpointNumber() {
|
|
738
741
|
return CheckpointNumber.fromBigInt(await this.rollup.read.getPendingCheckpointNumber());
|
|
739
742
|
}
|
|
740
|
-
async getProvenCheckpointNumber() {
|
|
741
|
-
|
|
743
|
+
async getProvenCheckpointNumber(options) {
|
|
744
|
+
await checkBlockTag(options?.blockNumber, this.client);
|
|
745
|
+
return CheckpointNumber.fromBigInt(await this.rollup.read.getProvenCheckpointNumber(options));
|
|
742
746
|
}
|
|
743
747
|
async getSlotNumber() {
|
|
744
748
|
return SlotNumber.fromBigInt(await this.rollup.read.getCurrentSlot());
|
|
@@ -937,10 +941,10 @@ export class RollupContract {
|
|
|
937
941
|
* @return [slot, checkpointNumber, timeOfNextL1Slot] - If you can propose, the L2 slot number, checkpoint number and
|
|
938
942
|
* timestamp of the next L1 block
|
|
939
943
|
* @throws otherwise
|
|
940
|
-
*/ async
|
|
941
|
-
const
|
|
942
|
-
const timeOfNextL1Slot = latestBlock.timestamp + BigInt(slotDuration);
|
|
944
|
+
*/ async canProposeAt(archive, account, timestamp, opts = {}) {
|
|
945
|
+
const timeOfNextL1Slot = timestamp;
|
|
943
946
|
const who = typeof account === 'string' ? account : account.address;
|
|
947
|
+
const stateOverride = RollupContract.mergeStateOverrides(await this.makePendingCheckpointNumberOverride(opts.forcePendingCheckpointNumber), opts.forceArchive ? this.makeArchiveOverride(opts.forceArchive.checkpointNumber, opts.forceArchive.archive) : []);
|
|
944
948
|
try {
|
|
945
949
|
const { result: [slot, checkpointNumber] } = await this.client.simulateContract({
|
|
946
950
|
address: this.address,
|
|
@@ -952,7 +956,7 @@ export class RollupContract {
|
|
|
952
956
|
who
|
|
953
957
|
],
|
|
954
958
|
account,
|
|
955
|
-
stateOverride
|
|
959
|
+
stateOverride
|
|
956
960
|
});
|
|
957
961
|
return {
|
|
958
962
|
slot: SlotNumber.fromBigInt(slot),
|
|
@@ -990,6 +994,139 @@ export class RollupContract {
|
|
|
990
994
|
}
|
|
991
995
|
];
|
|
992
996
|
}
|
|
997
|
+
/**
|
|
998
|
+
* Returns a state override that sets tempCheckpointLogs[checkpointNumber].feeHeader to the compressed fee header.
|
|
999
|
+
* Used when simulating a propose call where the parent checkpoint hasn't landed on L1 yet (pipelining).
|
|
1000
|
+
*/ async makeFeeHeaderOverride(checkpointNumber, feeHeader) {
|
|
1001
|
+
const { epochDuration, proofSubmissionEpochs } = await this.getRollupConstants();
|
|
1002
|
+
const roundaboutSize = BigInt(epochDuration * (proofSubmissionEpochs + 1) + 1);
|
|
1003
|
+
const circularIndex = BigInt(checkpointNumber) % roundaboutSize;
|
|
1004
|
+
// tempCheckpointLogs is at offset 2 in RollupStore
|
|
1005
|
+
const tempCheckpointLogsMappingBase = hexToBigInt(RollupContract.stfStorageSlot) + 2n;
|
|
1006
|
+
// Solidity mapping slot: keccak256(abi.encode(key, baseSlot))
|
|
1007
|
+
const structBaseSlot = hexToBigInt(keccak256(encodeAbiParameters([
|
|
1008
|
+
{
|
|
1009
|
+
type: 'uint256'
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
type: 'uint256'
|
|
1013
|
+
}
|
|
1014
|
+
], [
|
|
1015
|
+
circularIndex,
|
|
1016
|
+
tempCheckpointLogsMappingBase
|
|
1017
|
+
])));
|
|
1018
|
+
// feeHeader is the 7th field (offset 6) in CompressedTempCheckpointLog
|
|
1019
|
+
const feeHeaderSlot = structBaseSlot + 6n;
|
|
1020
|
+
const compressed = RollupContract.compressFeeHeader(feeHeader);
|
|
1021
|
+
return [
|
|
1022
|
+
{
|
|
1023
|
+
address: this.address,
|
|
1024
|
+
stateDiff: [
|
|
1025
|
+
{
|
|
1026
|
+
slot: `0x${feeHeaderSlot.toString(16).padStart(64, '0')}`,
|
|
1027
|
+
value: `0x${compressed.toString(16).padStart(64, '0')}`
|
|
1028
|
+
}
|
|
1029
|
+
]
|
|
1030
|
+
}
|
|
1031
|
+
];
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Returns a state override that sets archives[checkpointNumber] to the given archive value.
|
|
1035
|
+
* Used when simulating a canProposeAtTime call where the local archive differs from L1
|
|
1036
|
+
* (e.g. pipelining where the parent checkpoint hasn't landed on L1 yet).
|
|
1037
|
+
*/ makeArchiveOverride(checkpointNumber, archive) {
|
|
1038
|
+
const archivesMappingBase = hexToBigInt(RollupContract.stfStorageSlot) + 1n;
|
|
1039
|
+
const archiveSlot = hexToBigInt(keccak256(encodeAbiParameters([
|
|
1040
|
+
{
|
|
1041
|
+
type: 'uint256'
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
type: 'uint256'
|
|
1045
|
+
}
|
|
1046
|
+
], [
|
|
1047
|
+
BigInt(checkpointNumber),
|
|
1048
|
+
archivesMappingBase
|
|
1049
|
+
])));
|
|
1050
|
+
return [
|
|
1051
|
+
{
|
|
1052
|
+
address: this.address,
|
|
1053
|
+
stateDiff: [
|
|
1054
|
+
{
|
|
1055
|
+
slot: `0x${archiveSlot.toString(16).padStart(64, '0')}`,
|
|
1056
|
+
value: archive.toString()
|
|
1057
|
+
}
|
|
1058
|
+
]
|
|
1059
|
+
}
|
|
1060
|
+
];
|
|
1061
|
+
}
|
|
1062
|
+
/** Merges multiple StateOverride arrays, combining stateDiff entries for the same address. */ static mergeStateOverrides(...overrides) {
|
|
1063
|
+
const byAddress = new Map();
|
|
1064
|
+
for (const override of overrides){
|
|
1065
|
+
for (const entry of override){
|
|
1066
|
+
const key = entry.address.toLowerCase();
|
|
1067
|
+
const existing = byAddress.get(key);
|
|
1068
|
+
if (existing) {
|
|
1069
|
+
existing.stateDiff.push(...entry.stateDiff ?? []);
|
|
1070
|
+
if (entry.balance !== undefined) {
|
|
1071
|
+
existing.balance = entry.balance;
|
|
1072
|
+
}
|
|
1073
|
+
} else {
|
|
1074
|
+
byAddress.set(key, {
|
|
1075
|
+
address: entry.address,
|
|
1076
|
+
balance: entry.balance,
|
|
1077
|
+
stateDiff: [
|
|
1078
|
+
...entry.stateDiff ?? []
|
|
1079
|
+
]
|
|
1080
|
+
});
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
return [
|
|
1085
|
+
...byAddress.values()
|
|
1086
|
+
];
|
|
1087
|
+
}
|
|
1088
|
+
/** Compresses a FeeHeader into a uint256 matching FeeHeaderLib.compress() in FeeStructs.sol. */ static compressFeeHeader(feeHeader) {
|
|
1089
|
+
const MASK_48_BITS = (1n << 48n) - 1n;
|
|
1090
|
+
const MASK_64_BITS = (1n << 64n) - 1n;
|
|
1091
|
+
const MASK_63_BITS = (1n << 63n) - 1n;
|
|
1092
|
+
let value = BigInt(feeHeader.manaUsed) & (1n << 32n) - 1n; // bits [0:31]
|
|
1093
|
+
value |= (feeHeader.excessMana < MASK_48_BITS ? feeHeader.excessMana : MASK_48_BITS) << 32n; // bits [32:79]
|
|
1094
|
+
value |= (BigInt(feeHeader.ethPerFeeAsset) & MASK_48_BITS) << 80n; // bits [80:127]
|
|
1095
|
+
value |= (feeHeader.congestionCost < MASK_64_BITS ? feeHeader.congestionCost : MASK_64_BITS) << 128n; // bits [128:191]
|
|
1096
|
+
value |= (feeHeader.proverCost < MASK_63_BITS ? feeHeader.proverCost : MASK_63_BITS) << 192n; // bits [192:254]
|
|
1097
|
+
value |= 1n << 255n; // preheat flag
|
|
1098
|
+
return value;
|
|
1099
|
+
}
|
|
1100
|
+
/** Computes the fee header for a child checkpoint given parent fee header and child data.
|
|
1101
|
+
* Must stay in sync with Solidity FeeLib.sol (computeNewEthPerFeeAsset, clampedAdd). */ static computeChildFeeHeader(parentFeeHeader, childManaUsed, feeAssetPriceModifier, manaTarget) {
|
|
1102
|
+
const MIN_ETH_PER_FEE_ASSET = 100n;
|
|
1103
|
+
const MAX_ETH_PER_FEE_ASSET = 100_000_000_000_000n; // 1e14, matches FeeLib.sol
|
|
1104
|
+
// excessMana = clampedAdd(parent.excessMana + parent.manaUsed, -manaTarget)
|
|
1105
|
+
const sum = parentFeeHeader.excessMana + parentFeeHeader.manaUsed;
|
|
1106
|
+
const excessMana = sum > manaTarget ? sum - manaTarget : 0n;
|
|
1107
|
+
// ethPerFeeAsset = computeNewEthPerFeeAsset(max(parent.ethPerFeeAsset, MIN), modifier)
|
|
1108
|
+
const parentPrice = parentFeeHeader.ethPerFeeAsset > MIN_ETH_PER_FEE_ASSET ? parentFeeHeader.ethPerFeeAsset : MIN_ETH_PER_FEE_ASSET;
|
|
1109
|
+
let newPrice;
|
|
1110
|
+
if (feeAssetPriceModifier >= 0n) {
|
|
1111
|
+
newPrice = parentPrice * (10_000n + feeAssetPriceModifier) / 10_000n;
|
|
1112
|
+
} else {
|
|
1113
|
+
const absMod = -feeAssetPriceModifier;
|
|
1114
|
+
newPrice = parentPrice * (10_000n - absMod) / 10_000n;
|
|
1115
|
+
}
|
|
1116
|
+
if (newPrice < MIN_ETH_PER_FEE_ASSET) {
|
|
1117
|
+
newPrice = MIN_ETH_PER_FEE_ASSET;
|
|
1118
|
+
}
|
|
1119
|
+
if (newPrice > MAX_ETH_PER_FEE_ASSET) {
|
|
1120
|
+
newPrice = MAX_ETH_PER_FEE_ASSET;
|
|
1121
|
+
}
|
|
1122
|
+
return {
|
|
1123
|
+
excessMana,
|
|
1124
|
+
manaUsed: childManaUsed,
|
|
1125
|
+
ethPerFeeAsset: newPrice,
|
|
1126
|
+
congestionCost: 0n,
|
|
1127
|
+
proverCost: 0n
|
|
1128
|
+
};
|
|
1129
|
+
}
|
|
993
1130
|
/** Creates a request to Rollup#invalidateBadAttestation to be simulated or sent */ buildInvalidateBadAttestationRequest(checkpointNumber, attestationsAndSigners, committee, invalidIndex) {
|
|
994
1131
|
return {
|
|
995
1132
|
to: this.address,
|
|
@@ -1031,11 +1168,25 @@ export class RollupContract {
|
|
|
1031
1168
|
prover
|
|
1032
1169
|
]);
|
|
1033
1170
|
}
|
|
1034
|
-
getManaMinFeeAt(timestamp, inFeeAsset) {
|
|
1171
|
+
getManaMinFeeAt(timestamp, inFeeAsset, stateOverride) {
|
|
1035
1172
|
return this.rollup.read.getManaMinFeeAt([
|
|
1036
1173
|
timestamp,
|
|
1037
1174
|
inFeeAsset
|
|
1175
|
+
], {
|
|
1176
|
+
stateOverride
|
|
1177
|
+
});
|
|
1178
|
+
}
|
|
1179
|
+
async getManaMinFeeComponentsAt(timestamp, inFeeAsset) {
|
|
1180
|
+
const result = await this.rollup.read.getManaMinFeeComponentsAt([
|
|
1181
|
+
timestamp,
|
|
1182
|
+
inFeeAsset
|
|
1038
1183
|
]);
|
|
1184
|
+
return {
|
|
1185
|
+
sequencerCost: result.sequencerCost,
|
|
1186
|
+
proverCost: result.proverCost,
|
|
1187
|
+
congestionCost: result.congestionCost,
|
|
1188
|
+
congestionMultiplier: result.congestionMultiplier
|
|
1189
|
+
};
|
|
1039
1190
|
}
|
|
1040
1191
|
async getSlotAt(timestamp) {
|
|
1041
1192
|
return SlotNumber.fromBigInt(await this.rollup.read.getSlotAt([
|
|
@@ -1086,10 +1237,10 @@ export class RollupContract {
|
|
|
1086
1237
|
prover
|
|
1087
1238
|
]);
|
|
1088
1239
|
}
|
|
1089
|
-
async getAttesters() {
|
|
1240
|
+
async getAttesters(timestamp) {
|
|
1090
1241
|
const attesterSize = await this.getActiveAttesterCount();
|
|
1091
1242
|
const gse = new GSEContract(this.client, await this.getGSE());
|
|
1092
|
-
const ts = (await this.client.getBlock()).timestamp;
|
|
1243
|
+
const ts = timestamp ?? (await this.client.getBlock()).timestamp;
|
|
1093
1244
|
const indices = Array.from({
|
|
1094
1245
|
length: attesterSize
|
|
1095
1246
|
}, (_, i)=>BigInt(i));
|
|
@@ -1239,8 +1390,18 @@ export class RollupContract {
|
|
|
1239
1390
|
checkpointNumber: CheckpointNumber.fromBigInt(log.args.checkpointNumber),
|
|
1240
1391
|
archive: Fr.fromString(log.args.archive),
|
|
1241
1392
|
versionedBlobHashes: log.args.versionedBlobHashes.map((h)=>Buffer.from(h.slice(2), 'hex')),
|
|
1242
|
-
attestationsHash:
|
|
1243
|
-
|
|
1393
|
+
attestationsHash: (()=>{
|
|
1394
|
+
if (!log.args.attestationsHash) {
|
|
1395
|
+
throw new Error(`CheckpointProposed event missing attestationsHash for checkpoint ${log.args.checkpointNumber}`);
|
|
1396
|
+
}
|
|
1397
|
+
return Buffer32.fromString(log.args.attestationsHash);
|
|
1398
|
+
})(),
|
|
1399
|
+
payloadDigest: (()=>{
|
|
1400
|
+
if (!log.args.payloadDigest) {
|
|
1401
|
+
throw new Error(`CheckpointProposed event missing payloadDigest for checkpoint ${log.args.checkpointNumber}`);
|
|
1402
|
+
}
|
|
1403
|
+
return Buffer32.fromString(log.args.payloadDigest);
|
|
1404
|
+
})()
|
|
1244
1405
|
}
|
|
1245
1406
|
}));
|
|
1246
1407
|
}
|
|
@@ -5,13 +5,12 @@ import { Buffer32 } from '@aztec/foundation/buffer';
|
|
|
5
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
6
|
import { type Hex, type Log, type TypedDataDefinition } from 'viem';
|
|
7
7
|
/**
|
|
8
|
-
* Wrapper around the
|
|
8
|
+
* Wrapper around the SlashingProposer contract that provides
|
|
9
9
|
* a TypeScript interface for interacting with the consensus-based slashing system.
|
|
10
10
|
*/
|
|
11
|
-
export declare class
|
|
11
|
+
export declare class SlashingProposerContract {
|
|
12
12
|
readonly client: ViemClient;
|
|
13
13
|
private readonly contract;
|
|
14
|
-
readonly type: "tally";
|
|
15
14
|
constructor(client: ViemClient, address: Hex | EthAddress);
|
|
16
15
|
get address(): EthAddress;
|
|
17
16
|
getQuorumSize(): Promise<bigint>;
|
|
@@ -137,4 +136,4 @@ export declare class TallySlashingProposerContract {
|
|
|
137
136
|
* @returns An array of numbers representing the slash votes
|
|
138
137
|
*/
|
|
139
138
|
export declare function decodeSlashConsensusVotes(buffer: Buffer): number[];
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hpbmdfcHJvcG9zZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvc2xhc2hpbmdfcHJvcG9zZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNM0QsT0FBTyxFQUVMLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUNSLEtBQUssbUJBQW1CLEVBR3pCLE1BQU0sTUFBTSxDQUFDO0FBRWQ7OztHQUdHO0FBQ0gscUJBQWEsd0JBQXdCO2FBSWpCLE1BQU0sRUFBRSxVQUFVO0lBSHBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFnRTtJQUV6RixZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFPMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV0QztJQUVNLFlBQVksSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXJDO0lBRU0sZ0JBQWdCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV6QztJQUVNLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFN0M7SUFFTSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTVDO0lBRU0seUJBQXlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVsRDtJQUVNLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxDQUFD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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/slashing_proposer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,19 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
4
4
|
import { Signature } from '@aztec/foundation/eth-signature';
|
|
5
5
|
import { hexToBuffer } from '@aztec/foundation/string';
|
|
6
6
|
import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
|
|
7
|
-
import {
|
|
7
|
+
import { SlashingProposerAbi } from '@aztec/l1-artifacts/SlashingProposerAbi';
|
|
8
8
|
import { encodeFunctionData, getContract } from 'viem';
|
|
9
9
|
/**
|
|
10
|
-
* Wrapper around the
|
|
10
|
+
* Wrapper around the SlashingProposer contract that provides
|
|
11
11
|
* a TypeScript interface for interacting with the consensus-based slashing system.
|
|
12
|
-
*/ export class
|
|
12
|
+
*/ export class SlashingProposerContract {
|
|
13
13
|
client;
|
|
14
14
|
contract;
|
|
15
|
-
type;
|
|
16
15
|
constructor(client, address){
|
|
17
16
|
this.client = client;
|
|
18
|
-
this.type = 'tally';
|
|
19
17
|
this.contract = getContract({
|
|
20
18
|
address: typeof address === 'string' ? address : address.toString(),
|
|
21
|
-
abi:
|
|
19
|
+
abi: SlashingProposerAbi,
|
|
22
20
|
client
|
|
23
21
|
});
|
|
24
22
|
}
|
|
@@ -118,10 +116,10 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
118
116
|
}));
|
|
119
117
|
}
|
|
120
118
|
/** Tries to extract a VoteCast event from the given logs. */ tryExtractVoteCastEvent(logs) {
|
|
121
|
-
return tryExtractEvent(logs, this.address.toString(),
|
|
119
|
+
return tryExtractEvent(logs, this.address.toString(), SlashingProposerAbi, 'VoteCast');
|
|
122
120
|
}
|
|
123
121
|
/** Tries to extract a RoundExecuted event from the given logs. */ tryExtractRoundExecutedEvent(logs) {
|
|
124
|
-
return tryExtractEvent(logs, this.address.toString(),
|
|
122
|
+
return tryExtractEvent(logs, this.address.toString(), SlashingProposerAbi, 'RoundExecuted');
|
|
125
123
|
}
|
|
126
124
|
/**
|
|
127
125
|
* Create a transaction to vote for slashing offenses
|
|
@@ -134,9 +132,9 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
134
132
|
const signature = Signature.fromString(await signer(typedData));
|
|
135
133
|
return {
|
|
136
134
|
to: this.contract.address,
|
|
137
|
-
abi:
|
|
135
|
+
abi: SlashingProposerAbi,
|
|
138
136
|
data: encodeFunctionData({
|
|
139
|
-
abi:
|
|
137
|
+
abi: SlashingProposerAbi,
|
|
140
138
|
functionName: 'vote',
|
|
141
139
|
args: [
|
|
142
140
|
votes,
|
|
@@ -147,7 +145,7 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
147
145
|
}
|
|
148
146
|
/** Returns the typed data definition to EIP712-sign for voting */ buildVoteTypedData(votes, slot) {
|
|
149
147
|
const domain = {
|
|
150
|
-
name: '
|
|
148
|
+
name: 'SlashingProposer',
|
|
151
149
|
version: '1',
|
|
152
150
|
chainId: this.client.chain.id,
|
|
153
151
|
verifyingContract: this.contract.address
|
|
@@ -206,9 +204,9 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
206
204
|
*/ buildVoteRequestWithSignature(votes, signature) {
|
|
207
205
|
return {
|
|
208
206
|
to: this.contract.address,
|
|
209
|
-
abi:
|
|
207
|
+
abi: SlashingProposerAbi,
|
|
210
208
|
data: encodeFunctionData({
|
|
211
|
-
abi:
|
|
209
|
+
abi: SlashingProposerAbi,
|
|
212
210
|
functionName: 'vote',
|
|
213
211
|
args: [
|
|
214
212
|
votes,
|
|
@@ -226,11 +224,11 @@ import { encodeFunctionData, getContract } from 'viem';
|
|
|
226
224
|
return {
|
|
227
225
|
to: this.contract.address,
|
|
228
226
|
abi: mergeAbis([
|
|
229
|
-
|
|
227
|
+
SlashingProposerAbi,
|
|
230
228
|
SlasherAbi
|
|
231
229
|
]),
|
|
232
230
|
data: encodeFunctionData({
|
|
233
|
-
abi:
|
|
231
|
+
abi: SlashingProposerAbi,
|
|
234
232
|
functionName: 'executeRound',
|
|
235
233
|
args: [
|
|
236
234
|
round,
|
|
@@ -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;
|
|
@@ -50,7 +49,6 @@ export declare function computeValidatorData(operator: Operator): ValidatorJson;
|
|
|
50
49
|
export interface RollupUpgradeAddresses {
|
|
51
50
|
rollupAddress: string;
|
|
52
51
|
verifierAddress: string;
|
|
53
|
-
slashFactoryAddress: string;
|
|
54
52
|
inboxAddress: string;
|
|
55
53
|
outboxAddress: string;
|
|
56
54
|
feeJuicePortalAddress: string;
|
|
@@ -62,7 +60,6 @@ export interface RollupUpgradeAddresses {
|
|
|
62
60
|
export interface ForgeRollupUpgradeResult {
|
|
63
61
|
rollupAddress: Hex;
|
|
64
62
|
verifierAddress: Hex;
|
|
65
|
-
slashFactoryAddress: Hex;
|
|
66
63
|
inboxAddress: Hex;
|
|
67
64
|
outboxAddress: Hex;
|
|
68
65
|
feeJuicePortalAddress: Hex;
|
|
@@ -156,7 +153,7 @@ export type VerificationRecord = {
|
|
|
156
153
|
constructorArgsHex: Hex;
|
|
157
154
|
libraries: VerificationLibraryEntry[];
|
|
158
155
|
};
|
|
159
|
-
export interface DeployAztecL1ContractsArgs extends Omit<L1ContractsConfig,
|
|
156
|
+
export interface DeployAztecL1ContractsArgs extends Omit<L1ContractsConfig, 'gasLimitBufferPercentage' | 'maxGwei' | 'maxBlobGwei' | 'priorityFeeBumpPercentage' | 'priorityFeeRetryBumpPercentage' | 'minimumPriorityFeePerGas' | 'maxSpeedUpAttempts' | 'checkIntervalMs' | 'stallTimeMs' | 'txTimeoutMs' | 'cancelTxOnTimeout' | 'txCancellationFinalTimeoutMs' | 'txUnseenConsideredDroppedMs' | 'enableDelayer' | 'txDelayerMaxInclusionTimeIntoSlot'> {
|
|
160
157
|
/** The vk tree root. */
|
|
161
158
|
vkTreeRoot: Fr;
|
|
162
159
|
/** The hash of the protocol contracts. */
|
|
@@ -211,7 +208,7 @@ export declare function getDeployAztecL1ContractsEnvVars(args: DeployAztecL1Cont
|
|
|
211
208
|
readonly AZTEC_EXIT_DELAY_SECONDS: string;
|
|
212
209
|
readonly AZTEC_PROVING_COST_PER_MANA: string;
|
|
213
210
|
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: string;
|
|
214
|
-
readonly
|
|
211
|
+
readonly AZTEC_SLASHER_ENABLED: "false" | "true";
|
|
215
212
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: string;
|
|
216
213
|
readonly AZTEC_SLASHING_QUORUM: string | undefined;
|
|
217
214
|
readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: string;
|
|
@@ -242,7 +239,7 @@ export declare function getDeployRollupForUpgradeEnvVars(args: Omit<DeployAztecL
|
|
|
242
239
|
readonly AZTEC_EXIT_DELAY_SECONDS: string;
|
|
243
240
|
readonly AZTEC_PROVING_COST_PER_MANA: string;
|
|
244
241
|
readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: string;
|
|
245
|
-
readonly
|
|
242
|
+
readonly AZTEC_SLASHER_ENABLED: "false" | "true";
|
|
246
243
|
readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: string;
|
|
247
244
|
readonly AZTEC_SLASHING_QUORUM: string | undefined;
|
|
248
245
|
readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: string;
|
|
@@ -255,6 +252,5 @@ export declare function getDeployRollupForUpgradeEnvVars(args: Omit<DeployAztecL
|
|
|
255
252
|
*/
|
|
256
253
|
export declare const deployRollupForUpgrade: (privateKey: `0x${string}`, rpcUrl: string, chainId: number, registryAddress: EthAddress, args: Omit<DeployAztecL1ContractsArgs, "activationThreshold" | "ejectionThreshold" | "governanceProposerQuorum" | "governanceProposerRoundSize" | "zkPassportArgs">) => Promise<{
|
|
257
254
|
rollup: RollupContract;
|
|
258
|
-
slashFactoryAddress: `0x${string}`;
|
|
259
255
|
}>;
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2F6dGVjX2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9henRlY19sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJM0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQyxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUErRTNELE1BQU0sV0FBVyxXQUFXO0lBQzFCLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNLENBQUM7Q0FDWjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxhQUFhO0lBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsYUFBYSxFQUFFLFdBQVcsQ0FBQztDQUM1QjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isa0JBQWtCLElBQUks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
|