Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeployMCMSWithTimelockContractsEVM ¶
func DeployMCMSWithTimelockContractsEVM( env cldf.Environment, chain cldf_evm.Chain, ab cldf.AddressBook, config cldfproposalutils.MCMSWithTimelockConfig, state *evmstate.MCMSWithTimelockState, ) ([]operations.Report[any, any], error)
DeployMCMSWithTimelockContractsEVM deploys an MCMS for each of the timelock roles Bypasser, ProposerMcm, Canceller on an EVM chain. MCMS contracts for the given configuration as well as the timelock. It's not necessarily the only way to use the timelock and MCMS, but its reasonable pattern.
func GrantRolesForTimelock ¶
func GrantRolesForTimelock( env cldf.Environment, chain cldf_evm.Chain, timelockContracts *cldfproposalutils.MCMSWithTimelockContracts, skipIfDeployerKeyNotAdmin bool, gasBoostConfig *cldfproposalutils.GasBoostConfig, ) (operations.SequenceReport[seqs.SeqGrantRolesTimelockInput, map[uint64][]opsevm.EVMCallOutput], error)
Types ¶
type DeployMCMSOption ¶
type DeployMCMSOption func(*cldf.TypeAndVersion)
DeployMCMSOption is a function that modifies a TypeAndVersion before or after deployment.
func WithLabel ¶
func WithLabel(label string) DeployMCMSOption
WithLabel is a functional option that sets a label on the TypeAndVersion.
type MCMSWithTimelockEVMDeploy ¶
type MCMSWithTimelockEVMDeploy struct {
Canceller *cldf.ContractDeploy[*bindings.ManyChainMultiSig]
Bypasser *cldf.ContractDeploy[*bindings.ManyChainMultiSig]
Proposer *cldf.ContractDeploy[*bindings.ManyChainMultiSig]
Timelock *cldf.ContractDeploy[*bindings.RBACTimelock]
CallProxy *cldf.ContractDeploy[*bindings.CallProxy]
}
MCMSWithTimelockEVMDeploy holds a bundle of MCMS contract deploys.
Click to show internal directories.
Click to hide internal directories.