changesets

package
v0.0.0-...-7c24238 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 35 Imported by: 1

Documentation

Index

Constants

View Source
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

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

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 (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) VerifyPreconditions

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

Apply implements deployment.ChangeSetV2.

func (AddRemoteTP) VerifyPreconditions

func (d AddRemoteTP) VerifyPreconditions(e cldf.Environment, config AddRemoteTPConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type AddRemoteTPConfig

type AddRemoteTPConfig struct {
	SuiChainSelector uint64
	TokenPoolTypes   []string

	PoolPackageId          string
	TokenpoolStateObjectId string
	TokenPoolOwnerCapId    string
	CoinObjectTypeArg      string
	RemoteChainSelectors   []uint64
	RemotePoolAddressToAdd []string
}

type BackfillLocalDecimals

type BackfillLocalDecimals struct{}

func (BackfillLocalDecimals) Apply

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 (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 (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

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

Apply implements deployment.ChangeSetV2.

func (ConfigureRouterOnRamp) VerifyPreconditions

func (d ConfigureRouterOnRamp) VerifyPreconditions(e cldf.Environment, config ConfigureRouterOnRampConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type ConfigureRouterOnRampConfig

type ConfigureRouterOnRampConfig struct {
	SuiChainSelector  uint64
	DestChainSelector []uint64
	OnRampPackageId   string
	McmsOwner         string
}

type ConnectSuiToEVM

type ConnectSuiToEVM struct{}

ConnectSuiToEVM connects sui chain with EVM

func (ConnectSuiToEVM) Apply

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 (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

Apply implements deployment.ChangeSetV2.

func (DeployCCIPBnMToken) VerifyPreconditions

func (d DeployCCIPBnMToken) VerifyPreconditions(e cldf.Environment, config DeployCCIPBnMTokenConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type DeployCCIPBnMTokenConfig

type DeployCCIPBnMTokenConfig struct {
	ChainSelector uint64 `yaml:"chainSelector"`
	MintAmount    uint64 `yaml:"mintAmount"`
	MintToAddress string `yaml:"mintToAddress"`
}

type DeployDummyReceiver

type DeployDummyReceiver struct{}

DeployAptosChain deploys Aptos chain packages and modules

func (DeployDummyReceiver) Apply

Apply implements deployment.ChangeSetV2.

func (DeployDummyReceiver) VerifyPreconditions

func (d DeployDummyReceiver) VerifyPreconditions(e cldf.Environment, config DeployDummyReceiverConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type DeployDummyReceiverConfig

type DeployDummyReceiverConfig struct {
	SuiChainSelector uint64
	McmsOwner        string
}

type DeployLinkToken

type DeployLinkToken struct{}

DeployLinkToken deploys Sui chain packages and modules

func (DeployLinkToken) Apply

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

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

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

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 (DeployManagedTokenFaucet) VerifyPreconditions

type DeployManagedTokenFaucetConfig

type DeployManagedTokenFaucetConfig struct {
	ChainSelector   uint64 `yaml:"chainSelector"`
	TokenSymbol     string `yaml:"tokenSymbol"`
	CoinType        string `yaml:"coinType"`
	MintCapObjectId string `yaml:"mintCapObjectId"`
}

type DeploySuiChain

type DeploySuiChain struct{}

DeploySuiChain deploys Sui chain packages and modules

func (DeploySuiChain) Apply

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 DeploySuiChainConfig struct {
	SuiChainSelector              uint64
	DestChainSelector             uint64 // dest chain selector
	DestChainOnRampAddressBytes   []byte // onRamp of the destination chain we are connecting to
	LinkTokenCoinMetadataObjectId string // this defines the initial feeToken
}

type DeployTPAndConfigure

type DeployTPAndConfigure struct{}

ConnectSuiToEVM connects sui chain with EVM

func (DeployTPAndConfigure) Apply

Apply implements deployment.ChangeSetV2.

func (DeployTPAndConfigure) VerifyPreconditions

func (d DeployTPAndConfigure) VerifyPreconditions(e cldf.Environment, config DeployTPAndConfigureConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type DeregisterCurserCap

type DeregisterCurserCap struct{}

func (DeregisterCurserCap) Apply

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

Apply implements deployment.ChangeSetV2.

func (InitMCMSOwnershipTransfer) VerifyPreconditions

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 (InitializeLocalDecimals) VerifyPreconditions

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 (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 (MCMSExecuteTransferOwnership) VerifyPreconditions

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 (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 (MCMSProposalUpgradePackage) VerifyPreconditions

func (d MCMSProposalUpgradePackage) VerifyPreconditions(e cldf.Environment, config UpgradePackageConfig) error

type ManagedTokenConfigureNewMinter

type ManagedTokenConfigureNewMinter struct{}

func (ManagedTokenConfigureNewMinter) Apply

Apply implements deployment.ChangeSetV2.

func (ManagedTokenConfigureNewMinter) VerifyPreconditions

VerifyPreconditions implements deployment.ChangeSetV2.

type ManagedTokenConfigureNewMinterConfig

type ManagedTokenConfigureNewMinterConfig struct {
	SuiChainSelector      uint64
	StateObjectId         string
	OwnerCapObjectId      string
	MinterAddress         string
	CoinObjectTypeArg     string
	ManagedTokenPackageId string
	Allowance             uint64
	IsUnlimited           bool
	Source                string
}

type MintLinkToken

type MintLinkToken struct{}

func (MintLinkToken) Apply

Apply implements deployment.ChangeSetV2.

func (MintLinkToken) VerifyPreconditions

func (d MintLinkToken) VerifyPreconditions(e cldf.Environment, config MintLinkTokenConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type MintLinkTokenConfig

type MintLinkTokenConfig struct {
	ChainSelector  uint64
	TokenPackageId string
	TreasuryCapId  string
	Amount         uint64
}

type NewFeeToken

type NewFeeToken struct{}

ConnectSuiToEVM connects sui chain with EVM

func (NewFeeToken) Apply

Apply implements deployment.ChangeSetV2.

func (NewFeeToken) VerifyPreconditions

func (d NewFeeToken) VerifyPreconditions(e cldf.Environment, config NewFeeTokenConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type NewFeeTokenConfig

type NewFeeTokenConfig struct {
	SuiChainSelector  uint64
	FeeTokensToRemove []string
	FeeTokensToAdd    []string // should be the objectID

	// update price
	SourceUsdPerToken []*big.Int

	// premium multiplier wei per eth
	PremiumMultiplierWeiPerEth []uint64
}

type RecordCurserCap

type RecordCurserCap struct{}

func (RecordCurserCap) Apply

func (RecordCurserCap) VerifyPreconditions

func (c RecordCurserCap) VerifyPreconditions(e cldf.Environment, cfg RecordCurserCapConfig) error

type RecordCurserCapConfig

type RecordCurserCapConfig struct {
	SuiChainSelector  uint64 `yaml:"suiChainSelector"`
	TxDigest          string `yaml:"txDigest,omitempty"`
	CurserCapObjectId string `yaml:"curserCapObjectId,omitempty"`
}

type RegisterCurserCap

type RegisterCurserCap struct{}

func (RegisterCurserCap) Apply

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

Apply implements deployment.ChangeSetV2.

func (RegisterDummyReceiver) VerifyPreconditions

func (d RegisterDummyReceiver) VerifyPreconditions(e cldf.Environment, config RegisterDummyReceiverConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type RegisterDummyReceiverConfig

type RegisterDummyReceiverConfig struct {
	SuiChainSelector       uint64
	OwnerCapObjectId       string
	CCIPObjectRefObjectId  string
	DummyReceiverPackageId string
}

type RegisterUpgradeCap

type RegisterUpgradeCap struct{}

func (RegisterUpgradeCap) Apply

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

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

Apply implements deployment.ChangeSetV2.

func (SetDynamicConfigOnRamp) VerifyPreconditions

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

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

Apply implements deployment.ChangeSetV2.

func (UpgradeRegistry) VerifyPreconditions

func (d UpgradeRegistry) VerifyPreconditions(e cldf.Environment, config UpgradeRegistryConfig) error

VerifyPreconditions implements deployment.ChangeSetV2.

type UpgradeRegistryConfig

type UpgradeRegistryConfig struct {
	SuiChainSelector uint64
	CCIPPackageId    string
	StateObjectId    string
	OwnerCapObjectId string
}

type WithdrawFeeTokensOnRamp

type WithdrawFeeTokensOnRamp struct{}

func (WithdrawFeeTokensOnRamp) Apply

Apply implements deployment.ChangeSetV2.

func (WithdrawFeeTokensOnRamp) VerifyPreconditions

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
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL