Documentation
¶
Index ¶
- func ConfigureCantonCommitteeVerifierForLanesFromTopology(...) cldf.ChangeSetV2[v2cs.ConfigureChainsForLanesFromTopologyConfig]
- func ConfigureCantonCommitteeVerifierForLanesFromTopologyAllowingCantonMinNOPs(committeeVerifierContractRegistry *adapters.CommitteeVerifierContractRegistry, ...) deployment.ChangeSetV2[v2_0_0.ConfigureChainsForLanesFromTopologyConfig]
- func ConfigureCantonTokensForTransfers(mcmsRegistry *ccipchangesets.MCMSReaderRegistry) cldf.ChangeSetV2[cciptokens.ConfigureTokensForTransfersConfig]
- func ConfigureChainsForLanesFromTopologyAllowingCantonMinNOPs(committeeVerifierContractRegistry *adapters.CommitteeVerifierContractRegistry, ...) deployment.ChangeSetV2[v2_0_0.ConfigureChainsForLanesFromTopologyConfig]deprecated
- func DeployCantonTokenExpansion() cldf.ChangeSetV2[cciptokens.TokenExpansionInput]
- func WithCantonProductionMinNOPCheckBypassed(topology *offchain.EnvironmentTopology, fn func() error) errordeprecated
- type CantonCSDeps
- type ConfigureGlobalConfig
- type ConfigureGlobalConfigConfig
- type DeployAndConfigureMCMS
- type DeployAndConfigureMCMSConfig
- type DeployAndConfigureMCMSParams
- type DeployBurnMintTokenPool
- type DeployBurnMintTokenPoolConfig
- type DeployCCIPChainContractsFromFactory
- type DeployCCIPChainContractsFromFactoryConfig
- type DeployCCIPFactory
- type DeployCCIPFactoryConfig
- type DeployCCIPFactoryParams
- type DeployCCVFromFactory
- type DeployCCVFromFactoryConfig
- type DeployChainContracts
- type DeployChainContractsConfig
- type DeployCoin
- type DeployCoinConfig
- type DeployFactoryAndSetOwnerToMCMS
- type DeployFactoryAndSetOwnerToMCMSConfig
- type DeployLinkTokenFromFactory
- type DeployLinkTokenFromFactoryConfig
- type DeployLockReleaseTokenPool
- type DeployLockReleaseTokenPoolConfig
- type DeployRMNFromFactory
- type DeployRMNFromFactoryConfig
- type GenerateEDSConfig
- type GenerateEDSConfigConfig
- type HardenCantonInboundLane
- type HardenCantonInboundLaneConfig
- type MCMSConfigParams
- type MCMSRoleConfigParams
- type MCMSTimelockConfig
- type RegisterNativeFeeTokenInTAR
- type RegisterNativeFeeTokenInTARConfig
- type RegisterTokenPool
- type RegisterTokenPoolConfig
- type SetFactoryOwnerToMCMS
- type SetFactoryOwnerToMCMSConfig
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 ConfigureCantonCommitteeVerifierForLanesFromTopologyAllowingCantonMinNOPs ¶
func ConfigureCantonCommitteeVerifierForLanesFromTopologyAllowingCantonMinNOPs( committeeVerifierContractRegistry *adapters.CommitteeVerifierContractRegistry, chainFamilyRegistry *adapters.ChainFamilyRegistry, mcmsRegistry *changesets.MCMSReaderRegistry, ) deployment.ChangeSetV2[v2_0_0.ConfigureChainsForLanesFromTopologyConfig]
ConfigureCantonCommitteeVerifierForLanesFromTopologyAllowingCantonMinNOPs wraps Run 2 (Canton CommitteeVerifier lane configure) with the same production minimum-NOP bypass as Run 1.
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 ConfigureChainsForLanesFromTopologyAllowingCantonMinNOPs
deprecated
func ConfigureChainsForLanesFromTopologyAllowingCantonMinNOPs( committeeVerifierContractRegistry *adapters.CommitteeVerifierContractRegistry, chainFamilyRegistry *adapters.ChainFamilyRegistry, mcmsRegistry *changesets.MCMSReaderRegistry, ) deployment.ChangeSetV2[v2_0_0.ConfigureChainsForLanesFromTopologyConfig]
ConfigureChainsForLanesFromTopologyAllowingCantonMinNOPs wraps chainlink-ccip's ConfigureChainsForLanesFromTopology and bypasses production min-NOP validation via WithCantonProductionMinNOPCheckBypassed during VerifyPreconditions only.
Deprecated: Canton min-NOP is enforced by CantonChainFamilyAdapter.ValidateNOPsTopology (9 mainnet / 4 testnet). Full prod topologies pass without this wrapper. See docs/issues/deprecate-min-nop-bypass-wrappers.md. Remove once ccv uses generic changeset.
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.
func WithCantonProductionMinNOPCheckBypassed
deprecated
func WithCantonProductionMinNOPCheckBypassed(topology *offchain.EnvironmentTopology, fn func() error) error
WithCantonProductionMinNOPCheckBypassed temporarily inflates Canton-family committee and executor-pool chain_configs during VerifyPreconditions only. The on-disk topology and Apply path keep the real membership.
Deprecated: generic validation now delegates to ChainFamily.ValidateNOPsTopology; Canton uses 9 (mainnet) / 4 (testnet) via CantonChainFamilyAdapter — not the EVM 15-NOP rule. This bypass remains for canary topologies with fewer NOPs than the adapter minimum. See docs/issues/deprecate-min-nop-bypass-wrappers.md.
Types ¶
type CantonCSDeps ¶
type ConfigureGlobalConfig ¶
type ConfigureGlobalConfig struct{}
func (ConfigureGlobalConfig) Apply ¶
func (d ConfigureGlobalConfig) Apply(e cldf.Environment, config CantonCSDeps[ConfigureGlobalConfigConfig]) (cldf.ChangesetOutput, error)
func (ConfigureGlobalConfig) VerifyPreconditions ¶
func (d ConfigureGlobalConfig) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[ConfigureGlobalConfigConfig]) error
type ConfigureGlobalConfigConfig ¶
type ConfigureGlobalConfigConfig struct {
InstanceAddress contracts.InstanceAddress
// RawInstanceAddress is the "instanceId@partyId" format needed for MCMS proposals.
RawInstanceAddress string
DestChainUpdates []core.DestChainConfigArgs
SourceChainUpdates []core.SourceChainConfigArgs
TimelockConfig *MCMSTimelockConfig
}
ConfigureGlobalConfigConfig holds the parameters for ConfigureGlobalConfig changeset.
type DeployAndConfigureMCMS ¶
type DeployAndConfigureMCMS struct{}
func (DeployAndConfigureMCMS) Apply ¶
func (d DeployAndConfigureMCMS) Apply(e cldf.Environment, config CantonCSDeps[DeployAndConfigureMCMSConfig]) (cldf.ChangesetOutput, error)
func (DeployAndConfigureMCMS) VerifyPreconditions ¶
func (d DeployAndConfigureMCMS) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployAndConfigureMCMSConfig]) error
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 []mcmsApi.BlockedFunction `json:"blockedFunctions" yaml:"blockedFunctions"`
InitialConfig MCMSConfigParams `json:"initialConfig" yaml:"initialConfig"`
RoleConfigs []MCMSRoleConfigParams `json:"roleConfigs" yaml:"roleConfigs"`
}
type DeployBurnMintTokenPool ¶
type DeployBurnMintTokenPool struct{}
func (DeployBurnMintTokenPool) Apply ¶
func (d DeployBurnMintTokenPool) Apply(e cldf.Environment, config CantonCSDeps[DeployBurnMintTokenPoolConfig]) (cldf.ChangesetOutput, error)
func (DeployBurnMintTokenPool) VerifyPreconditions ¶
func (d DeployBurnMintTokenPool) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployBurnMintTokenPoolConfig]) error
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) Apply ¶
func (d DeployCCIPChainContractsFromFactory) Apply(e cldf.Environment, config CantonCSDeps[DeployCCIPChainContractsFromFactoryConfig]) (cldf.ChangesetOutput, error)
func (DeployCCIPChainContractsFromFactory) VerifyPreconditions ¶
func (d DeployCCIPChainContractsFromFactory) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployCCIPChainContractsFromFactoryConfig]) error
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 (d DeployCCIPFactory) Apply(e cldf.Environment, config CantonCSDeps[DeployCCIPFactoryConfig]) (cldf.ChangesetOutput, error)
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) Apply ¶
func (d DeployCCVFromFactory) Apply(e cldf.Environment, config CantonCSDeps[DeployCCVFromFactoryConfig]) (cldf.ChangesetOutput, error)
func (DeployCCVFromFactory) VerifyPreconditions ¶
func (d DeployCCVFromFactory) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployCCVFromFactoryConfig]) error
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) Apply ¶
func (d DeployChainContracts) Apply(e cldf.Environment, config CantonCSDeps[DeployChainContractsConfig]) (cldf.ChangesetOutput, error)
func (DeployChainContracts) VerifyPreconditions ¶
func (d DeployChainContracts) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployChainContractsConfig]) error
type DeployChainContractsConfig ¶
type DeployChainContractsConfig struct {
Params sequences.DeployChainContractsParams
}
type DeployCoin ¶
type DeployCoin struct{}
func (DeployCoin) Apply ¶
func (d DeployCoin) Apply(e cldf.Environment, config CantonCSDeps[DeployCoinConfig]) (cldf.ChangesetOutput, error)
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) Apply ¶
func (d DeployFactoryAndSetOwnerToMCMS) Apply(e cldf.Environment, config CantonCSDeps[DeployFactoryAndSetOwnerToMCMSConfig]) (cldf.ChangesetOutput, error)
func (DeployFactoryAndSetOwnerToMCMS) VerifyPreconditions ¶
func (d DeployFactoryAndSetOwnerToMCMS) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployFactoryAndSetOwnerToMCMSConfig]) error
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 DeployLinkTokenFromFactory ¶
type DeployLinkTokenFromFactory struct{}
func (DeployLinkTokenFromFactory) Apply ¶
func (d DeployLinkTokenFromFactory) Apply(e cldf.Environment, config CantonCSDeps[DeployLinkTokenFromFactoryConfig]) (cldf.ChangesetOutput, error)
func (DeployLinkTokenFromFactory) VerifyPreconditions ¶
func (d DeployLinkTokenFromFactory) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployLinkTokenFromFactoryConfig]) error
type DeployLinkTokenFromFactoryConfig ¶
type DeployLinkTokenFromFactoryConfig 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.DeployLinkTokenFromFactoryParams
}
type DeployLockReleaseTokenPool ¶
type DeployLockReleaseTokenPool struct{}
func (DeployLockReleaseTokenPool) Apply ¶
func (d DeployLockReleaseTokenPool) Apply(e cldf.Environment, config CantonCSDeps[DeployLockReleaseTokenPoolConfig]) (cldf.ChangesetOutput, error)
func (DeployLockReleaseTokenPool) VerifyPreconditions ¶
func (d DeployLockReleaseTokenPool) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployLockReleaseTokenPoolConfig]) error
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.TokenTransferFeeConfig
// 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) Apply ¶
func (d DeployRMNFromFactory) Apply(e cldf.Environment, config CantonCSDeps[DeployRMNFromFactoryConfig]) (cldf.ChangesetOutput, error)
func (DeployRMNFromFactory) VerifyPreconditions ¶
func (d DeployRMNFromFactory) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[DeployRMNFromFactoryConfig]) error
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 (c GenerateEDSConfig) Apply(e cldf.Environment, config CantonCSDeps[GenerateEDSConfigConfig]) (cldf.ChangesetOutput, error)
func (GenerateEDSConfig) VerifyPreconditions ¶
func (c GenerateEDSConfig) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[GenerateEDSConfigConfig]) error
type GenerateEDSConfigConfig ¶
type GenerateEDSConfigConfig struct {
edsConfig.Config
LockReleaseTransferPreapproval *edsConfig.TransferPreapproval `json:"lock_release_transfer_preapproval,omitempty" toml:"lock_release_transfer_preapproval,omitempty"`
}
GenerateEDSConfigConfig is the input for GenerateEDSConfig. edsConfig.Config carries server/monitoring settings and optional per-pool overlays. LockReleaseTransferPreapproval applies to all discovered lockRelease pools when set.
type HardenCantonInboundLane ¶
type HardenCantonInboundLane struct{}
func (HardenCantonInboundLane) Apply ¶
func (h HardenCantonInboundLane) Apply(e cldf.Environment, config CantonCSDeps[HardenCantonInboundLaneConfig]) (cldf.ChangesetOutput, error)
func (HardenCantonInboundLane) VerifyPreconditions ¶
func (h HardenCantonInboundLane) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[HardenCantonInboundLaneConfig]) error
type HardenCantonInboundLaneConfig ¶
type HardenCantonInboundLaneConfig struct {
RemoteSourceChainSelector uint64 `json:"remoteSourceChainSelector" yaml:"remoteSourceChainSelector"`
// DefaultInboundCCVQualifiers resolves CommitteeVerifier refs from datastore (preferred).
DefaultInboundCCVQualifiers []string `json:"defaultInboundCCVQualifiers,omitempty" yaml:"defaultInboundCCVQualifiers,omitempty"`
// DefaultInboundCCVs optional inline refs; looked up in datastore when labels are missing.
DefaultInboundCCVs []datastore.AddressRef `json:"defaultInboundCCVs,omitempty" yaml:"defaultInboundCCVs,omitempty"`
USDPerUnitGas int64 `json:"usdPerUnitGas,omitempty" yaml:"usdPerUnitGas,omitempty"`
MinDelay time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
// RemoteTokenPrices mirrors adapters.CantonRemoteTokenPricesFamilyExtraKey when non-default prices are needed.
RemoteTokenPrices map[string]any `json:"remoteTokenPrices,omitempty" yaml:"remoteTokenPrices,omitempty"`
// Outbound dest fee hardening (Canton → remote EVM). Omit remoteDestChainSelector to skip.
RemoteDestChainSelector uint64 `json:"remoteDestChainSelector,omitempty" yaml:"remoteDestChainSelector,omitempty"`
OutboundMessageNetworkFeeUSDCents *uint16 `json:"outboundMessageNetworkFeeUSDCents,omitempty" yaml:"outboundMessageNetworkFeeUSDCents,omitempty"`
OutboundTokenNetworkFeeUSDCents *uint16 `json:"outboundTokenNetworkFeeUSDCents,omitempty" yaml:"outboundTokenNetworkFeeUSDCents,omitempty"`
OutboundDefaultTokenFeeUSDCents *uint16 `json:"outboundDefaultTokenFeeUSDCents,omitempty" yaml:"outboundDefaultTokenFeeUSDCents,omitempty"`
DefaultOutboundCCVQualifiers []string `json:"defaultOutboundCCVQualifiers,omitempty" yaml:"defaultOutboundCCVQualifiers,omitempty"`
DefaultExecutorQualifier string `json:"defaultExecutorQualifier,omitempty" yaml:"defaultExecutorQualifier,omitempty"`
}
HardenCantonInboundLaneConfig applies Canton lane hardening for one remote EVM chain: inbound (invalid default CCV + FQ prices) and optional outbound dest fee updates. Use instead of canton-build-lanes-cross-family when only targeted hardening is needed.
type MCMSConfigParams ¶
type MCMSRoleConfigParams ¶
type MCMSRoleConfigParams struct {
Role mcmsApi.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 RegisterNativeFeeTokenInTAR ¶
type RegisterNativeFeeTokenInTAR struct{}
func (RegisterNativeFeeTokenInTAR) Apply ¶
func (r RegisterNativeFeeTokenInTAR) Apply(e cldf.Environment, config CantonCSDeps[RegisterNativeFeeTokenInTARConfig]) (cldf.ChangesetOutput, error)
func (RegisterNativeFeeTokenInTAR) VerifyPreconditions ¶
func (r RegisterNativeFeeTokenInTAR) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[RegisterNativeFeeTokenInTARConfig]) error
type RegisterNativeFeeTokenInTARConfig ¶
type RegisterNativeFeeTokenInTARConfig struct {
CCIPOwnerParty string `json:"ccipOwnerParty" yaml:"ccipOwnerParty"`
MinDelay time.Duration `json:"minDelay,omitempty" yaml:"minDelay,omitempty"`
Description string `json:"description,omitempty" yaml:"description,omitempty"`
InstrumentId splice_api_token_holding_v1.InstrumentId `json:"instrumentId,omitzero" yaml:"instrumentId,omitempty"`
TokenQualifier string `json:"tokenQualifier,omitempty" yaml:"tokenQualifier,omitempty"`
}
RegisterNativeFeeTokenInTARConfig registers the Canton native fee token (Amulet) in TAR. Creates TokenConfig only — no token pool. InstrumentId is resolved from the validator scan-proxy when admin/id are empty (requires ledger access at pipeline run time).
New environments: this is also emitted automatically during lane configure Run 1. Keep this changeset for standalone registration or envs that ran lanes before that hook existed.
type RegisterTokenPool ¶
type RegisterTokenPool struct{}
func (RegisterTokenPool) Apply ¶
func (r RegisterTokenPool) Apply(e cldf.Environment, config CantonCSDeps[RegisterTokenPoolConfig]) (cldf.ChangesetOutput, error)
func (RegisterTokenPool) VerifyPreconditions ¶
func (r RegisterTokenPool) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[RegisterTokenPoolConfig]) error
type RegisterTokenPoolConfig ¶
type RegisterTokenPoolConfig struct {
CcipOwner string
PoolOwner string
PoolAdmin string
InstrumentId splice_api_token_holding_v1.InstrumentId
PoolInstanceID string
}
RegisterTokenPoolConfig registers an already-deployed token pool with the TokenAdminRegistry. CantonCSDeps.Participant selects the CCIP owner participant for all TAR registration steps. PoolAdmin is TokenConfig admin; PoolOwner is recorded in PoolRegistration.
type SetFactoryOwnerToMCMS ¶
type SetFactoryOwnerToMCMS struct{}
func (SetFactoryOwnerToMCMS) Apply ¶
func (s SetFactoryOwnerToMCMS) Apply(e cldf.Environment, config CantonCSDeps[SetFactoryOwnerToMCMSConfig]) (cldf.ChangesetOutput, error)
func (SetFactoryOwnerToMCMS) VerifyPreconditions ¶
func (s SetFactoryOwnerToMCMS) VerifyPreconditions(e cldf.Environment, config CantonCSDeps[SetFactoryOwnerToMCMSConfig]) error
Source Files
¶
- canton_mcms_preconditions.go
- configure_canton_committee_verifier_for_lanes.go
- configure_canton_tokens_for_transfers.go
- configure_chain_contracts.go
- configure_lanes_allowing_canton_min_nops.go
- dependencies.go
- deploy_burn_mint_token_pool.go
- deploy_canton_token_expansion.go
- deploy_chain_contracts.go
- deploy_coin.go
- deploy_factory_and_set_owner_to_mcms.go
- deploy_from_factory.go
- deploy_lock_release_token_pool.go
- deploy_mcms.go
- generate_eds_config.go
- harden_canton_inbound_lane.go
- register_native_fee_token.go
- register_token_pool.go
- topology_production_validate.go