init command is used to create a new intent and state file in the specified directory. This command is the
starting point of each new deployment.
Usage
Theinit command is used like this:
intent.toml file is where you specify the configuration for your deployment. The state.json file is where OP
Deployer will output the current state of the deployment after each stage of the deployment.
Intent File
Your intent should look something like this:Revenue Sharing Configuration
TheuseRevenueShare field controls whether your chain enables the revenue sharing system feature:
-
useRevenueShare = true(default for standard configurations):FeeVaults are upgraded and configured to use theFeeSplittercontract as the recipient, L2 as withdrawal network and0as the minimum withdrawal amount. The split logic is calculated using theSuperchainRevSharesCalculatorcontract. TheL1Withdrawercontract is set to withdraw the OP portion of fees automatically. -
useRevenueShare = false:FeeSplitteris deployed but initialized with zero address for thesharesCalculatorfield. No deployment is made for theSuperchainRevSharesCalculatorandL1Withdrawercontracts.FeeVaults are upgraded but initialized using the custom configuration you provide.
Configuration Fields
useRevenueShare(optional): Enables or disables the revenue sharing system. Defaults totruefor standard configurations,falsefor custom.chainFeesRecipient(required whenuseRevenueShare = true): Address that receives the chain operator’s portion of fee revenue on L2. Must be able to receive ETH.
Since
useRevenueShare defaults to true for standard configurations, you must either provide a chainFeesRecipient address OR explicitly set useRevenueShare = false to opt out. The deployment will fail validation if revenue sharing is enabled without a recipient.Production Setup
In production environments, you should use a more secure setup with cold-wallet multisigs (e.g. Gnosis Safes) for the following:baseFeeVaultRecipientl1FeeVaultRecipientsequencerFeeVaultRecipientoperatorFeeVaultRecipientl1ProxyAdminOwnerl2ProxyAdminOwnersystemConfigOwner
unsafeBlockSignerbatcherproposerchallenger