Documentation
¶
Index ¶
- func GetAddressTypeVersionByQualifier(store datastore.AddressRefStore, chainSelector uint64, qualifier string) (map[string]cldf.TypeAndVersion, error)
- func MaybeLoadMCMSWithTimelockStateWithQualifier(env cldf.Environment, chainSelectors []uint64, qualifier string) (map[uint64]*MCMSWithTimelockState, error)
- type MCMSWithTimelockState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAddressTypeVersionByQualifier ¶
func GetAddressTypeVersionByQualifier(store datastore.AddressRefStore, chainSelector uint64, qualifier string) (map[string]cldf.TypeAndVersion, error)
GetAddressTypeVersionByQualifier loads addresses from DataStore for a specific chain and qualifier. It returns a map of address to TypeAndVersion. Refs with a nil Version are skipped; if none remain, it returns an error. Each address must be a non-zero hex-encoded EVM address (see common.IsHexAddress).
func MaybeLoadMCMSWithTimelockStateWithQualifier ¶
func MaybeLoadMCMSWithTimelockStateWithQualifier(env cldf.Environment, chainSelectors []uint64, qualifier string) (map[uint64]*MCMSWithTimelockState, error)
MaybeLoadMCMSWithTimelockStateWithQualifier loads the MCMSWithTimelockState state for each chain in the given environment, supporting qualifiers for filtering addresses from env.DataStore.
Types ¶
type MCMSWithTimelockState ¶
type MCMSWithTimelockState struct {
CancellerMcm *bindings.ManyChainMultiSig
BypasserMcm *bindings.ManyChainMultiSig
ProposerMcm *bindings.ManyChainMultiSig
Timelock *bindings.RBACTimelock
CallProxy *bindings.CallProxy
}
MCMSWithTimelockState holds the Go bindings for a MCMSWithTimelock contract deployment. It is public for use in product specific packages. Either all fields are nil or all fields are non-nil.
func MaybeLoadMCMSWithTimelockChainState ¶
func MaybeLoadMCMSWithTimelockChainState(chain cldf_evm.Chain, addresses map[string]cldf.TypeAndVersion) (*MCMSWithTimelockState, error)
MaybeLoadMCMSWithTimelockChainState looks for the addresses corresponding to contracts deployed with DeployMCMSWithTimelock and loads them into a MCMSWithTimelockState struct. If none of the contracts are found, it returns a non-nil state struct whose binding fields are all nil. An error indicates: - Found but was unable to load a contract - It only found part of the bundle of contracts - If found more than one instance of a contract (we expect one bundle in the given addresses)
func (MCMSWithTimelockState) GenerateMCMSWithTimelockView ¶
func (state MCMSWithTimelockState) GenerateMCMSWithTimelockView() (v1_0.MCMSWithTimelockView, error)
func (MCMSWithTimelockState) Validate ¶
func (state MCMSWithTimelockState) Validate() error
Validate checks that all fields are non-nil, ensuring it's ready for use generating views or interactions.