Documentation
¶
Index ¶
- Constants
- func LastSuccessfulReportTxDigest(reports []types.TransactionResult) (string, error)
- type AcceptMCMSOwnership
- type AcceptMCMSOwnershipConfig
- type AcceptOwnershipCCIP
- type AcceptOwnershipCCIPConfig
- type AcceptOwnershipTokenPool
- type AcceptOwnershipTokenPoolConfig
- 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 DeployCCIPLnRToken
- type DeployCCIPLnRTokenConfig
- type DeployDummyReceiver
- type DeployDummyReceiverConfig
- type DeployLinkToken
- type DeployLinkTokenConfig
- type DeployMCMS
- type DeployMCMSConfig
- type DeployMCMSUser
- type DeployMCMSUserConfig
- type DeployMaliciousReceiver
- type DeployMaliciousReceiverConfig
- type DeployMaliciousTokenPool
- type DeployMaliciousTokenPoolConfig
- 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 RegisterMaliciousReceiver
- type RegisterMaliciousReceiverConfig
- type RegisterUpgradeCap
- type RegisterUpgradeCapConfig
- type SeedDestChainPrices
- type SeedDestChainPricesConfig
- type SetDynamicConfigOnRamp
- type SetDynamicConfigOnRampConfig
- type SetTokenTransferFees
- type SetTokenTransferFeesConfig
- type TPConfigure
- type TPConfigureConfig
- type TransferOwnershipTokenPool
- type TransferOwnershipTokenPoolConfig
- type UnregisterTokenPool
- type UnregisterTokenPoolConfig
- type UpgradePackageConfig
- type UpgradeRegistry
- type UpgradeRegistryConfig
- type WithdrawFeeTokensOnRamp
- type WithdrawFeeTokensOnRampConfig
Constants ¶
const CCIPBnMSymbol = "CCIP BnM"
const CCIPLnRSymbol = "CCIP LnR"
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 AcceptOwnershipTokenPool ¶
type AcceptOwnershipTokenPool struct{}
AcceptOwnershipTokenPool generates an MCMS timelock proposal that accepts ownership of one or more deployed Sui token pools (managed / burn-mint / lock-release). It mirrors AcceptOwnershipCCIP, which only covers the CCIP core contracts Router/OnRamp/OffRamp/StateObject.
The proposal must be signed and executed through the target MCMS instance's timelock before execute_ownership_transfer_to_mcms can run.
func (AcceptOwnershipTokenPool) Apply ¶
func (d AcceptOwnershipTokenPool) Apply(e cldf.Environment, config AcceptOwnershipTokenPoolConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (AcceptOwnershipTokenPool) VerifyPreconditions ¶
func (d AcceptOwnershipTokenPool) VerifyPreconditions(e cldf.Environment, config AcceptOwnershipTokenPoolConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type AcceptOwnershipTokenPoolConfig ¶
type AcceptOwnershipTokenPoolConfig struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
TimelockConfig utils.TimelockConfig `json:"timelockConfig" yaml:"timelockConfig"`
// Select the token pool(s) to accept. TypeArg is applied to every selected
// pool, matching MCMSExecuteTransferOwnership's single type-arg convention.
ManagedTokenPoolTokenSymbol string `json:"managed_token_pool,omitempty" yaml:"managed_token_pool,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"`
TypeArg string `json:"type_arg,omitempty" yaml:"type_arg,omitempty"`
}
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 DeployCCIPLnRToken ¶
type DeployCCIPLnRToken struct{}
DeployCCIPLnRToken deploys Sui chain packages and modules
func (DeployCCIPLnRToken) Apply ¶
func (d DeployCCIPLnRToken) Apply(e cldf.Environment, config DeployCCIPLnRTokenConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployCCIPLnRToken) VerifyPreconditions ¶
func (d DeployCCIPLnRToken) VerifyPreconditions(e cldf.Environment, config DeployCCIPLnRTokenConfig) 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 DeployMaliciousReceiver ¶
type DeployMaliciousReceiver struct{}
DeployMaliciousReceiver deploys the TEST-only malicious receiver used by the transmitter-ownership guard E2E smoke test.
func (DeployMaliciousReceiver) Apply ¶
func (d DeployMaliciousReceiver) Apply(e cldf.Environment, config DeployMaliciousReceiverConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployMaliciousReceiver) VerifyPreconditions ¶
func (d DeployMaliciousReceiver) VerifyPreconditions(e cldf.Environment, config DeployMaliciousReceiverConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployMaliciousTokenPool ¶
type DeployMaliciousTokenPool struct{}
DeployMaliciousTokenPool deploys and initializes the TEST-only malicious token pool used by the ReleaseOrMintParams ownership guard E2E smoke test.
func (DeployMaliciousTokenPool) Apply ¶
func (d DeployMaliciousTokenPool) Apply(e cldf.Environment, config DeployMaliciousTokenPoolConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (DeployMaliciousTokenPool) VerifyPreconditions ¶
func (d DeployMaliciousTokenPool) VerifyPreconditions(e cldf.Environment, config DeployMaliciousTokenPoolConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type DeployMaliciousTokenPoolConfig ¶
type DeployMaliciousTokenPoolConfig struct {
SuiChainSelector uint64
McmsOwner string
CoinObjectTypeArg string
CCIPObjectRefObjectId string
CoinMetadataObjectId string
TreasuryCapObjectId string
TokenPoolAdministrator string
ReleaseOrMintParams []string
}
DeployMaliciousTokenPoolConfig configures the TEST-only malicious token pool deploy used by the ReleaseOrMintParams ownership guard E2E smoke test. The pool is registered with ReleaseOrMintParams as its release_or_mint_params; that is the attacker-controlled field the offchain guard defends.
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 RegisterMaliciousReceiver ¶
type RegisterMaliciousReceiver struct{}
func (RegisterMaliciousReceiver) Apply ¶
func (d RegisterMaliciousReceiver) Apply(e cldf.Environment, config RegisterMaliciousReceiverConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (RegisterMaliciousReceiver) VerifyPreconditions ¶
func (d RegisterMaliciousReceiver) VerifyPreconditions(e cldf.Environment, config RegisterMaliciousReceiverConfig) 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 SetTokenTransferFees ¶
type SetTokenTransferFees struct{}
SetTokenTransferFees applies token transfer fee config updates to the Sui CCIP FeeQuoter.
func (SetTokenTransferFees) Apply ¶
func (d SetTokenTransferFees) Apply(e cldf.Environment, config SetTokenTransferFeesConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (SetTokenTransferFees) VerifyPreconditions ¶
func (d SetTokenTransferFees) VerifyPreconditions(e cldf.Environment, config SetTokenTransferFeesConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type SetTokenTransferFeesConfig ¶
type SetTokenTransferFeesConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
DestChainSelector uint64 `yaml:"destChainSelector"`
AddTokens []string `yaml:"addTokens"`
AddMinFeeUsdCents []uint32 `yaml:"addMinFeeUsdCents"`
AddMaxFeeUsdCents []uint32 `yaml:"addMaxFeeUsdCents"`
AddDeciBps []uint16 `yaml:"addDeciBps"`
AddDestGasOverhead []uint32 `yaml:"addDestGasOverhead"`
AddDestBytesOverhead []uint32 `yaml:"addDestBytesOverhead"`
AddIsEnabled []bool `yaml:"addIsEnabled"`
RemoveTokens []string `yaml:"removeTokens"`
// If non-nil, the operation is built as a call payload and wrapped into an MCMS
// timelock proposal instead of being signed and broadcast directly by the EOA.
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
SetTokenTransferFeesConfig sets per-token, per-destination-chain transfer fee config on the Sui CCIP FeeQuoter. Token object IDs are coin-metadata object IDs, matching the fee-token identifier convention. Each Add* slice must be the same length as AddTokens.
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.ConfigureLockReleaseTokenPoolInput
BurnMintTpInput burnminttokenpoolops.ConfigureBurnMintTokenPoolInput
TimelockConfig *utils.TimelockConfig
}
type TransferOwnershipTokenPool ¶
type TransferOwnershipTokenPool struct{}
TransferOwnershipTokenPool initiates ownership transfer of one or more deployed Sui token pools (managed / burn-mint / lock-release) to the slow MCMS instance. This is step 1 of the 3-step Sui ownership-to-MCMS flow: it is deployer-signed and direct, setting the pending transfer (accepted=false) on each pool. The MCMS then accepts (step 2, AcceptOwnershipTokenPool) and the deployer finalizes via execute_ownership_transfer_to_mcms (step 3, MCMSExecuteTransferOwnership).
Token-pool ownership always targets the slow MCMS instance, matching MCMSExecuteTransferOwnership which forbids fastcurse receiving CCIP ownership.
func (TransferOwnershipTokenPool) Apply ¶
func (d TransferOwnershipTokenPool) Apply(e cldf.Environment, config TransferOwnershipTokenPoolConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (TransferOwnershipTokenPool) VerifyPreconditions ¶
func (d TransferOwnershipTokenPool) VerifyPreconditions(e cldf.Environment, config TransferOwnershipTokenPoolConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type TransferOwnershipTokenPoolConfig ¶
type TransferOwnershipTokenPoolConfig struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
// Select the token pool(s) to transfer. TypeArg is applied to every selected
// pool, matching MCMSExecuteTransferOwnership's single type-arg convention.
ManagedTokenPoolTokenSymbol string `json:"managed_token_pool,omitempty" yaml:"managed_token_pool,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"`
TypeArg string `json:"type_arg,omitempty" yaml:"type_arg,omitempty"`
}
type UnregisterTokenPool ¶
type UnregisterTokenPool struct{}
UnregisterTokenPool removes a token's registration from the CCIP Token Admin Registry using the deployer key. It calls the public admin-gated token_admin_registry::unregister_pool, which asserts the caller is the token's configured administrator — not the pool OwnerCap holder. This is used to clear a stale on-chain registration so a pool can be redeployed and re-registered, since pool initialization registers unconditionally and aborts with ETokenAlreadyRegistered when the coin is already present.
func (UnregisterTokenPool) Apply ¶
func (d UnregisterTokenPool) Apply(e cldf.Environment, config UnregisterTokenPoolConfig) (cldf.ChangesetOutput, error)
Apply implements deployment.ChangeSetV2.
func (UnregisterTokenPool) VerifyPreconditions ¶
func (d UnregisterTokenPool) VerifyPreconditions(e cldf.Environment, config UnregisterTokenPoolConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type UnregisterTokenPoolConfig ¶
type UnregisterTokenPoolConfig struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
// CoinMetadataAddress is the CoinMetadata object id of the token to
// unregister. The Token Admin Registry keys registrations on the CoinMetadata
// object id, not the coin-type string.
CoinMetadataAddress string `json:"coinMetadataAddress" yaml:"coinMetadataAddress"`
// OwnerCapObjectId is only used to build MCMS callback data, which the EOA
// path does not send. Leave empty for deployer-key execution.
OwnerCapObjectId string `json:"ownerCapObjectId,omitempty" yaml:"ownerCapObjectId,omitempty"`
}
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. With timelockConfig set, the op runs without a signer and an MCMS timelock proposal is produced; the UpgradeRegistry object is only created when that proposal executes on-chain, so the address-book save is deferred to post-execution state generation. Without timelockConfig, the environment signer initializes the registry directly and the resulting object ID is saved to the address book here.
func (UpgradeRegistry) VerifyPreconditions ¶
func (d UpgradeRegistry) VerifyPreconditions(e cldf.Environment, config UpgradeRegistryConfig) error
VerifyPreconditions implements deployment.ChangeSetV2.
type UpgradeRegistryConfig ¶
type UpgradeRegistryConfig struct {
SuiChainSelector uint64 `yaml:"suiChainSelector"`
CCIPPackageId string `yaml:"ccipPackageId"`
LatestCCIPPackageId string `yaml:"latestCCIPPackageId,omitempty"`
StateObjectId string `yaml:"stateObjectId"`
OwnerCapObjectId string `yaml:"ownerCapObjectId"`
TimelockConfig *utils.TimelockConfig `yaml:"timelockConfig,omitempty"`
}
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_accept_ownership_token_pool.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_ccip_lnr.go
- cs_deploy_dummy_receiver.go
- cs_deploy_link.go
- cs_deploy_malicious_receiver.go
- cs_deploy_malicious_token_pool.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_malicious_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_set_token_transfer_fees.go
- cs_tp_configure.go
- cs_transfer_ownership_token_pool.go
- cs_unregister_token_pool.go
- cs_withdraw_fee_tokens_onramp.go