changesets

package
v0.0.0-...-346157b Latest Latest
Warning

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

Go to latest
Published: May 27, 2026 License: MIT Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfigureCantonCommitteeVerifierForLanesFromTopology

func ConfigureCantonCommitteeVerifierForLanesFromTopology(
	committeeVerifierContractRegistry *ccipadapters.CommitteeVerifierContractRegistry,
	chainFamilyRegistry *ccipadapters.ChainFamilyRegistry,
	mcmsRegistry *ccipchangesets.MCMSReaderRegistry,
) cldf.ChangeSetV2[v2cs.ConfigureChainsForLanesFromTopologyConfig]

ConfigureCantonCommitteeVerifierForLanesFromTopology is Run 2: Canton CommitteeVerifier lane configure only. Emits mcms-ccv timelock proposals; does not configure CCIP core contracts.

func ConfigureCantonTokensForTransfers

func ConfigureCantonTokensForTransfers(
	mcmsRegistry *ccipchangesets.MCMSReaderRegistry,
) cldf.ChangeSetV2[cciptokens.ConfigureTokensForTransfersConfig]

ConfigureCantonTokensForTransfers configures Canton token pools for cross-chain transfers and emits one MCMS timelock proposal against mcms-ccip (ccipOwner). The proposal may include TAR registration, rate limiter deploys (via ccip factory), and token pool ApplyChainUpdates.

Run after DeployCantonTokenExpansion when pools are deployed and lane configure has completed.

func DeployCantonTokenExpansion

func DeployCantonTokenExpansion() cldf.ChangeSetV2[cciptokens.TokenExpansionInput]

DeployCantonTokenExpansion deploys Canton token pools (and optionally resolves token refs) and emits one MCMS timelock proposal against mcms-ccip (ccipOwner).

Run after DeployCCIPChainContractsFromFactory and Run 1 lane configure. Omit TokenTransferConfig from per-chain input for deploy-only; use ConfigureCantonTokensForTransfers to wire remote lanes, rate limiters, and TAR registration for transfers.

Types

type CantonCSDeps

type CantonCSDeps[CFG any] struct {
	ChainSelector uint64

	// Which participant in the environment to use (0-indexed, i.e. defaults to the first participant)
	Participant int

	Config CFG
}

type ConfigureGlobalConfig

type ConfigureGlobalConfig struct{}

func (ConfigureGlobalConfig) VerifyPreconditions

type ConfigureGlobalConfigConfig

type ConfigureGlobalConfigConfig struct {
	InstanceAddress contracts.InstanceAddress
	// RawInstanceAddress is the "instanceId@partyId" format needed for MCMS proposals.
	RawInstanceAddress string
	DestChainUpdates   []common.DestChainConfigArgs
	SourceChainUpdates []common.SourceChainConfigArgs
	TimelockConfig     *MCMSTimelockConfig
}

ConfigureGlobalConfigConfig holds the parameters for ConfigureGlobalConfig changeset.

type DeployAndConfigureMCMS

type DeployAndConfigureMCMS struct{}

func (DeployAndConfigureMCMS) VerifyPreconditions

type DeployAndConfigureMCMSConfig

type DeployAndConfigureMCMSConfig struct {
	Params DeployAndConfigureMCMSParams `json:"params" yaml:"params"`
}

type DeployAndConfigureMCMSParams

type DeployAndConfigureMCMSParams struct {
	OwnerParty       string                         `json:"ownerParty" yaml:"ownerParty"`
	InstanceID       string                         `json:"instanceID,omitempty" yaml:"instanceID,omitempty"`
	ChainID          int64                          `json:"chainID" yaml:"chainID"`
	Qualifier        string                         `json:"qualifier,omitempty" yaml:"qualifier,omitempty"`
	MinDelay         time.Duration                  `json:"minDelay" yaml:"minDelay"`
	BlockedFunctions []mcmsbindings.BlockedFunction `json:"blockedFunctions" yaml:"blockedFunctions"`
	InitialConfig    MCMSConfigParams               `json:"initialConfig" yaml:"initialConfig"`
	RoleConfigs      []MCMSRoleConfigParams         `json:"roleConfigs" yaml:"roleConfigs"`
}

type DeployBurnMintTokenPool

type DeployBurnMintTokenPool struct{}

func (DeployBurnMintTokenPool) VerifyPreconditions

type DeployBurnMintTokenPoolConfig

