Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions script/constants/GIndices.sol
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ pragma solidity 0.8.33;

import { GIndex } from "../../src/lib/GIndex.sol";

// Check using `yarn run gindex`
library GIndices {
GIndex constant FIRST_WITHDRAWAL_ELECTRA =
GIndex.wrap(0x000000000000000000000000000000000000000000000000000000000161c004);
GIndex constant FIRST_VALIDATOR_ELECTRA =
GIndex.wrap(0x0000000000000000000000000000000000000000000000000096000000000028);
GIndex constant FIRST_HISTORICAL_SUMMARY_ELECTRA =
GIndex.wrap(0x000000000000000000000000000000000000000000000000000000b600000018);
GIndex constant FIRST_BALANCE_NODE_ELECTRA =
GIndex.wrap(0x0000000000000000000000000000000000000000000000000026000000000028);
GIndex public constant WITHDRAWALS_ELECTRA = GIndex.wrap(0xb0e);
GIndex public constant VALIDATORS_ELECTRA = GIndex.wrap(0x4b);
GIndex public constant HISTORICAL_SUMMARIES_ELECTRA = GIndex.wrap(0x5b);
GIndex public constant BALANCES_ELECTRA = GIndex.wrap(0x4c);
GIndex public constant BLOCK_ROOTS_ELECTRA = GIndex.wrap(0x45);

GIndex public constant WITHDRAWALS_GLOAS = GIndex.wrap(0xb97);
GIndex public constant VALIDATORS_GLOAS = GIndex.wrap(0x166);
GIndex public constant HISTORICAL_SUMMARIES_GLOAS = GIndex.wrap(0xb86);
GIndex public constant BALANCES_GLOAS = GIndex.wrap(0x167);
GIndex public constant BLOCK_ROOTS_GLOAS = GIndex.wrap(0x160);
}
28 changes: 15 additions & 13 deletions script/csm/DeployBase.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import { VettedGate } from "../../src/VettedGate.sol";
import { ParametersRegistry } from "../../src/ParametersRegistry.sol";

import { ILidoLocator } from "../../src/interfaces/ILidoLocator.sol";
import { ICircuitBreaker } from "../../src/interfaces/ICircuitBreaker.sol";
import { BaseOracle } from "../../src/lib/base-oracle/BaseOracle.sol";
import { IParametersRegistry } from "../../src/interfaces/IParametersRegistry.sol";
import { IBondCurve } from "../../src/interfaces/IBondCurve.sol";
Expand Down Expand Up @@ -49,10 +48,11 @@ struct DeployParams {
address[] oracleMembers;
uint256 hashConsensusQuorum;
// Verifier
GIndex gIFirstWithdrawal;
GIndex gIFirstValidator;
GIndex gIFirstHistoricalSummary;
GIndex gIFirstBalanceNode;
GIndex gIWithdrawals;
GIndex gIValidators;
GIndex gIHistoricalSummaries;
GIndex gIBalances;
GIndex gIBlockRoots;
uint256 verifierFirstSupportedSlot;
uint256 capellaSlot;
uint256 minWithdrawalRatio;
Expand Down Expand Up @@ -257,14 +257,16 @@ abstract contract DeployBase is Script {
module: address(csm),
slotsPerEpoch: uint64(config.slotsPerEpoch),
gindices: IVerifier.GIndices({
gIFirstWithdrawalPrev: config.gIFirstWithdrawal,
gIFirstWithdrawalCurr: config.gIFirstWithdrawal,
gIFirstValidatorPrev: config.gIFirstValidator,
gIFirstValidatorCurr: config.gIFirstValidator,
gIFirstHistoricalSummaryPrev: config.gIFirstHistoricalSummary,
gIFirstHistoricalSummaryCurr: config.gIFirstHistoricalSummary,
gIFirstBalanceNodePrev: config.gIFirstBalanceNode,
gIFirstBalanceNodeCurr: config.gIFirstBalanceNode
gIWithdrawalsPreGloas: config.gIWithdrawals,
gIWithdrawals: config.gIWithdrawals,
gIValidatorsPreGloas: config.gIValidators,
gIValidators: config.gIValidators,
gIHistoricalSummariesPreGloas: config.gIHistoricalSummaries,
gIHistoricalSummaries: config.gIHistoricalSummaries,
gIBalancesPreGloas: config.gIBalances,
gIBalances: config.gIBalances,
gIBlockRootsPreGloas: config.gIBlockRoots,
gIBlockRoots: config.gIBlockRoots
}),
firstSupportedSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
pivotSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
Expand Down
18 changes: 10 additions & 8 deletions script/csm/DeployCSMImplementationsBase.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,16 @@ abstract contract DeployCSMImplementationsBase is DeployBase {
module: address(csm),
slotsPerEpoch: uint64(config.slotsPerEpoch),
gindices: IVerifier.GIndices({
gIFirstWithdrawalPrev: config.gIFirstWithdrawal,
gIFirstWithdrawalCurr: config.gIFirstWithdrawal,
gIFirstValidatorPrev: config.gIFirstValidator,
gIFirstValidatorCurr: config.gIFirstValidator,
gIFirstHistoricalSummaryPrev: config.gIFirstHistoricalSummary,
gIFirstHistoricalSummaryCurr: config.gIFirstHistoricalSummary,
gIFirstBalanceNodePrev: config.gIFirstBalanceNode,
gIFirstBalanceNodeCurr: config.gIFirstBalanceNode
gIWithdrawalsPreGloas: config.gIWithdrawals,
gIWithdrawals: config.gIWithdrawals,
gIValidatorsPreGloas: config.gIValidators,
gIValidators: config.gIValidators,
gIHistoricalSummariesPreGloas: config.gIHistoricalSummaries,
gIHistoricalSummaries: config.gIHistoricalSummaries,
gIBalancesPreGloas: config.gIBalances,
gIBalances: config.gIBalances,
gIBlockRootsPreGloas: config.gIBlockRoots,
gIBlockRoots: config.gIBlockRoots
}),
firstSupportedSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
pivotSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
Expand Down
9 changes: 5 additions & 4 deletions script/csm/DeployHoodi.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ contract DeployHoodi is DeployBase {
config.hashConsensusQuorum = 7;

// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = 2048 * config.slotsPerEpoch; // @see https://github.com/eth-clients/hoodi/blob/main/metadata/config.yaml#L41
config.capellaSlot = 0; // @see https://github.com/eth-clients/hoodi/blob/main/metadata/config.yaml#L33
config.minWithdrawalRatio = 9900;
Expand Down
9 changes: 5 additions & 4 deletions script/csm/DeployLocalDevNet.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ contract DeployLocalDevNet is DeployBase {
config.oracleMembers[2] = vm.envAddress("CSM_ORACLE_3_ADDRESS");
config.hashConsensusQuorum = 2;
// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = vm.envUint("DEVNET_ELECTRA_EPOCH") * config.slotsPerEpoch;
config.capellaSlot = vm.envUint("DEVNET_CAPELLA_EPOCH") * config.slotsPerEpoch;
config.minWithdrawalRatio = 9900;
Expand Down
9 changes: 5 additions & 4 deletions script/csm/DeployMainnet.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ contract DeployMainnet is DeployBase {
config.hashConsensusQuorum = 5;

// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = 364032 * config.slotsPerEpoch; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7600.md#activation
config.capellaSlot = 194048 * config.slotsPerEpoch; // @see https://github.com/eth-clients/mainnet/blob/main/metadata/config.yaml#L50
config.minWithdrawalRatio = 9900;
Expand Down
28 changes: 15 additions & 13 deletions script/csm0x02/DeployCSM0x02Base.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import { PermissionlessGate } from "../../src/PermissionlessGate.sol";
import { ParametersRegistry } from "../../src/ParametersRegistry.sol";

import { ILidoLocator } from "../../src/interfaces/ILidoLocator.sol";
import { ICircuitBreaker } from "../../src/interfaces/ICircuitBreaker.sol";
import { BaseOracle } from "../../src/lib/base-oracle/BaseOracle.sol";
import { IParametersRegistry } from "../../src/interfaces/IParametersRegistry.sol";
import { IBondCurve } from "../../src/interfaces/IBondCurve.sol";
Expand Down Expand Up @@ -47,10 +46,11 @@ struct DeployCSM0x02Params {
address[] oracleMembers;
uint256 hashConsensusQuorum;
// Verifier
GIndex gIFirstWithdrawal;
GIndex gIFirstValidator;
GIndex gIFirstHistoricalSummary;
GIndex gIFirstBalanceNode;
GIndex gIWithdrawals;
GIndex gIValidators;
GIndex gIHistoricalSummaries;
GIndex gIBalances;
GIndex gIBlockRoots;
uint256 verifierFirstSupportedSlot;
uint256 capellaSlot;
uint256 minWithdrawalRatio;
Expand Down Expand Up @@ -214,14 +214,16 @@ abstract contract DeployCSM0x02Base is Script {
module: address(csm),
slotsPerEpoch: uint64(config.slotsPerEpoch),
gindices: IVerifier.GIndices({
gIFirstWithdrawalPrev: config.gIFirstWithdrawal,
gIFirstWithdrawalCurr: config.gIFirstWithdrawal,
gIFirstValidatorPrev: config.gIFirstValidator,
gIFirstValidatorCurr: config.gIFirstValidator,
gIFirstHistoricalSummaryPrev: config.gIFirstHistoricalSummary,
gIFirstHistoricalSummaryCurr: config.gIFirstHistoricalSummary,
gIFirstBalanceNodePrev: config.gIFirstBalanceNode,
gIFirstBalanceNodeCurr: config.gIFirstBalanceNode
gIWithdrawalsPreGloas: config.gIWithdrawals,
gIWithdrawals: config.gIWithdrawals,
gIValidatorsPreGloas: config.gIValidators,
gIValidators: config.gIValidators,
gIHistoricalSummariesPreGloas: config.gIHistoricalSummaries,
gIHistoricalSummaries: config.gIHistoricalSummaries,
gIBalancesPreGloas: config.gIBalances,
gIBalances: config.gIBalances,
gIBlockRootsPreGloas: config.gIBlockRoots,
gIBlockRoots: config.gIBlockRoots
}),
firstSupportedSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
pivotSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
Expand Down
9 changes: 5 additions & 4 deletions script/csm0x02/DeployCSM0x02Hoodi.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ contract DeployCSM0x02Hoodi is DeployCSM0x02Base {
config.hashConsensusQuorum = 7;

// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = 2048 * config.slotsPerEpoch; // @see https://github.com/eth-clients/hoodi/blob/main/metadata/config.yaml#L41
config.capellaSlot = 0; // @see https://github.com/eth-clients/hoodi/blob/main/metadata/config.yaml#L33
config.minWithdrawalRatio = 9900;
Expand Down
9 changes: 5 additions & 4 deletions script/csm0x02/DeployCSM0x02LocalDevNet.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ contract DeployCSM0x02LocalDevNet is DeployCSM0x02Base {
config.oracleMembers[2] = vm.envAddress("CSM_ORACLE_3_ADDRESS");
config.hashConsensusQuorum = 2;
// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = vm.envUint("DEVNET_ELECTRA_EPOCH") * config.slotsPerEpoch;
config.capellaSlot = vm.envUint("DEVNET_CAPELLA_EPOCH") * config.slotsPerEpoch;
config.minWithdrawalRatio = 9900;
Expand Down
9 changes: 5 additions & 4 deletions script/csm0x02/DeployCSM0x02Mainnet.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,11 @@ contract DeployCSM0x02Mainnet is DeployCSM0x02Base {
config.hashConsensusQuorum = 5;

// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = 364032 * config.slotsPerEpoch; // https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7600.md#activation
config.capellaSlot = 194048 * config.slotsPerEpoch; // @see https://github.com/eth-clients/mainnet/blob/main/metadata/config.yaml#L50
config.minWithdrawalRatio = 9900;
Expand Down
30 changes: 17 additions & 13 deletions script/curated/DeployBase.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import { CuratedGate } from "../../src/CuratedGate.sol";
import { MerkleGateFactory } from "../../src/MerkleGateFactory.sol";

import { ILidoLocator } from "../../src/interfaces/ILidoLocator.sol";
import { ICircuitBreaker } from "../../src/interfaces/ICircuitBreaker.sol";
import { BaseOracle } from "../../src/lib/base-oracle/BaseOracle.sol";
import { IVerifier } from "../../src/interfaces/IVerifier.sol";
import { IParametersRegistry } from "../../src/interfaces/IParametersRegistry.sol";
Expand Down Expand Up @@ -74,10 +73,11 @@ struct CuratedDeployParams {
address[] oracleMembers;
uint256 hashConsensusQuorum;
// Verifier
GIndex gIFirstWithdrawal;
GIndex gIFirstValidator;
GIndex gIFirstHistoricalSummary;
GIndex gIFirstBalanceNode;
GIndex gIWithdrawals;
GIndex gIValidators;
GIndex gIHistoricalSummaries;
GIndex gIBalances;
GIndex gIBlockRoots;
uint256 verifierFirstSupportedSlot;
uint256 capellaSlot;
uint256 minWithdrawalRatio;
Expand Down Expand Up @@ -155,6 +155,8 @@ abstract contract DeployBase is Script {
error InvalidInput(string reason);

function _m(uint256 v) internal pure returns (IParametersRegistry.MarkedUint248 memory) {
// Deploy-config inputs fit in uint248 by construction; the narrowing is intentional.
// forge-lint: disable-next-line(unsafe-typecast)
return IParametersRegistry.MarkedUint248({ value: uint248(v), isValue: true });
}

Expand Down Expand Up @@ -251,14 +253,16 @@ abstract contract DeployBase is Script {
module: address(curatedModule),
slotsPerEpoch: uint64(config.slotsPerEpoch),
gindices: IVerifier.GIndices({
gIFirstWithdrawalPrev: config.gIFirstWithdrawal,
gIFirstWithdrawalCurr: config.gIFirstWithdrawal,
gIFirstValidatorPrev: config.gIFirstValidator,
gIFirstValidatorCurr: config.gIFirstValidator,
gIFirstHistoricalSummaryPrev: config.gIFirstHistoricalSummary,
gIFirstHistoricalSummaryCurr: config.gIFirstHistoricalSummary,
gIFirstBalanceNodePrev: config.gIFirstBalanceNode,
gIFirstBalanceNodeCurr: config.gIFirstBalanceNode
gIWithdrawalsPreGloas: config.gIWithdrawals,
gIWithdrawals: config.gIWithdrawals,
gIValidatorsPreGloas: config.gIValidators,
gIValidators: config.gIValidators,
gIHistoricalSummariesPreGloas: config.gIHistoricalSummaries,
gIHistoricalSummaries: config.gIHistoricalSummaries,
gIBalancesPreGloas: config.gIBalances,
gIBalances: config.gIBalances,
gIBlockRootsPreGloas: config.gIBlockRoots,
gIBlockRoots: config.gIBlockRoots
}),
firstSupportedSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
pivotSlot: Slot.wrap(uint64(config.verifierFirstSupportedSlot)),
Expand Down
9 changes: 5 additions & 4 deletions script/curated/DeployHoodi.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,11 @@ contract DeployHoodi is DeployBase {
config.hashConsensusQuorum = 7;

// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIFirstBalanceNode = GIndices.FIRST_BALANCE_NODE_ELECTRA;
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.gIBalances = GIndices.BALANCES_ELECTRA;
config.gIBlockRoots = GIndices.BLOCK_ROOTS_ELECTRA;
config.verifierFirstSupportedSlot = 2048 * config.slotsPerEpoch; // @see https://github.com/eth-clients/hoodi/blob/main/metadata/config.yaml#L41
config.capellaSlot = 0; // @see https://github.com/eth-clients/hoodi/blob/main/metadata/config.yaml#L33
config.minWithdrawalRatio = 9950;
Expand Down
6 changes: 3 additions & 3 deletions script/curated/DeployLocalDevNet.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ contract DeployLocalDevNet is DeployBase {
config.hashConsensusQuorum = 2;

// Verifier
config.gIFirstWithdrawal = GIndices.FIRST_WITHDRAWAL_ELECTRA;
config.gIFirstValidator = GIndices.FIRST_VALIDATOR_ELECTRA;
config.gIFirstHistoricalSummary = GIndices.FIRST_HISTORICAL_SUMMARY_ELECTRA; // prettier-ignore
config.gIWithdrawals = GIndices.WITHDRAWALS_ELECTRA;
config.gIValidators = GIndices.VALIDATORS_ELECTRA;
config.gIHistoricalSummaries = GIndices.HISTORICAL_SUMMARIES_ELECTRA; // prettier-ignore
config.verifierFirstSupportedSlot = vm.envUint("DEVNET_ELECTRA_EPOCH") * config.slotsPerEpoch;
config.capellaSlot = vm.envUint("DEVNET_CAPELLA_EPOCH") * config.slotsPerEpoch;
config.minWithdrawalRatio = 9950;
Expand Down
Loading
Loading