changesets

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: May 29, 2026 License: MIT Imports: 20 Imported by: 0

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

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.

Jump to

Keyboard shortcuts

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