type DeployBurnMintTokenPoolConfig struct {
	CcipOwner    string
	PoolOwner    string
	InstrumentId splice_api_token_holding_v1.InstrumentId
	Decimals     int64
	// Optional explicit instance ID for the pool.
	// If empty, deploy operation generates one.
	InstanceID string
	// Qualifier is optional (e.g. token symbol) for AddressRef and idempotency.
	Qualifier string
	// Optional; defaults to empty. PoolReceiveContext can be set for receive context.
	PoolReceiveContext splice_api_token_metadata_v1.ChoiceContext
	// Optional; defaults to 24h RelativeHours. TransferTimeout for the pool.
	TransferTimeout burnminttokenpool.TransferTimeout
	// Optional; defaults to empty map.
	RemoteChainConfigs map[types.NUMERIC]burnminttokenpool.RemoteChainConfig
	// Optional; defaults to empty map.
	TokenTransferFeeConfigs map[types.NUMERIC]burnminttokenpool.TokenTransferFeeConfig
	// Optional; zero-value deps if not provided.
	Deps burnminttokenpool.BurnMintTokenPoolDeps
	// If set, the pool is registered with this TokenAdminRegistry (ProposeAdministrator, AcceptAdminRole, SetPool) in the same changeset.
	TokenAdminRegistryInstanceAddress contracts.InstanceAddress
}

DeployBurnMintTokenPoolConfig is the config for deploying a BurnMintTokenPool. If TokenAdminRegistryInstanceAddress is set, the pool is also registered with that TAR in the same changeset.

type DeployCCIPChainContractsFromFactory

type DeployCCIPChainContractsFromFactory struct{}

func (DeployCCIPChainContractsFromFactory) VerifyPreconditions

type DeployCCIPChainContractsFromFactoryConfig

type DeployCCIPChainContractsFromFactoryConfig struct {
	OwnerParty     string        `json:"ownerParty" yaml:"ownerParty"`
	CCIPOwnerParty string        `json:"ccipOwnerParty" yaml:"ccipOwnerParty"`
	MinDelay       time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
	Description    string        `json:"description,omitempty" yaml:"description,omitempty"`
	Params         sequences.DeployChainContractsParams
}

type DeployCCIPFactory

type DeployCCIPFactory struct{}

func (DeployCCIPFactory) Apply

func (DeployCCIPFactory) VerifyPreconditions

func (d DeployCCIPFactory) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployCCIPFactoryConfig]) error

type DeployCCIPFactoryConfig

type DeployCCIPFactoryConfig struct {
	Params DeployCCIPFactoryParams `json:"params" yaml:"params"`
}

type DeployCCIPFactoryParams

type DeployCCIPFactoryParams struct {
	OwnerParty string `json:"ownerParty" yaml:"ownerParty"`
	MCMSParty  string `json:"mcmsParty,omitempty" yaml:"mcmsParty,omitempty"`
	InstanceID string `json:"instanceID,omitempty" yaml:"instanceID,omitempty"`
	Qualifier  string `json:"qualifier,omitempty" yaml:"qualifier,omitempty"`
}

type DeployCCVFromFactory

type DeployCCVFromFactory struct{}

func (DeployCCVFromFactory) VerifyPreconditions

type DeployCCVFromFactoryConfig

type DeployCCVFromFactoryConfig struct {
	OwnerParty     string        `json:"ownerParty" yaml:"ownerParty"`
	CCIPOwnerParty string        `json:"ccipOwnerParty" yaml:"ccipOwnerParty"`
	CCVOwnerParty  string        `json:"ccvOwnerParty" yaml:"ccvOwnerParty"`
	MinDelay       time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
	Description    string        `json:"description,omitempty" yaml:"description,omitempty"`
	Params         sequences.DeployChainContractsParams
}

type DeployChainContracts

type DeployChainContracts struct{}

func (DeployChainContracts) VerifyPreconditions

type DeployChainContractsConfig

type DeployChainContractsConfig struct {
	Params sequences.DeployChainContractsParams
}

type DeployCoin

type DeployCoin struct{}

func (DeployCoin) Apply

func (DeployCoin) VerifyPreconditions

func (d DeployCoin) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployCoinConfig]) error

type DeployCoinConfig

type DeployCoinConfig struct {
	Symbol string
}

type DeployFactoryAndSetOwnerToMCMS

type DeployFactoryAndSetOwnerToMCMS struct{}

func (DeployFactoryAndSetOwnerToMCMS) VerifyPreconditions

type DeployFactoryAndSetOwnerToMCMSConfig

type DeployFactoryAndSetOwnerToMCMSConfig struct {
	OwnerParty string        `json:"ownerParty" yaml:"ownerParty"`
	MCMSParty  string        `json:"mcmsParty" yaml:"mcmsParty"`
	InstanceID string        `json:"instanceID,omitempty" yaml:"instanceID,omitempty"`
	Qualifier  string        `json:"qualifier,omitempty" yaml:"qualifier,omitempty"`
	MinDelay   time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
}

