Skip to content
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
0f77ce5
feat: fee splitter system (#469)
funkornaut001 Sep 16, 2025
f9dae26
Merge branch 'develop' into chore/sync-fee-splitter-system
0xDiscotech Sep 16, 2025
652c4cc
Merge pull request #548 from defi-wonderland/chore/sync-fee-splitter-…
0xDiscotech Sep 16, 2025
024a674
fix: failing tests (#553)
0xDiscotech Sep 17, 2025
15362af
refactor: revenue sharing config (#538)
0xiamflux Sep 17, 2025
e43355a
fix: pre pr and semgrep (#565)
0xDiscotech Sep 18, 2025
838f05a
Merge branch 'develop' into chore/sync-last-develop
0xDiscotech Sep 18, 2025
a191a04
Merge pull request #568 from defi-wonderland/chore/sync-last-develop
0xDiscotech Sep 18, 2025
f67aa60
fix: warnings (#571)
0xDiscotech Sep 18, 2025
c389bee
fix: tests failing on fork environment (#575)
0xDiscotech Sep 18, 2025
09fda20
fix: use encode call on constructors (#578)
0xDiscotech Sep 19, 2025
99d63e4
Merge branch 'develop' into chore/last-splitter-sync
0xDiscotech Sep 19, 2025
2157a49
Merge pull request #579 from defi-wonderland/chore/last-splitter-sync
0xDiscotech Sep 19, 2025
5c1de6d
feat: add integration splitter test (#581)
0xDiscotech Sep 19, 2025
a316cc2
fix: integration test nits (#583)
0xDiscotech Sep 19, 2025
7234e26
test: more coverage on splitter tests (#594)
0xDiscotech Sep 23, 2025
014893e
Merge branch 'develop' into chore/new-splitter-sync
0xDiscotech Sep 23, 2025
069e7f6
Merge pull request #598 from defi-wonderland/chore/new-splitter-sync
0xDiscotech Sep 23, 2025
c7202f2
fix: add missing operator fee vault field (#616)
0xDiscotech Sep 25, 2025
5a0d229
feat: invariants and tests (#595)
simon-something Sep 26, 2025
7ced544
fix: ir informationals (#609)
0xDiscotech Sep 29, 2025
ee3f61a
Merge branch 'develop' into chore/sync-post-ir
0xDiscotech Sep 29, 2025
d372097
Merge pull request #621 from defi-wonderland/chore/sync-post-ir
0xDiscotech Sep 29, 2025
ad39f98
fix: pre pr (#622)
0xDiscotech Sep 29, 2025
ac080bb
refactor: use cdm (#624)
0xDiscotech Oct 3, 2025
4957177
Merge branch 'develop' into chore/sync-last
0xDiscotech Oct 3, 2025
7ef7edc
Merge pull request #626 from defi-wonderland/chore/sync-last
0xDiscotech Oct 3, 2025
7077e3d
fix: update withdrawal gas limit value on check (#627)
0xDiscotech Oct 3, 2025
799f92f
fix: remove rev share field from deploy op chain input struct (#628)
0xDiscotech Oct 3, 2025
2dd951a
refactor: remove initializer and vaults getter changes (#631)
0xDiscotech Oct 13, 2025
989afa8
fix: remove immutable check over vaults (#634)
0xDiscotech Oct 13, 2025
113e1be
Merge branch 'develop' into chore/sync-splitter
0xDiscotech Oct 22, 2025
a644f7e
Merge pull request #643 from defi-wonderland/chore/sync-splitter
0xDiscotech Oct 22, 2025
f392d4b
fix: audit findings (#658)
0xDiscotech Oct 29, 2025
2ddc709
Merge branch 'develop' into chore/sync-post-audit
0xDiscotech Oct 29, 2025
f1fcd96
fix: pre pr
0xDiscotech Oct 29, 2025
5e22355
Merge pull request #659 from defi-wonderland/chore/sync-post-audit
0xDiscotech Oct 30, 2025
e066e77
Merge branch 'develop' into chore/post-audit-sync
0xDiscotech Nov 3, 2025
4551449
Merge pull request #664 from defi-wonderland/chore/post-audit-sync
0xDiscotech Nov 3, 2025
e8455ce
feat: add user guide docs for rev sharing on op deployer (#666)
0xDiscotech Nov 4, 2025
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
4 changes: 4 additions & 0 deletions op-chain-ops/devkeys/devkeys.go
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ const (
SequencerFeeVaultRecipientRole ChainOperatorRole = 9
// SystemConfigOwner is the key that can make SystemConfig changes.
SystemConfigOwner ChainOperatorRole = 10
// OperatorFeeVaultRecipientRole is the key that receives from the OperatorFeeVault predeploy
OperatorFeeVaultRecipientRole ChainOperatorRole = 11
)

func (role ChainOperatorRole) String() string {
Expand All @@ -182,6 +184,8 @@ func (role ChainOperatorRole) String() string {
return "l1-fee-vault-recipient"
case SequencerFeeVaultRecipientRole:
return "sequencer-fee-vault-recipient"
case OperatorFeeVaultRecipientRole:
return "operator-fee-vault-recipient"
case SystemConfigOwner:
return "system-config-owner"
default:
Expand Down
29 changes: 29 additions & 0 deletions op-chain-ops/genesis/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,22 @@ type DevDeployConfig struct {
FundDevAccounts bool `json:"fundDevAccounts"`
}

type RevenueShareDeployConfig struct {
UseRevenueShare bool `json:"useRevenueShare"`
ChainFeesRecipient common.Address `json:"chainFeesRecipient"`
}

var _ ConfigChecker = (*RevenueShareDeployConfig)(nil)

func (d *RevenueShareDeployConfig) Check(log log.Logger) error {
if d.UseRevenueShare {
if d.ChainFeesRecipient == (common.Address{}) {
return fmt.Errorf("%w: ChainFeesRecipient cannot be address(0)", ErrInvalidDeployConfig)
}
}
return nil
}

type L2GenesisBlockDeployConfig struct {
L2GenesisBlockNonce hexutil.Uint64 `json:"l2GenesisBlockNonce"`
L2GenesisBlockGasLimit hexutil.Uint64 `json:"l2GenesisBlockGasLimit"`
Expand Down Expand Up @@ -149,18 +165,24 @@ type L2VaultsDeployConfig struct {
// SequencerFeeVaultRecipient represents the recipient of fees accumulated in the SequencerFeeVault.
// Can be an account on L1 or L2, depending on the SequencerFeeVaultWithdrawalNetwork value.
SequencerFeeVaultRecipient common.Address `json:"sequencerFeeVaultRecipient"`
// OperatorFeeVaultRecipient represents the recipient of fees accumulated in the OperatorFeeVault.
OperatorFeeVaultRecipient common.Address `json:"operatorFeeVaultRecipient"`
// BaseFeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the BaseFeeVault.
BaseFeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"baseFeeVaultMinimumWithdrawalAmount"`
// L1FeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the L1FeeVault.
L1FeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"l1FeeVaultMinimumWithdrawalAmount"`
// SequencerFeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the SequencerFeeVault.
SequencerFeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"sequencerFeeVaultMinimumWithdrawalAmount"`
// OperatorFeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the OperatorFeeVault.
OperatorFeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"operatorFeeVaultMinimumWithdrawalAmount"`
// BaseFeeVaultWithdrawalNetwork represents the withdrawal network for the BaseFeeVault.
BaseFeeVaultWithdrawalNetwork WithdrawalNetwork `json:"baseFeeVaultWithdrawalNetwork"`
// L1FeeVaultWithdrawalNetwork represents the withdrawal network for the L1FeeVault.
L1FeeVaultWithdrawalNetwork WithdrawalNetwork `json:"l1FeeVaultWithdrawalNetwork"`
// SequencerFeeVaultWithdrawalNetwork represents the withdrawal network for the SequencerFeeVault.
SequencerFeeVaultWithdrawalNetwork WithdrawalNetwork `json:"sequencerFeeVaultWithdrawalNetwork"`
// OperatorFeeVaultWithdrawalNetwork represents the withdrawal network for the OperatorFeeVault.
OperatorFeeVaultWithdrawalNetwork WithdrawalNetwork `json:"operatorFeeVaultWithdrawalNetwork"`
}

var _ ConfigChecker = (*L2VaultsDeployConfig)(nil)
Expand All @@ -175,6 +197,9 @@ func (d *L2VaultsDeployConfig) Check(log log.Logger) error {
if d.SequencerFeeVaultRecipient == (common.Address{}) {
return fmt.Errorf("%w: SequencerFeeVaultRecipient cannot be address(0)", ErrInvalidDeployConfig)
}
if d.OperatorFeeVaultRecipient == (common.Address{}) {
return fmt.Errorf("%w: OperatorFeeVaultRecipient cannot be address(0)", ErrInvalidDeployConfig)
}
if !d.BaseFeeVaultWithdrawalNetwork.Valid() {
return fmt.Errorf("%w: BaseFeeVaultWithdrawalNetwork can only be 0 (L1) or 1 (L2)", ErrInvalidDeployConfig)
}
Expand All @@ -184,6 +209,9 @@ func (d *L2VaultsDeployConfig) Check(log log.Logger) error {
if !d.SequencerFeeVaultWithdrawalNetwork.Valid() {
return fmt.Errorf("%w: SequencerFeeVaultWithdrawalNetwork can only be 0 (L1) or 1 (L2)", ErrInvalidDeployConfig)
}
if !d.OperatorFeeVaultWithdrawalNetwork.Valid() {
return fmt.Errorf("%w: OperatorFeeVaultWithdrawalNetwork can only be 0 (L1) or 1 (L2)", ErrInvalidDeployConfig)
}
return nil
}

Expand Down Expand Up @@ -718,6 +746,7 @@ type L2InitializationConfig struct {
UpgradeScheduleDeployConfig
L2CoreDeployConfig
AltDADeployConfig
RevenueShareDeployConfig
}

func (d *L2InitializationConfig) Check(log log.Logger) error {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,15 @@
"baseFeeVaultRecipient": "0x42000000000000000000000000000000000000f5",
"l1FeeVaultRecipient": "0x42000000000000000000000000000000000000f6",
"sequencerFeeVaultRecipient": "0x42000000000000000000000000000000000000f7",
"operatorFeeVaultRecipient": "0x4200000000000000000000000000000000000063",
"baseFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"l1FeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"sequencerFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"operatorFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"baseFeeVaultWithdrawalNetwork": 0,
"l1FeeVaultWithdrawalNetwork": 1,
"sequencerFeeVaultWithdrawalNetwork": 1,
"operatorFeeVaultWithdrawalNetwork": 1,
"l1StandardBridgeProxy": "0x42000000000000000000000000000000000000f8",
"l1CrossDomainMessengerProxy": "0x42000000000000000000000000000000000000f9",
"l1ERC721BridgeProxy": "0x4200000000000000000000000000000000000060",
Expand Down Expand Up @@ -92,5 +95,7 @@
"daChallengeProxy": "0x0000000000000000000000000000000000000000",
"daChallengeWindow": 0,
"daResolveWindow": 0,
"daResolverRefundPercentage": 0
"daResolverRefundPercentage": 0,
"useRevenueShare": true,
"chainFeesRecipient": "0x0000000000000000000000000000000000000444"
}
8 changes: 8 additions & 0 deletions op-chain-ops/interopgen/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"github.com/ethereum-optimism/optimism/op-chain-ops/script"
"github.com/ethereum-optimism/optimism/op-deployer/pkg/deployer/manage"
"github.com/ethereum-optimism/optimism/op-deployer/pkg/deployer/opcm"
"github.com/ethereum-optimism/optimism/op-deployer/pkg/deployer/standard"
"github.com/ethereum-optimism/optimism/op-service/eth"
)

Expand Down Expand Up @@ -247,6 +248,7 @@ func DeployL2ToL1(l1Host *script.Host, superCfg *SuperchainConfig, superDeployme
AllowCustomDisputeParameters: true,
OperatorFeeScalar: cfg.GasPriceOracleOperatorFeeScalar,
OperatorFeeConstant: cfg.GasPriceOracleOperatorFeeConstant,
UseRevenueShare: cfg.UseRevenueShare,
})
if err != nil {
return nil, fmt.Errorf("failed to deploy L2 OP chain: %w", err)
Expand Down Expand Up @@ -324,11 +326,17 @@ func GenesisL2(l2Host *script.Host, cfg *L2Config, deployment *L2Deployment, mul
L1FeeVaultRecipient: cfg.L1FeeVaultRecipient,
L1FeeVaultMinimumWithdrawalAmount: cfg.L1FeeVaultMinimumWithdrawalAmount.ToInt(),
L1FeeVaultWithdrawalNetwork: big.NewInt(int64(cfg.L1FeeVaultWithdrawalNetwork.ToUint8())),
OperatorFeeVaultRecipient: cfg.OperatorFeeVaultRecipient,
OperatorFeeVaultMinimumWithdrawalAmount: cfg.OperatorFeeVaultMinimumWithdrawalAmount.ToInt(),
OperatorFeeVaultWithdrawalNetwork: big.NewInt(int64(cfg.OperatorFeeVaultWithdrawalNetwork.ToUint8())),
GovernanceTokenOwner: cfg.GovernanceTokenOwner,
Fork: big.NewInt(cfg.SolidityForkNumber(1)),
DeployCrossL2Inbox: multichainDepSet,
EnableGovernance: cfg.EnableGovernance,
FundDevAccounts: cfg.FundDevAccounts,
UseRevenueShare: cfg.UseRevenueShare,
ChainFeesRecipient: cfg.ChainFeesRecipient,
L1FeesDepositor: standard.L1FeesDepositor,
}); err != nil {
return fmt.Errorf("failed L2 genesis: %w", err)
}
Expand Down
11 changes: 11 additions & 0 deletions op-chain-ops/interopgen/recipe.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,10 @@ func (r *InteropDevL2Recipe) build(l1ChainID uint64, addrs devkeys.Addresses) (*
if err != nil {
return nil, err
}
operatorFeeVaultRecipient, err := addrs.Address(chainOps(devkeys.OperatorFeeVaultRecipientRole))
if err != nil {
return nil, err
}
sequencerP2P, err := addrs.Address(chainOps(devkeys.SequencerP2PRole))
if err != nil {
return nil, err
Expand Down Expand Up @@ -228,12 +232,15 @@ func (r *InteropDevL2Recipe) build(l1ChainID uint64, addrs devkeys.Addresses) (*
BaseFeeVaultRecipient: baseFeeVaultRecipient,
L1FeeVaultRecipient: l1FeeVaultRecipient,
SequencerFeeVaultRecipient: sequencerFeeVaultRecipient,
OperatorFeeVaultRecipient: operatorFeeVaultRecipient,
BaseFeeVaultMinimumWithdrawalAmount: (*hexutil.Big)(Ether(10)),
L1FeeVaultMinimumWithdrawalAmount: (*hexutil.Big)(Ether(10)),
SequencerFeeVaultMinimumWithdrawalAmount: (*hexutil.Big)(Ether(10)),
OperatorFeeVaultMinimumWithdrawalAmount: (*hexutil.Big)(Ether(10)),
BaseFeeVaultWithdrawalNetwork: "remote",
L1FeeVaultWithdrawalNetwork: "remote",
SequencerFeeVaultWithdrawalNetwork: "remote",
OperatorFeeVaultWithdrawalNetwork: "remote",
},
GovernanceDeployConfig: genesis.GovernanceDeployConfig{
EnableGovernance: false,
Expand Down Expand Up @@ -282,6 +289,10 @@ func (r *InteropDevL2Recipe) build(l1ChainID uint64, addrs devkeys.Addresses) (*
AltDADeployConfig: genesis.AltDADeployConfig{
UseAltDA: false,
},
RevenueShareDeployConfig: genesis.RevenueShareDeployConfig{
UseRevenueShare: false,
ChainFeesRecipient: common.Address{},
},
},
Prefund: make(map[common.Address]*big.Int),
SaltMixer: "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ func TestCLIEndToEndApply(t *testing.T) {
chain.BaseFeeVaultRecipient = shared.AddrFor(t, dk, devkeys.BaseFeeVaultRecipientRole.Key(l1ChainIDBig))
chain.L1FeeVaultRecipient = shared.AddrFor(t, dk, devkeys.L1FeeVaultRecipientRole.Key(l1ChainIDBig))
chain.SequencerFeeVaultRecipient = shared.AddrFor(t, dk, devkeys.SequencerFeeVaultRecipientRole.Key(l1ChainIDBig))
chain.OperatorFeeVaultRecipient = shared.AddrFor(t, dk, devkeys.OperatorFeeVaultRecipientRole.Key(l1ChainIDBig))

chain.Eip1559DenominatorCanyon = standard.Eip1559DenominatorCanyon
chain.Eip1559Denominator = standard.Eip1559Denominator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ func TestCLIApplyNoOp(t *testing.T) {
chain.BaseFeeVaultRecipient = shared.AddrFor(t, dk, devkeys.BaseFeeVaultRecipientRole.Key(l1ChainIDBig))
chain.L1FeeVaultRecipient = shared.AddrFor(t, dk, devkeys.L1FeeVaultRecipientRole.Key(l1ChainIDBig))
chain.SequencerFeeVaultRecipient = shared.AddrFor(t, dk, devkeys.SequencerFeeVaultRecipientRole.Key(l1ChainIDBig))
chain.OperatorFeeVaultRecipient = shared.AddrFor(t, dk, devkeys.OperatorFeeVaultRecipientRole.Key(l1ChainIDBig))

chain.Eip1559DenominatorCanyon = standard.Eip1559DenominatorCanyon
chain.Eip1559Denominator = standard.Eip1559Denominator
Expand Down
3 changes: 3 additions & 0 deletions op-deployer/pkg/deployer/integration_test/shared/shared.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ func NewChainIntent(t *testing.T, dk *devkeys.MnemonicDevKeys, l1ChainID *big.In
BaseFeeVaultRecipient: AddrFor(t, dk, devkeys.BaseFeeVaultRecipientRole.Key(l1ChainID)),
L1FeeVaultRecipient: AddrFor(t, dk, devkeys.L1FeeVaultRecipientRole.Key(l1ChainID)),
SequencerFeeVaultRecipient: AddrFor(t, dk, devkeys.SequencerFeeVaultRecipientRole.Key(l1ChainID)),
OperatorFeeVaultRecipient: AddrFor(t, dk, devkeys.OperatorFeeVaultRecipientRole.Key(l1ChainID)),
Eip1559DenominatorCanyon: standard.Eip1559DenominatorCanyon,
Eip1559Denominator: standard.Eip1559Denominator,
Eip1559Elasticity: standard.Eip1559Elasticity,
Expand All @@ -42,6 +43,8 @@ func NewChainIntent(t *testing.T, dk *devkeys.MnemonicDevKeys, l1ChainID *big.In
Proposer: AddrFor(t, dk, devkeys.ProposerRole.Key(l1ChainID)),
Challenger: AddrFor(t, dk, devkeys.ChallengerRole.Key(l1ChainID)),
},
UseRevenueShare: false,
ChainFeesRecipient: common.Address{},
}
}

Expand Down
4 changes: 3 additions & 1 deletion op-deployer/pkg/deployer/manage/testdata/state.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@
"baseFeeVaultRecipient": "0x0000000000000000000000000000000000000001",
"l1FeeVaultRecipient": "0x0000000000000000000000000000000000000002",
"sequencerFeeVaultRecipient": "0x0000000000000000000000000000000000000003",
"operatorFeeVaultRecipient": "0x0000000000000000000000000000000000000004",
"useRevenueShare": true,
"chainFeesRecipient": "0x0000000000000000000000000000000000000005",
"eip1559DenominatorCanyon": 250,
"eip1559Denominator": 50,
"eip1559Elasticity": 6,
Expand Down Expand Up @@ -57,4 +60,3 @@
"l1StateDump": null,
"DeploymentCalldata": null
}

6 changes: 6 additions & 0 deletions op-deployer/pkg/deployer/opcm/l2genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,17 @@ type L2GenesisInput struct {
L1FeeVaultRecipient common.Address
L1FeeVaultMinimumWithdrawalAmount *big.Int
L1FeeVaultWithdrawalNetwork *big.Int
OperatorFeeVaultRecipient common.Address
OperatorFeeVaultMinimumWithdrawalAmount *big.Int
OperatorFeeVaultWithdrawalNetwork *big.Int
GovernanceTokenOwner common.Address
Fork *big.Int
DeployCrossL2Inbox bool
EnableGovernance bool
FundDevAccounts bool
UseRevenueShare bool
ChainFeesRecipient common.Address
L1FeesDepositor common.Address
}

type L2GenesisScript script.DeployScriptWithoutOutput[L2GenesisInput]
Expand Down
1 change: 1 addition & 0 deletions op-deployer/pkg/deployer/opcm/opchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ type DeployOPChainInput struct {
DisputeClockExtension uint64
DisputeMaxClockDuration uint64
AllowCustomDisputeParameters bool
UseRevenueShare bool

OperatorFeeScalar uint32
OperatorFeeConstant uint64
Expand Down
12 changes: 12 additions & 0 deletions op-deployer/pkg/deployer/pipeline/l2genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,14 @@ type l2GenesisOverrides struct {
BaseFeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"baseFeeVaultMinimumWithdrawalAmount"`
L1FeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"l1FeeVaultMinimumWithdrawalAmount"`
SequencerFeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"sequencerFeeVaultMinimumWithdrawalAmount"`
OperatorFeeVaultMinimumWithdrawalAmount *hexutil.Big `json:"operatorFeeVaultMinimumWithdrawalAmount"`
BaseFeeVaultWithdrawalNetwork genesis.WithdrawalNetwork `json:"baseFeeVaultWithdrawalNetwork"`
L1FeeVaultWithdrawalNetwork genesis.WithdrawalNetwork `json:"l1FeeVaultWithdrawalNetwork"`
SequencerFeeVaultWithdrawalNetwork genesis.WithdrawalNetwork `json:"sequencerFeeVaultWithdrawalNetwork"`
OperatorFeeVaultWithdrawalNetwork genesis.WithdrawalNetwork `json:"operatorFeeVaultWithdrawalNetwork"`
EnableGovernance bool `json:"enableGovernance"`
GovernanceTokenOwner common.Address `json:"governanceTokenOwner"`
UseRevenueShare bool `json:"useRevenueShare"`
}

func GenerateL2Genesis(pEnv *Env, intent *state.Intent, bundle ArtifactsBundle, st *state.State, chainID common.Hash) error {
Expand Down Expand Up @@ -83,17 +86,23 @@ func GenerateL2Genesis(pEnv *Env, intent *state.Intent, bundle ArtifactsBundle,
BaseFeeVaultWithdrawalNetwork: wdNetworkToBig(overrides.BaseFeeVaultWithdrawalNetwork),
L1FeeVaultWithdrawalNetwork: wdNetworkToBig(overrides.L1FeeVaultWithdrawalNetwork),
SequencerFeeVaultWithdrawalNetwork: wdNetworkToBig(overrides.SequencerFeeVaultWithdrawalNetwork),
OperatorFeeVaultWithdrawalNetwork: wdNetworkToBig(overrides.OperatorFeeVaultWithdrawalNetwork),
SequencerFeeVaultMinimumWithdrawalAmount: overrides.SequencerFeeVaultMinimumWithdrawalAmount.ToInt(),
BaseFeeVaultMinimumWithdrawalAmount: overrides.BaseFeeVaultMinimumWithdrawalAmount.ToInt(),
L1FeeVaultMinimumWithdrawalAmount: overrides.L1FeeVaultMinimumWithdrawalAmount.ToInt(),
OperatorFeeVaultMinimumWithdrawalAmount: overrides.OperatorFeeVaultMinimumWithdrawalAmount.ToInt(),
BaseFeeVaultRecipient: thisIntent.BaseFeeVaultRecipient,
L1FeeVaultRecipient: thisIntent.L1FeeVaultRecipient,
SequencerFeeVaultRecipient: thisIntent.SequencerFeeVaultRecipient,
OperatorFeeVaultRecipient: thisIntent.OperatorFeeVaultRecipient,
GovernanceTokenOwner: overrides.GovernanceTokenOwner,
Fork: big.NewInt(schedule.SolidityForkNumber(1)),
DeployCrossL2Inbox: len(intent.Chains) > 1,
EnableGovernance: overrides.EnableGovernance,
FundDevAccounts: overrides.FundDevAccounts,
UseRevenueShare: thisIntent.UseRevenueShare,
ChainFeesRecipient: thisIntent.ChainFeesRecipient,
L1FeesDepositor: standard.L1FeesDepositor,
}); err != nil {
return fmt.Errorf("failed to call L2Genesis script: %w", err)
}
Expand Down Expand Up @@ -160,10 +169,13 @@ func defaultOverrides() l2GenesisOverrides {
BaseFeeVaultMinimumWithdrawalAmount: standard.VaultMinWithdrawalAmount,
L1FeeVaultMinimumWithdrawalAmount: standard.VaultMinWithdrawalAmount,
SequencerFeeVaultMinimumWithdrawalAmount: standard.VaultMinWithdrawalAmount,
OperatorFeeVaultMinimumWithdrawalAmount: standard.VaultMinWithdrawalAmount,
BaseFeeVaultWithdrawalNetwork: "local",
L1FeeVaultWithdrawalNetwork: "local",
SequencerFeeVaultWithdrawalNetwork: "local",
OperatorFeeVaultWithdrawalNetwork: "local",
EnableGovernance: false,
GovernanceTokenOwner: standard.GovernanceTokenOwner,
UseRevenueShare: true,
}
}
Loading