Documentation
¶
Overview ¶
Package changesets provides reusable LINK token changesets.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeployLinkTokenChangeset ¶
type DeployLinkTokenChangeset struct{}
DeployLinkTokenChangeset deploys LINK tokens across EVM and Solana chains.
func (DeployLinkTokenChangeset) Apply ¶
func (DeployLinkTokenChangeset) Apply(e cldf.Environment, input DeployLinkTokenInput) (cldf.ChangesetOutput, error)
func (DeployLinkTokenChangeset) VerifyPreconditions ¶
func (DeployLinkTokenChangeset) VerifyPreconditions(e cldf.Environment, input DeployLinkTokenInput) error
type DeployLinkTokenInput ¶
type DeployLinkTokenInput struct {
EVM map[uint64]EVMLinkConfig `yaml:"evm,omitempty" json:"evm,omitempty"`
Solana map[uint64]SolanaLinkConfig `yaml:"solana,omitempty" json:"solana,omitempty"`
}
DeployLinkTokenInput specifies which chains to deploy LINK tokens to and how.
type EVMLinkConfig ¶
type EVMLinkConfig struct {
Variant EVMLinkVariant `yaml:"variant,omitempty" json:"variant,omitempty"`
Qualifier string `yaml:"qualifier,omitempty" json:"qualifier,omitempty"`
}
EVMLinkConfig holds per-chain configuration for EVM LINK token deployment.
type EVMLinkVariant ¶
type EVMLinkVariant string
EVMLinkVariant selects the EVM LINK token contract to deploy. The zero value deploys the burn/mint ERC677 variant (the default for all modern chains).
const ( // EVMLinkBurnMint deploys a burn/mint ERC677 LINK token. This is the default. EVMLinkBurnMint EVMLinkVariant = "" // EVMLinkStatic deploys a non-burn/mint static LINK token for chains that do not // support the burn/mint interface. EVMLinkStatic EVMLinkVariant = "static" )
type SolanaLinkConfig ¶
type SolanaLinkConfig struct {
TokenPrivKey solana.PrivateKey `yaml:"tokenPrivKey" json:"tokenPrivKey"`
TokenDecimals uint8 `yaml:"tokenDecimals" json:"tokenDecimals"`
Qualifier string `yaml:"qualifier,omitempty" json:"qualifier,omitempty"`
}
SolanaLinkConfig holds per-chain configuration for Solana LINK token deployment.
type TransferLinkTokenChangeset ¶
type TransferLinkTokenChangeset struct{}
TransferLinkTokenChangeset creates an MCMS Timelock proposal to transfer LINK tokens from a Timelock-controlled address to a recipient.
func (TransferLinkTokenChangeset) Apply ¶
func (TransferLinkTokenChangeset) Apply(e cldf.Environment, input TransferLinkTokenInput) (cldf.ChangesetOutput, error)
func (TransferLinkTokenChangeset) VerifyPreconditions ¶
func (TransferLinkTokenChangeset) VerifyPreconditions(e cldf.Environment, input TransferLinkTokenInput) error
type TransferLinkTokenInput ¶
type TransferLinkTokenInput struct {
ChainSelector uint64 `json:"chainSelector" yaml:"chainSelector"`
To common.Address `json:"to" yaml:"to"`
Amount *big.Int `json:"amount" yaml:"amount"`
TimelockDelay mcmstypes.Duration `json:"timelockDelay" yaml:"timelockDelay"`
Qualifier string `json:"qualifier,omitempty" yaml:"qualifier,omitempty"`
ValidUntil *time.Time `json:"validUntil,omitempty" yaml:"validUntil,omitempty"`
}
TransferLinkTokenInput holds the parameters for an MCMS-gated LINK token transfer.