DeployFactoryAndSetOwnerToMCMS deploys a CCIPFactory and returns an MCMS proposal to transfer ownership.

type DeployLockReleaseTokenPool

type DeployLockReleaseTokenPool struct{}

func (DeployLockReleaseTokenPool) VerifyPreconditions

type DeployLockReleaseTokenPoolConfig

type DeployLockReleaseTokenPoolConfig struct {
	CcipOwner    string
	PoolOwner    string
	InstrumentId splice_api_token_holding_v1.InstrumentId
	Decimals     int64
	// Optional explicit instance ID for the pool.
	// If empty, deploy operation generates one.
	InstanceID string
	// Qualifier is optional (e.g. token symbol) for AddressRef and idempotency.
	Qualifier string
	// Optional; defaults to empty. PoolReceiveContext can be set for receive context.
	PoolReceiveContext splice_api_token_metadata_v1.ChoiceContext
	// Optional; defaults to 24h RelativeHours. TransferTimeout for the pool.
	TransferTimeout lockreleasetokenpool.TransferTimeout
	// Optional; defaults to empty map.
	RemoteChainConfigs map[types.NUMERIC]lockreleasetokenpool.RemoteChainConfig
	// Optional; defaults to empty map.
	TokenTransferFeeConfigs map[types.NUMERIC]lockreleasetokenpool.TokenTransferFeeConfig2
	// Optional; zero-value deps if not provided.
	Deps lockreleasetokenpool.LockReleaseTokenPoolDeps
	// If set, the pool is registered with this TokenAdminRegistry (ProposeAdministrator, AcceptAdminRole, SetPool) in the same changeset.
	TokenAdminRegistryInstanceAddress contracts.InstanceAddress
}

DeployLockReleaseTokenPoolConfig is the config for deploying a LockReleaseTokenPool. If TokenAdminRegistryInstanceAddress is set, the pool is also registered with that TAR in the same changeset.

type DeployRMNFromFactory

type DeployRMNFromFactory struct{}

func (DeployRMNFromFactory) VerifyPreconditions

type DeployRMNFromFactoryConfig

type DeployRMNFromFactoryConfig struct {
	OwnerParty     string        `json:"ownerParty" yaml:"ownerParty"`
	CCIPOwnerParty string        `json:"ccipOwnerParty" yaml:"ccipOwnerParty"`
	RMNOwnerParty  string        `json:"rmnOwnerParty" yaml:"rmnOwnerParty"`
	MinDelay       time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
	Description    string        `json:"description,omitempty" yaml:"description,omitempty"`
	Params         sequences.DeployChainContractsParams
}

type GenerateEDSConfig

type GenerateEDSConfig struct{}

func (GenerateEDSConfig) Apply

func (GenerateEDSConfig) VerifyPreconditions

func (c GenerateEDSConfig) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[edsConfig.Config]) error

type MCMSConfigParams

type MCMSConfigParams struct {
	Signers      []mcmsbindings.SignerInfo `json:"signers" yaml:"signers"`
	GroupQuorums []types.INT64             `json:"groupQuorums" yaml:"groupQuorums"`
	GroupParents []types.INT64             `json:"groupParents" yaml:"groupParents"`
	ClearRoot    bool                      `json:"clearRoot" yaml:"clearRoot"`
}

type MCMSRoleConfigParams

type MCMSRoleConfigParams struct {
	Role   mcmsbindings.Role `json:"role" yaml:"role"`
	Config MCMSConfigParams  `json:"config" yaml:"config"`
}

type MCMSTimelockConfig

type MCMSTimelockConfig struct {
	MinDelay         time.Duration
	Description      string
	OverridePrevRoot bool
	Action           mcms_types.TimelockAction
	// MCMSContract describes the MCMS contract for on-chain state queries.
	MCMSContract cantonmcms.MCMSContractInfo
	// Role is the MCMS role to use (proposer, canceller, bypasser).
	Role cantonsdk.TimelockRole
}

MCMSTimelockConfig configures MCMS timelock proposals instead of direct execution.

type SetFactoryOwnerToMCMS

type SetFactoryOwnerToMCMS struct{}

func (SetFactoryOwnerToMCMS) VerifyPreconditions

type SetFactoryOwnerToMCMSConfig

type SetFactoryOwnerToMCMSConfig struct {
	FactoryQualifier string        `json:"factoryQualifier" yaml:"factoryQualifier"`
	MCMSParty        string        `json:"mcmsParty" yaml:"mcmsParty"`
	MinDelay         time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
}

Jump to

Keyboard shortcuts

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