Documentation
¶
Index ¶
- Constants
- func LastSuccessfulReportTxDigest(reports []types.TransactionResult) (string, error)
- type AcceptMCMSOwnership
- type AcceptMCMSOwnershipConfig
- type AcceptOwnershipCCIP
- type AcceptOwnershipCCIPConfig
- type AddCCIPPackageId
- type AddCCIPPackageIdConfig
- type AddMCMSAllowedModules
- type AddMCMSAllowedModulesConfig
- type AddPackageIdTarget
- type AddRemoteTP
- type AddRemoteTPConfig
- type BackfillLocalDecimals
- type BackfillLocalDecimalsConfig
- type BlockFunction
- type BlockFunctionConfig
- type BlockVersion
- type BlockVersionConfig
- type ConfigureMCMS
- type ConfigureMCMSConfig
- type ConfigureRouterOnRamp
- type ConfigureRouterOnRampConfig
- type ConnectSuiToEVM
- type ConnectSuiToEVMConfig
- type CurseUncurseChains
- type CurseUncurseChainsConfig
- type CurseUncurseOperationType
- type DeployCCIPBnMToken
- type DeployCCIPBnMTokenConfig
- type DeployDummyReceiver
- type DeployDummyReceiverConfig
- type DeployLinkToken
- type DeployLinkTokenConfig
- type DeployMCMS
- type DeployMCMSConfig
- type DeployMCMSUser
- type DeployMCMSUserConfig
- type DeployManagedToken
- type DeployManagedTokenConfig
- type DeployManagedTokenFaucet
- type DeployManagedTokenFaucetConfig
- type DeploySuiChain
- type DeploySuiChainConfig
- type DeployTPAndConfigure
- type DeployTPAndConfigureConfig
- type DeregisterCurserCap
- type DeregisterCurserCapConfig
- type InitMCMSOwnershipTransfer
- type InitMCMSOwnershipTransferConfig
- type InitializeLocalDecimals
- type InitializeLocalDecimalsConfig
- type InvokeMCMSFunctionOne
- type InvokeMCMSFunctionOneConfig
- type MCMSExecuteTransferOwnership
- type MCMSExecuteTransferOwnershipInput
- type MCMSProposalGenerate
- type MCMSProposalGenerateConfig
- type MCMSProposalUpgradePackage
- type ManagedTokenConfigureNewMinter
- type ManagedTokenConfigureNewMinterConfig
- type MintLinkToken
- type MintLinkTokenConfig
- type NewFeeToken
- type NewFeeTokenConfig
- type RecordCurserCap
- type RecordCurserCapConfig
- type RegisterCurserCap
- type RegisterCurserCapConfig
- type RegisterDummyReceiver
- type RegisterDummyReceiverConfig
- type RegisterUpgradeCap
- type RegisterUpgradeCapConfig
- type SeedDestChainPrices
- type SeedDestChainPricesConfig
- type SetDynamicConfigOnRamp
- type SetDynamicConfigOnRampConfig
- type TPConfigure
- type TPConfigureConfig
- type UpgradePackageConfig
- type UpgradeRegistry
- type UpgradeRegistryConfig
- type WithdrawFeeTokensOnRamp
- type WithdrawFeeTokensOnRampConfig
Constants ¶
const CCIPBnMSymbol = "CCIP BnM"
Variables ¶
This section is empty.
Functions ¶
func LastSuccessfulReportTxDigest ¶
func LastSuccessfulReportTxDigest(reports []types.TransactionResult) (string, error)
LastSuccessfulReportTxDigest returns the transaction hash from the last successful MCMS timelock execution report.
Types ¶
type AcceptMCMSOwnership ¶
type AcceptMCMSOwnership struct{}
func (AcceptMCMSOwnership) Apply ¶
func (a AcceptMCMSOwnership) Apply(e cldf.Environment, config AcceptMCMSOwnershipConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (AcceptMCMSOwnership) VerifyPreconditions ¶
func (a AcceptMCMSOwnership) VerifyPreconditions(e cldf.Environment, config AcceptMCMSOwnershipConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type AcceptMCMSOwnershipConfig ¶
type AcceptMCMSOwnershipConfig struct {
ChainSelector uint64
IsFastCurse bool
TimelockConfig utils.TimelockConfig `yaml:"timelockConfig"`
}
AcceptMCMSOwnershipConfig identifies an MCMS deployment whose ownership transfer proposal should be (re-)generated. When IsFastCurse is true the fastcurse MCMS instance is targeted; otherwise the normal instance is used.
type AcceptOwnershipCCIP ¶
type AcceptOwnershipCCIP struct{}
AcceptOwnershipCCIP deploys Sui chain packages and modules
func (AcceptOwnershipCCIP) Apply ¶
func (d AcceptOwnershipCCIP) Apply(e cldf.Environment, config AcceptOwnershipCCIPConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (AcceptOwnershipCCIP) VerifyPreconditions ¶
func (d AcceptOwnershipCCIP) VerifyPreconditions(e cldf.Environment, config AcceptOwnershipCCIPConfig) error
TODO VerifyPreconditions imsplements deployment.ChangeSetV2.
type AcceptOwnershipCCIPConfig ¶
type AcceptOwnershipCCIPConfig struct {
SuiChainSelector uint64
TimelockConfig utils.TimelockConfig `yaml:"timelockConfig"`
}
type AddCCIPPackageId ¶
type AddCCIPPackageId struct{}
func (AddCCIPPackageId) Apply ¶
func (d AddCCIPPackageId) Apply(e cldf.Environment, config AddCCIPPackageIdConfig) (cldf.ChangesetOutput, error)
func (AddCCIPPackageId) VerifyPreconditions ¶
func (d AddCCIPPackageId) VerifyPreconditions(e cldf.Environment, config AddCCIPPackageIdConfig) error
type AddCCIPPackageIdConfig ¶
type AddCCIPPackageIdConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
Target AddPackageIdTarget `yaml:"target"`
CCIPPackageId string `yaml:"ccipPackageId"` // original CCIP package ID
LatestCCIPPackageId string `yaml:"latestCcipPackageId,omitempty"` // optional: upgraded CCIP binary
OnRampPackageId string `yaml:"onRampPackageId,omitempty"`
LatestOnRampPackageId string `yaml:"latestOnRampPackageId,omitempty"` // optional: upgraded OnRamp binary
OffRampPackageId string `yaml:"offRampPackageId,omitempty"`
LatestOffRampPackageId string `yaml:"latestOffRampPackageId,omitempty"` // optional: upgraded OffRamp binary
PackageId string `yaml:"packageId"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
type AddMCMSAllowedModules ¶
type AddMCMSAllowedModules struct{}
func (AddMCMSAllowedModules) Apply ¶
func (AddMCMSAllowedModules) Apply(e cldf.Environment, config AddMCMSAllowedModulesConfig) (cldf.ChangesetOutput, error)
func (AddMCMSAllowedModules) VerifyPreconditions ¶
func (AddMCMSAllowedModules) VerifyPreconditions(e cldf.Environment, config AddMCMSAllowedModulesConfig) error
type AddMCMSAllowedModulesConfig ¶
type AddMCMSAllowedModulesConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
CCIPPackageId string `yaml:"ccipPackageId,omitempty"`
AllowedModules []string `yaml:"allowedModules"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
AddMCMSAllowedModulesConfig extends the MCMS registry allowlist for the CCIP package using mcms_registry::add_allowed_modules with proof type state_object::McmsCallback.
With timelockConfig set, the op runs without a signer and an MCMS timelock proposal is produced. Without timelockConfig, the environment signer executes the transaction on-chain.
type AddPackageIdTarget ¶
type AddPackageIdTarget string
const ( AddPackageIdTargetCCIP AddPackageIdTarget = "ccip" AddPackageIdTargetOnRamp AddPackageIdTarget = "onramp" AddPackageIdTargetOffRamp AddPackageIdTarget = "offramp" )
type AddRemoteTP ¶
type AddRemoteTP struct{}
DeployAptosChain deploys Sui chain packages and modules
func (AddRemoteTP) Apply ¶
func (d AddRemoteTP) Apply(e cldf.Environment, config AddRemoteTPConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (AddRemoteTP) VerifyPreconditions ¶
func (d AddRemoteTP) VerifyPreconditions(e cldf.Environment, config AddRemoteTPConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type AddRemoteTPConfig ¶
type BackfillLocalDecimals ¶
type BackfillLocalDecimals struct{}
func (BackfillLocalDecimals) Apply ¶
func (d BackfillLocalDecimals) Apply(e cldf.Environment, config BackfillLocalDecimalsConfig) (cldf.ChangesetOutput, error)
func (BackfillLocalDecimals) VerifyPreconditions ¶
func (d BackfillLocalDecimals) VerifyPreconditions(e cldf.Environment, config BackfillLocalDecimalsConfig) error
type BackfillLocalDecimalsConfig ¶
type BackfillLocalDecimalsConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
CCIPPackageId string `yaml:"ccipPackageId,omitempty"`
StateObjectId string `yaml:"stateObjectId,omitempty"`
OwnerCapObjectId string `yaml:"ownerCapObjectId,omitempty"`
VerifyOnly bool `yaml:"verifyOnly,omitempty"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
type BlockFunction ¶
type BlockFunction struct{}
func (BlockFunction) Apply ¶
func (d BlockFunction) Apply(e cldf.Environment, config BlockFunctionConfig) (cldf.ChangesetOutput, error)
func (BlockFunction) VerifyPreconditions ¶
func (d BlockFunction) VerifyPreconditions(e cldf.Environment, config BlockFunctionConfig) error
type BlockFunctionConfig ¶
type BlockFunctionConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
PackageId string `yaml:"packageId"`
LatestPackageId string `yaml:"latestPackageId,omitempty"`
ModuleName string `yaml:"moduleName"`
FunctionName string `yaml:"functionName"`
Version uint8 `yaml:"version"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
type BlockVersion ¶
type BlockVersion struct{}
func (BlockVersion) Apply ¶
func (d BlockVersion) Apply(e cldf.Environment, config BlockVersionConfig) (cldf.ChangesetOutput, error)
func (BlockVersion) VerifyPreconditions ¶
func (d BlockVersion) VerifyPreconditions(e cldf.Environment, config BlockVersionConfig) error
type BlockVersionConfig ¶
type BlockVersionConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
PackageId string `yaml:"packageId"`
LatestPackageId string `yaml:"latestPackageId,omitempty"`
ModuleName string `yaml:"moduleName"`
Version uint8 `yaml:"version"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
type ConfigureMCMS ¶
type ConfigureMCMS struct{}
func (ConfigureMCMS) Apply ¶
func (c ConfigureMCMS) Apply(e cldf.Environment, config ConfigureMCMSConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (ConfigureMCMS) VerifyPreconditions ¶
func (c ConfigureMCMS) VerifyPreconditions(e cldf.Environment, config ConfigureMCMSConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type ConfigureMCMSConfig ¶
type ConfigureMCMSConfig struct {
mcmsops.ConfigureMCMSSeqInput
TimelockConfig *utils.TimelockConfig // If nil, configuration will be executed directly
IsFastCurse bool `yaml:"isFastCurse,omitempty"` // If true, the fastcurse MCMS instance is configured
}
type ConfigureRouterOnRamp ¶
type ConfigureRouterOnRamp struct{}
func (ConfigureRouterOnRamp) Apply ¶
func (d ConfigureRouterOnRamp) Apply(e cldf.Environment, config ConfigureRouterOnRampConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (ConfigureRouterOnRamp) VerifyPreconditions ¶
func (d ConfigureRouterOnRamp) VerifyPreconditions(e cldf.Environment, config ConfigureRouterOnRampConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type ConnectSuiToEVM ¶
type ConnectSuiToEVM struct{}
ConnectSuiToEVM connects sui chain with EVM
func (ConnectSuiToEVM) Apply ¶
func (d ConnectSuiToEVM) Apply(e cldf.Environment, config ConnectSuiToEVMConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (ConnectSuiToEVM) VerifyPreconditions ¶
func (d ConnectSuiToEVM) VerifyPreconditions(e cldf.Environment, config ConnectSuiToEVMConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type ConnectSuiToEVMConfig ¶
type ConnectSuiToEVMConfig struct {
SuiChainSelector uint64
FeeQuoterApplyTokenTransferFeeConfigUpdatesInput ccip_ops.FeeQuoterApplyTokenTransferFeeConfigUpdatesInput
FeeQuoterApplyDestChainConfigUpdatesInput ccip_ops.FeeQuoterApplyDestChainConfigUpdatesInput
FeeQuoterApplyPremiumMultiplierWeiPerEthUpdatesInput ccip_ops.FeeQuoterApplyPremiumMultiplierWeiPerEthUpdatesInput
ApplyDestChainConfigureOnRampInput ccip_onramp_ops.ApplyDestChainConfigureOnRampInput
ApplySourceChainConfigUpdateInput ccip_offramp_ops.ApplySourceChainConfigUpdateInput
TimelockConfig *utils.TimelockConfig // If nil, transactions will be executed
}
type CurseUncurseChains ¶
type CurseUncurseChains struct{}
func (CurseUncurseChains) Apply ¶
func (c CurseUncurseChains) Apply(e cldf.Environment, cfg CurseUncurseChainsConfig) (cldf.ChangesetOutput, error)
func (CurseUncurseChains) VerifyPreconditions ¶
func (c CurseUncurseChains) VerifyPreconditions(e cldf.Environment, cfg CurseUncurseChainsConfig) error
type CurseUncurseChainsConfig ¶
type CurseUncurseChainsConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
OperationType string `yaml:"operationType"`
IsGlobalCurse bool `yaml:"isGlobalCurse"`
DestChainSelectors []uint64 `yaml:"destChainSelectors"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
// IsFastCurse selects the CurserCap-based fast-curse path.
// When TimelockConfig is set, the generated proposal targets the fastcurse MCMS instance.
// When TimelockConfig is nil, the curse is executed directly using CurserCapObjectId (or the registered cap in chain state).
IsFastCurse bool `yaml:"isFastCurse,omitempty"`
// CurserCapObjectId is the CurserCap object ID registered in the fast MCMS Registry.
// Optional if chain state already records the cap; otherwise required when IsFastCurse is true.
CurserCapObjectId string `yaml:"curserCapObjectId,omitempty"`
}
type CurseUncurseOperationType ¶
type CurseUncurseOperationType string
const ( CurseOperationType CurseUncurseOperationType = "curse" UncurseOperationType CurseUncurseOperationType = "uncurse" )
type DeployCCIPBnMToken ¶
type DeployCCIPBnMToken struct{}
DeployCCIPBnMToken deploys Sui chain packages and modules
func (DeployCCIPBnMToken) Apply ¶
func (d DeployCCIPBnMToken) Apply(e cldf.Environment, config DeployCCIPBnMTokenConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployCCIPBnMToken) VerifyPreconditions ¶
func (d DeployCCIPBnMToken) VerifyPreconditions(e cldf.Environment, config DeployCCIPBnMTokenConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployDummyReceiver ¶
type DeployDummyReceiver struct{}
DeployAptosChain deploys Aptos chain packages and modules
func (DeployDummyReceiver) Apply ¶
func (d DeployDummyReceiver) Apply(e cldf.Environment, config DeployDummyReceiverConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployDummyReceiver) VerifyPreconditions ¶
func (d DeployDummyReceiver) VerifyPreconditions(e cldf.Environment, config DeployDummyReceiverConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployLinkToken ¶
type DeployLinkToken struct{}
DeployLinkToken deploys Sui chain packages and modules
func (DeployLinkToken) Apply ¶
func (d DeployLinkToken) Apply(e cldf.Environment, config DeployLinkTokenConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployLinkToken) VerifyPreconditions ¶
func (d DeployLinkToken) VerifyPreconditions(e cldf.Environment, config DeployLinkTokenConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployLinkTokenConfig ¶
type DeployLinkTokenConfig struct {
ChainSelector uint64 `yaml:"chainSelector"`
}
type DeployMCMS ¶
type DeployMCMS struct{}
func (DeployMCMS) Apply ¶
func (d DeployMCMS) Apply(e cldf.Environment, config DeployMCMSConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployMCMS) VerifyPreconditions ¶
func (d DeployMCMS) VerifyPreconditions(e cldf.Environment, config DeployMCMSConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployMCMSConfig ¶
type DeployMCMSConfig struct {
mcmsops.DeployMCMSSeqInput
IsFastCurse bool `yaml:"isFastCurse,omitempty"`
}
DeployMCMSConfig wraps DeployMCMSSeqInput and adds the IsFastCurse flag. When IsFastCurse is true the fast_mcms package is published and all address-book entries are stored with the "fastcurse" label so LoadOnchainStatesui can distinguish the two MCMS instances deployed on the same chain.
type DeployMCMSUser ¶
type DeployMCMSUser struct{}
func (DeployMCMSUser) Apply ¶
func (d DeployMCMSUser) Apply(e cldf.Environment, config DeployMCMSUserConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployMCMSUser) VerifyPreconditions ¶
func (d DeployMCMSUser) VerifyPreconditions(e cldf.Environment, config DeployMCMSUserConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployMCMSUserConfig ¶
type DeployMCMSUserConfig struct {
mcmsuserops.DeployMCMSUserSeqInput
ChainSelector uint64 `json:"chainSelector"`
}
type DeployManagedToken ¶
type DeployManagedToken struct{}
DeployAptosChain deploys Sui chain packages and modules
func (DeployManagedToken) Apply ¶
func (d DeployManagedToken) Apply(e cldf.Environment, config DeployManagedTokenConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployManagedToken) VerifyPreconditions ¶
func (d DeployManagedToken) VerifyPreconditions(e cldf.Environment, config DeployManagedTokenConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployManagedTokenConfig ¶
type DeployManagedTokenConfig struct {
managedtokenops.DeployAndInitManagedTokenInput
ChainSelector uint64 `yaml:"chainSelector"`
}
type DeployManagedTokenFaucet ¶
type DeployManagedTokenFaucet struct{}
func (DeployManagedTokenFaucet) Apply ¶
func (d DeployManagedTokenFaucet) Apply(e cldf.Environment, config DeployManagedTokenFaucetConfig) (cldf.ChangesetOutput, error)
func (DeployManagedTokenFaucet) VerifyPreconditions ¶
func (d DeployManagedTokenFaucet) VerifyPreconditions(e cldf.Environment, config DeployManagedTokenFaucetConfig) error
type DeploySuiChain ¶
type DeploySuiChain struct{}
DeploySuiChain deploys Sui chain packages and modules
func (DeploySuiChain) Apply ¶
func (d DeploySuiChain) Apply(e cldf.Environment, config DeploySuiChainConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeploySuiChain) VerifyPreconditions ¶
func (d DeploySuiChain) VerifyPreconditions(e cldf.Environment, config DeploySuiChainConfig) error
TODO VerifyPreconditions implements deployment.ChangeSetV2.
type DeploySuiChainConfig ¶
type DeployTPAndConfigure ¶
type DeployTPAndConfigure struct{}
ConnectSuiToEVM connects sui chain with EVM
func (DeployTPAndConfigure) Apply ¶
func (d DeployTPAndConfigure) Apply(e cldf.Environment, config DeployTPAndConfigureConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployTPAndConfigure) VerifyPreconditions ¶
func (d DeployTPAndConfigure) VerifyPreconditions(e cldf.Environment, config DeployTPAndConfigureConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployTPAndConfigureConfig ¶
type DeployTPAndConfigureConfig struct {
SuiChainSelector uint64
TokenPoolTypes []deployment.TokenPoolType
ManagedTPInput managedtokenpoolops.DeployAndInitManagedTokenPoolInput
LockReleaseTPInput lockreleasetokenpoolops.DeployAndInitLockReleaseTokenPoolInput
BurnMintTpInput burnminttokenpoolops.DeployAndInitBurnMintTokenPoolInput
}
type DeregisterCurserCap ¶
type DeregisterCurserCap struct{}
func (DeregisterCurserCap) Apply ¶
func (c DeregisterCurserCap) Apply(e cldf.Environment, cfg DeregisterCurserCapConfig) (cldf.ChangesetOutput, error)
func (DeregisterCurserCap) VerifyPreconditions ¶
func (c DeregisterCurserCap) VerifyPreconditions(e cldf.Environment, cfg DeregisterCurserCapConfig) error
type DeregisterCurserCapConfig ¶
type DeregisterCurserCapConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
CurserCapObjectIds []string `yaml:"curserCapObjectIds"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig"`
}
type InitMCMSOwnershipTransfer ¶
type InitMCMSOwnershipTransfer struct{}
func (InitMCMSOwnershipTransfer) Apply ¶
func (i InitMCMSOwnershipTransfer) Apply(e cldf.Environment, config InitMCMSOwnershipTransferConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (InitMCMSOwnershipTransfer) VerifyPreconditions ¶
func (i InitMCMSOwnershipTransfer) VerifyPreconditions(e cldf.Environment, config InitMCMSOwnershipTransferConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type InitMCMSOwnershipTransferConfig ¶
type InitMCMSOwnershipTransferConfig struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
// IsFastCurse selects the fastcurse MCMS instance; otherwise the normal instance is used.
IsFastCurse bool `json:"isFastCurse,omitempty" yaml:"isFastCurse,omitempty"`
}
InitMCMSOwnershipTransferConfig starts the MCMS self-ownership transfer flow by calling mcms_account::transfer_ownership_to_self. This is step 1 of 3; accept and execute follow via sui_accept_mcms_ownership_to_self and sui_execute_ownership_transfer.
type InitializeLocalDecimals ¶
type InitializeLocalDecimals struct{}
func (InitializeLocalDecimals) Apply ¶
func (d InitializeLocalDecimals) Apply(e cldf.Environment, config InitializeLocalDecimalsConfig) (cldf.ChangesetOutput, error)
func (InitializeLocalDecimals) VerifyPreconditions ¶
func (d InitializeLocalDecimals) VerifyPreconditions(e cldf.Environment, config InitializeLocalDecimalsConfig) error
type InitializeLocalDecimalsConfig ¶
type InitializeLocalDecimalsConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
CCIPPackageId string `yaml:"ccipPackageId,omitempty"`
StateObjectId string `yaml:"stateObjectId,omitempty"`
OwnerCapObjectId string `yaml:"ownerCapObjectId,omitempty"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
type InvokeMCMSFunctionOne ¶
type InvokeMCMSFunctionOne struct{}
func (InvokeMCMSFunctionOne) Apply ¶
func (d InvokeMCMSFunctionOne) Apply(e cldf.Environment, config InvokeMCMSFunctionOneConfig) (cldf.ChangesetOutput, error)
func (InvokeMCMSFunctionOne) VerifyPreconditions ¶
func (d InvokeMCMSFunctionOne) VerifyPreconditions(e cldf.Environment, config InvokeMCMSFunctionOneConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type InvokeMCMSFunctionOneConfig ¶
type InvokeMCMSFunctionOneConfig struct {
// 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"`
// IsFastCurse selects the fastcurse MCMS instance for the proposal.
// MCMS fields above are auto-populated from state when empty.
IsFastCurse bool `json:"isFastCurse,omitempty"`
// Proposal related
Role suisdk.TimelockRole `json:"role"`
Delay time.Duration `json:"delay"`
// MCMS User related
McmcsUserPackageID string `json:"mcmsUserPackageID"`
McmsUserObjectID string `json:"mcmsUserObjectID"`
McmsUserOwnerCapObj string `json:"mcmsUserOwnerCapObj"`
// Chain related
ChainSelector uint64 `json:"chainSelector"`
}
type MCMSExecuteTransferOwnership ¶
type MCMSExecuteTransferOwnership struct{}
func (MCMSExecuteTransferOwnership) Apply ¶
func (d MCMSExecuteTransferOwnership) Apply(e cldf.Environment, config MCMSExecuteTransferOwnershipInput) (cldf.ChangesetOutput, error)
func (MCMSExecuteTransferOwnership) VerifyPreconditions ¶
func (d MCMSExecuteTransferOwnership) VerifyPreconditions(e cldf.Environment, config MCMSExecuteTransferOwnershipInput) error
VerifyPreconditions implements deployment.ChangeSetV2.
type MCMSExecuteTransferOwnershipInput ¶
type MCMSExecuteTransferOwnershipInput struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
// IsFastCurse selects the fastcurse MCMS instance as the ownership target.
// When false (default) the normal MCMS instance is used.
IsFastCurse bool `json:"isFastCurse,omitempty" yaml:"isFastCurse,omitempty"`
// Type of contracts to execute the transfer on
MCMS bool `json:"mcms,omitempty" yaml:"mcms,omitempty"`
StateObject bool `json:"state_object,omitempty" yaml:"state_object,omitempty"`
OnRamp bool `json:"onramp,omitempty" yaml:"onramp,omitempty"`
OffRamp bool `json:"offramp,omitempty" yaml:"offramp,omitempty"`
Router bool `json:"router,omitempty" yaml:"router,omitempty"`
ManagedToken bool `json:"managed_token,omitempty" yaml:"managed_token,omitempty"`
BurnMintTokenPoolTokenSymbol string `json:"burn_mint_token_pool,omitempty" yaml:"burn_mint_token_pool,omitempty"`
LockReleaseTokenPoolTokenSymbol string `json:"lock_release_token_pool,omitempty" yaml:"lock_release_token_pool,omitempty"`
ManagedTokenPoolTokenSymbol string `json:"managed_token_pool,omitempty" yaml:"managed_token_pool,omitempty"`
TypeArg string `json:"type_arg,omitempty" yaml:"type_arg,omitempty"`
}
type MCMSProposalGenerate ¶
type MCMSProposalGenerate struct{}
func (MCMSProposalGenerate) Apply ¶
func (d MCMSProposalGenerate) Apply(e cldf.Environment, config MCMSProposalGenerateConfig) (cldf.ChangesetOutput, error)
func (MCMSProposalGenerate) VerifyPreconditions ¶
func (d MCMSProposalGenerate) VerifyPreconditions(e cldf.Environment, config MCMSProposalGenerateConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type MCMSProposalGenerateConfig ¶
type MCMSProposalGenerateConfig struct {
mcmsops.ProposalGenerateInput
IsFastCurse bool
}
MCMSProposalGenerateConfig wraps ProposalGenerateInput and adds IsFastCurse. When MCMS state fields in ProposalGenerateInput are left empty, they are auto-populated from the on-chain address book using the IsFastCurse flag.
type MCMSProposalUpgradePackage ¶
type MCMSProposalUpgradePackage struct{}
func (MCMSProposalUpgradePackage) Apply ¶
func (d MCMSProposalUpgradePackage) Apply(e cldf.Environment, config UpgradePackageConfig) (cldf.ChangesetOutput, error)
func (MCMSProposalUpgradePackage) VerifyPreconditions ¶
func (d MCMSProposalUpgradePackage) VerifyPreconditions(e cldf.Environment, config UpgradePackageConfig) error
type ManagedTokenConfigureNewMinter ¶
type ManagedTokenConfigureNewMinter struct{}
func (ManagedTokenConfigureNewMinter) Apply ¶
func (d ManagedTokenConfigureNewMinter) Apply(e cldf.Environment, config ManagedTokenConfigureNewMinterConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (ManagedTokenConfigureNewMinter) VerifyPreconditions ¶
func (d ManagedTokenConfigureNewMinter) VerifyPreconditions(e cldf.Environment, config ManagedTokenConfigureNewMinterConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type MintLinkToken ¶
type MintLinkToken struct{}
func (MintLinkToken) Apply ¶
func (d MintLinkToken) Apply(e cldf.Environment, config MintLinkTokenConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (MintLinkToken) VerifyPreconditions ¶
func (d MintLinkToken) VerifyPreconditions(e cldf.Environment, config MintLinkTokenConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type MintLinkTokenConfig ¶
type NewFeeToken ¶
type NewFeeToken struct{}
ConnectSuiToEVM connects sui chain with EVM
func (NewFeeToken) Apply ¶
func (d NewFeeToken) Apply(e cldf.Environment, config NewFeeTokenConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (NewFeeToken) VerifyPreconditions ¶
func (d NewFeeToken) VerifyPreconditions(e cldf.Environment, config NewFeeTokenConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type NewFeeTokenConfig ¶
type RecordCurserCap ¶
type RecordCurserCap struct{}
func (RecordCurserCap) Apply ¶
func (c RecordCurserCap) Apply(e cldf.Environment, cfg RecordCurserCapConfig) (cldf.ChangesetOutput, error)
func (RecordCurserCap) VerifyPreconditions ¶
func (c RecordCurserCap) VerifyPreconditions(e cldf.Environment, cfg RecordCurserCapConfig) error
type RecordCurserCapConfig ¶
type RegisterCurserCap ¶
type RegisterCurserCap struct{}
func (RegisterCurserCap) Apply ¶
func (c RegisterCurserCap) Apply(e cldf.Environment, cfg RegisterCurserCapConfig) (cldf.ChangesetOutput, error)
func (RegisterCurserCap) VerifyPreconditions ¶
func (c RegisterCurserCap) VerifyPreconditions(e cldf.Environment, cfg RegisterCurserCapConfig) error
type RegisterCurserCapConfig ¶
type RegisterCurserCapConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig"`
}
type RegisterDummyReceiver ¶
type RegisterDummyReceiver struct{}
func (RegisterDummyReceiver) Apply ¶
func (d RegisterDummyReceiver) Apply(e cldf.Environment, config RegisterDummyReceiverConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (RegisterDummyReceiver) VerifyPreconditions ¶
func (d RegisterDummyReceiver) VerifyPreconditions(e cldf.Environment, config RegisterDummyReceiverConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type RegisterUpgradeCap ¶
type RegisterUpgradeCap struct{}
func (RegisterUpgradeCap) Apply ¶
func (r RegisterUpgradeCap) Apply(e cldf.Environment, config RegisterUpgradeCapConfig) (cldf.ChangesetOutput, error)
Apply implements ChangeSetV2 - registers upgrade capability for a package
func (RegisterUpgradeCap) VerifyPreconditions ¶
func (r RegisterUpgradeCap) VerifyPreconditions(e cldf.Environment, config RegisterUpgradeCapConfig) error
VerifyPreconditions implements ChangeSetV2
type RegisterUpgradeCapConfig ¶
type RegisterUpgradeCapConfig struct {
ChainSelector uint64 `json:"chainSelector" validate:"required"`
PackageName string `json:"packageName" validate:"required"`
PackageID string `json:"packageID" validate:"required"`
UpgradeCapID string `json:"upgradeCapID" validate:"required"`
// MCMS details
MCMSPackageID string `json:"mcmsPackageID" validate:"required"`
RegistryObjectID string `json:"registryObjectID" validate:"required"`
DeployerStateObjectID string `json:"deployerStateObjectID" validate:"required"`
}
RegisterUpgradeCapConfig contains the configuration for registering a package upgrade capability
type SeedDestChainPrices ¶
type SeedDestChainPrices struct{}
SeedDestChainPrices seeds initial FeeQuoter prices on Sui.
func (SeedDestChainPrices) Apply ¶
func (SeedDestChainPrices) Apply(e cldf.Environment, config SeedDestChainPricesConfig) (cldf.ChangesetOutput, error)
Apply implements cldf.ChangeSetV2.
func (SeedDestChainPrices) VerifyPreconditions ¶
func (SeedDestChainPrices) VerifyPreconditions(_ cldf.Environment, config SeedDestChainPricesConfig) error
VerifyPreconditions implements cldf.ChangeSetV2.
type SeedDestChainPricesConfig ¶
type SeedDestChainPricesConfig struct {
SuiChainSelector uint64
// Optional source-token prices — USD per 1e18 of the smallest denomination
// (18 decimals). Leave nil / empty to only refresh gas prices. Length of
// SourceTokens must match SourceUsdPerToken.
SourceTokens []string
SourceUsdPerToken []*big.Int
// Destination gas prices — USD per unit gas (18 decimals) keyed by dest
// chain selector. Length of GasDestChainSelectors must match GasUsdPerUnitGas.
// Passing at least one entry here is the whole point of this changeset —
// leaving both empty is a no-op.
GasDestChainSelectors []uint64
GasUsdPerUnitGas []*big.Int
// If non-nil, transactions are batched into an MCMS timelock proposal
// instead of being signed and broadcast directly.
TimelockConfig *utils.TimelockConfig
}
SeedDestChainPricesConfig bootstraps FeeQuoter price entries on a Sui source chain. Use this after a dest chain has been connected (via ConnectSuiToEVM / ConfigureLaneLegAsSource) but before the DON's price pusher publishes its first update — otherwise `ccip::onramp::get_fee` for that dest chain aborts with `fee_quoter::EUnknownDestChainSelector` (code 3), because `usd_per_unit_gas_by_dest_chain` is empty for the newly-registered chain.
New lanes wired through `ConfigureLaneLegAsSource` already seed a price automatically from `input.Dest.GasPrice`; this changeset is the manual escape hatch for lanes that were connected without a price (e.g. Avalanche Fuji as of 2026-07 on Sui testnet), or for topping up source-token prices after a token addition.
type SetDynamicConfigOnRamp ¶
type SetDynamicConfigOnRamp struct{}
func (SetDynamicConfigOnRamp) Apply ¶
func (SetDynamicConfigOnRamp) Apply(e cldf.Environment, config SetDynamicConfigOnRampConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (SetDynamicConfigOnRamp) VerifyPreconditions ¶
func (SetDynamicConfigOnRamp) VerifyPreconditions(e cldf.Environment, config SetDynamicConfigOnRampConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type SetDynamicConfigOnRampConfig ¶
type SetDynamicConfigOnRampConfig struct {
ChainSelector uint64
FeeAggregator string
AllowListAdmin string
TimelockConfig *utils.TimelockConfig // If nil, execute directly; otherwise generate proposal
}
type TPConfigure ¶
type TPConfigure struct{}
ConnectSuiToEVM connects sui chain with EVM
func (TPConfigure) Apply ¶
func (d TPConfigure) Apply(e cldf.Environment, config TPConfigureConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (TPConfigure) VerifyPreconditions ¶
func (d TPConfigure) VerifyPreconditions(e cldf.Environment, config TPConfigureConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type TPConfigureConfig ¶
type TPConfigureConfig struct {
SuiChainSelector uint64
TokenPoolTypes []string
ManagedTPInput managedtokenpoolops.ConfigureManagedTokenPoolInput
LockReleaseTPInput lockreleasetokenpoolops.DeployAndInitLockReleaseTokenPoolInput
BurnMintTpInput burnminttokenpoolops.ConfigureBurnMintTokenPoolInput
TimelockConfig *utils.TimelockConfig
}
type UpgradePackageConfig ¶
type UpgradePackageConfig struct {
mcmsops.UpgradeCCIPInput
IsFastCurse bool `yaml:"isFastCurse,omitempty"`
}
UpgradePackageConfig wraps UpgradeCCIPInput and adds IsFastCurse. When MCMS state fields in UpgradeCCIPInput are left empty, they are auto-populated from the on-chain address book using the IsFastCurse flag.
type UpgradeRegistry ¶
type UpgradeRegistry struct{}
func (UpgradeRegistry) Apply ¶
func (d UpgradeRegistry) Apply(e cldf.Environment, config UpgradeRegistryConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (UpgradeRegistry) VerifyPreconditions ¶
func (d UpgradeRegistry) VerifyPreconditions(e cldf.Environment, config UpgradeRegistryConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type UpgradeRegistryConfig ¶
type WithdrawFeeTokensOnRamp ¶
type WithdrawFeeTokensOnRamp struct{}
func (WithdrawFeeTokensOnRamp) Apply ¶
func (WithdrawFeeTokensOnRamp) Apply(e cldf.Environment, config WithdrawFeeTokensOnRampConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (WithdrawFeeTokensOnRamp) VerifyPreconditions ¶
func (WithdrawFeeTokensOnRamp) VerifyPreconditions(e cldf.Environment, config WithdrawFeeTokensOnRampConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type WithdrawFeeTokensOnRampConfig ¶
type WithdrawFeeTokensOnRampConfig struct {
ChainSelector uint64
FeeTokenMetadataId string
TypeArg string
TimelockConfig *utils.TimelockConfig // If nil, execute directly; otherwise generate proposal
}
Source Files
¶
- cs_accept_ownership_sui_chain.go
- cs_add_ccip_package_id.go
- cs_add_new_fee_token.go
- cs_add_remote_tp.go
- cs_backfill_local_decimals.go
- cs_block_function.go
- cs_block_version.go
- cs_connect_sui_to_evm.go
- cs_curse_uncurse.go
- cs_deploy_ccip_bnm.go
- cs_deploy_dummy_receiver.go
- cs_deploy_link.go
- cs_deploy_managed_token.go
- cs_deploy_managed_token_faucet.go
- cs_deploy_sui_chain.go
- cs_deploy_tp_and_configure.go
- cs_deregister_curser_cap.go
- cs_init_upgrade_registry.go
- cs_initialize_local_decimals.go
- cs_managed_token_configure_new_minter.go
- cs_mcms_accept_ownership_self.go
- cs_mcms_add_allowed_modules.go
- cs_mcms_configure.go
- cs_mcms_deploy.go
- cs_mcms_execute_ownership_transfer.go
- cs_mcms_init_ownership_transfer.go
- cs_mcms_proposal_generate.go
- cs_mcms_proposal_upgrade_package.go
- cs_mcms_user.go
- cs_mcms_user_proposal.go
- cs_mint_token.go
- cs_record_curser_cap.go
- cs_register_curser_cap.go
- cs_register_dummy_receiver.go
- cs_register_upgrade_cap.go
- cs_remove_remote_tp.go
- cs_seed_dest_chain_prices.go
- cs_set_dynamic_config_onramp.go
- cs_set_onramp_router.go
- cs_tp_configure.go
- cs_withdraw_fee_tokens_onramp.go