Documentation
¶
Index ¶
- Variables
- type AcceptMCMSOwnershipSeqInput
- type AddModulesMCMSInput
- type ConfigureMCMSSeqInput
- type ConfigureMCMSSeqOutput
- type DeployMCMSObjects
- type DeployMCMSSeqInput
- type DeployMCMSSeqOutput
- type MCMSAcceptOwnershipInput
- type MCMSExecuteTransferOwnershipInput
- type MCMSSetConfigInput
- type MCMSTransferOwnershipInput
- type ProposalGenerateInput
- type UpgradeCCIPInput
Constants ¶
This section is empty.
Variables ¶
View Source
var AcceptMCMSOwnershipSequence = cld_ops.NewSequence( "sui-accept-mcms-ownership-seq", semver.MustParse("0.1.0"), "Generates the MCMS proposal to accept MCMS ownership via the timelock", acceptMCMSOwnership, )
View Source
var AddModulesMCMSOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "package", "add_modules"), semver.MustParse("0.1.0"), "Add modules to the MCMS registry", addModulesHandler, )
View Source
var AllOperationsMCMS = []any{ *MCMSAcceptOwnershipOp, *MCMSTransferOwnershipOp, *MCMSExecuteTransferOwnershipOp, *SetConfigMCMSOp, *AddModulesMCMSOp, }
Exports every operation available so they can be registered to be used in dynamic changesets
View Source
var ConfigureMCMSSequence = cld_ops.NewSequence( "sui-configure-mcms-seq", semver.MustParse("0.1.0"), "Configures the MCMS package with the provided timelock roles configuration", configureMCMS, )
View Source
var DeployMCMSOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "package", "deploy"), semver.MustParse("0.1.0"), "Deploys the MCMS contract", handler, )
View Source
var DeployMCMSSequence = cld_ops.NewSequence( "sui-deploy-mcms-seq", semver.MustParse("0.1.0"), "Deploys the MCMS package, sets the initial configuration, init the ownership transfer to self and generates the proposal to accept the ownership", deployMCMS, )
View Source
var MCMSAcceptOwnershipOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "mcms_account", "accept_ownership"), semver.MustParse("0.1.0"), "Accept ownership of the MCMS contract as MCMS", acceptOwnershipHandler, )
View Source
var MCMSDynamicProposalGenerateSeq = cld_ops.NewSequence( sui_ops.NewSuiOperationName("mcms", "proposal", "generate"), semver.MustParse("0.1.0"), "Generates an MCMS timelock proposal that batches multiple operations based on the provided definitions and inputs", generateProposalHandler, )
View Source
var MCMSExecuteTransferOwnershipOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "mcms_account", "execute_transfer_ownership"), semver.MustParse("0.1.0"), "Execute transfer ownership of the MCMS contract to itself", executeTransferOwnershipHandler, )
View Source
var MCMSTransferOwnershipOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "mcms_account", "transfer_ownership"), semver.MustParse("0.1.0"), "Init the transfer ownership of the MCMS contract to itself", transferOwnershipHandler, )
View Source
var SetConfigMCMSOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "mcms", "set_config"), semver.MustParse("0.1.0"), "Set config in the MCMS contract", setConfigMcmsHandler, )
View Source
var UpgradeCCIPOp = cld_ops.NewOperation( sui_ops.NewSuiOperationName("mcms", "package", "upgrade"), semver.MustParse("0.1.0"), "Returns the MCMS proposal that upgrades a CCIP package", upgradeHandler, )
Functions ¶
This section is empty.
Types ¶
type AcceptMCMSOwnershipSeqInput ¶
type AcceptMCMSOwnershipSeqInput struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
PackageId string `json:"packageId" yaml:"packageId"`
McmsMultisigStateObjectId string `json:"mcmsMultisigStateObjectId" yaml:"mcmsMultisigStateObjectId"`
TimelockObjectId string `json:"timelockObjectId" yaml:"timelockObjectId"`
McmsAccountStateObjectId string `json:"mcmsAccountStateObjectId" yaml:"mcmsAccountStateObjectId"`
McmsRegistryObjectId string `json:"mcmsRegistryObjectId" yaml:"mcmsRegistryObjectId"`
McmsDeployerStateObjectId string `json:"mcmsDeployerStateObjectId" yaml:"mcmsDeployerStateObjectId"`
}
type AddModulesMCMSInput ¶
type ConfigureMCMSSeqInput ¶
type ConfigureMCMSSeqInput struct {
ChainSelector uint64 `yaml:"chainSelector"`
PackageId string `yaml:"packageId"`
McmsAccountOwnerCapObjectId string `yaml:"mcmsAccountOwnerCapObjectId"`
McmsAccountStateObjectId string `yaml:"mcmsAccountStateObjectId"`
McmsMultisigStateObjectId string `yaml:"mcmsMultisigStateObjectId"`
// Optional configs for each timelock role
// If nil, the role will not be configured
Bypasser *types.Config `yaml:"bypasser,omitempty"`
Proposer *types.Config `yaml:"proposer,omitempty"`
Canceller *types.Config `yaml:"canceller,omitempty"`
}
ConfigureMCMSSeqInput defines the input for configuring MCMS
type ConfigureMCMSSeqOutput ¶
type DeployMCMSObjects ¶
type DeployMCMSSeqInput ¶
type DeployMCMSSeqInput struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
// Optional configs for each timelock role
// If nil, the role will not be configured
Bypasser *types.Config `json:"bypasser,omitempty" yaml:"bypasser,omitempty"`
Proposer *types.Config `json:"proposer,omitempty" yaml:"proposer,omitempty"`
Canceller *types.Config `json:"canceller,omitempty" yaml:"canceller,omitempty"`
}
DeployMCMSSeqInput defines the input for deploying MCMS with timelock roles configuration
type DeployMCMSSeqOutput ¶
type DeployMCMSSeqOutput struct {
AcceptOwnershipProposal mcms.TimelockProposal `json:"acceptOwnershipProposal"`
PackageId string `json:"packageId"`
Objects DeployMCMSObjects `json:"objects"`
}
type MCMSExecuteTransferOwnershipInput ¶
type MCMSExecuteTransferOwnershipInput struct {
// MCMS related
McmsPackageID string `json:"mcmsPackageID"`
OwnerCap string `json:"ownerCap"`
AccountObjectID string `json:"accountObjectID"`
RegistryObjectID string `json:"registryObjectID"`
DeployerStateObjectID string `json:"deployerStateObjectID"`
}
type MCMSSetConfigInput ¶
type MCMSSetConfigInput struct {
ChainSelector uint64 `yaml:"chainSelector"`
// MCMS related
McmsPackageID string `yaml:"mcmsPackageID"`
OwnerCap string `yaml:"ownerCap"`
McmsObjectID string `yaml:"mcmsObjectID"`
// Timelock related
Role suisdk.TimelockRole `yaml:"role"`
// Config related
Config types.Config `yaml:"config"`
ClearRoot bool `yaml:"clearRoot"`
}
type ProposalGenerateInput ¶
type ProposalGenerateInput struct {
// Ops Related
// Order matters, each definition should correspond to the input at the same index
Defs []cld_ops.Definition
Inputs []any // Each element should be the corresponding input type for its operation
// MCMS related
MmcsPackageID string `json:"mcmsPackageID"`
McmsStateObjID string `json:"mcmsStateObjID"`
TimelockObjID string `json:"timelockObjID"`
AccountObjID string `json:"accountObjID"`
RegistryObjID string `json:"registryObjID"`
DeployerStateObjID string `json:"deployerStateObjID"`
// Chain related
ChainSelector uint64 `json:"chainSelector"`
// Timelock related
TimelockConfig utils.TimelockConfig `json:"timelockConfig"`
}
type UpgradeCCIPInput ¶
type UpgradeCCIPInput struct {
PackageName contracts.Package `json:"packageName" validate:"required"`
TargetPackageId string `json:"targetPackageId" validate:"required"`
NamedAddresses map[string]string `json:"namedAddresses"`
// Chain related
ChainSelector uint64 `json:"chainSelector"`
// MCMS related
MmcsPackageID string `json:"mcmsPackageID"`
McmsStateObjID string `json:"mcmsStateObjID"`
RegistryObjID string `json:"registryObjID"`
TimelockObjID string `json:"timelockObjID"`
AccountObjID string `json:"accountObjID"`
DeployerStateObjID string `json:"deployerStateObjID"`
OwnerCapObjID string `json:"ownerCapObjID"`
// Timelock related
TimelockConfig utils.TimelockConfig `json:"timelockConfig"`
}
Click to show internal directories.
Click to hide internal directories.