ccip

package
v0.0.0-...-92c9f9d Latest Latest
Warning

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

Go to latest
Published: Nov 9, 2026 License: MIT Imports: 53 Imported by: 1

Documentation

Overview

Package ccip holds Stellar CCIP deployment helpers: datastore contract types, lane/onramp config, topology conversion, the CCIPDevenvHost surface for Soroban devenv, post-deploy token pool (DeployLockReleaseTestTokenPool), CLDF-backed devenv host (NewCLDFStellarCCIPDevenvHost), and stellarutil/. Full-stack deploy entrypoints that merge CCV topology and run github.com/smartcontractkit/chainlink-stellar/deployment/sequences.RunStellarCCIPFullDeploy live in package sequences (github.com/smartcontractkit/chainlink-stellar/deployment/sequences.RunStellarCCIPFullDeployForCCV, github.com/smartcontractkit/chainlink-stellar/deployment/sequences.DeployStellarCCIPContracts). Those entrypoints require a non-nil CCV environment topology so committee verifier signature quorum can be configured from offchain NOP/committee data.

Index

Constants

View Source
const (
	CcipReceiverContractType = "CcipReceiverExample"
	// TokenAdminRegistryContractType matches the EVM datastore type (and the ops
	// constant): a single vocabulary, no boundary translation.
	TokenAdminRegistryContractType = "TokenAdminRegistry"
	TestTokenContractType          = "sac_token"

	// DevenvTestTokenPoolQualifier is the datastore qualifier for the siloed test pool used in E2E transfers.
	DevenvTestTokenPoolQualifier = "TEST"

	// DevenvLegacyLockReleasePoolQualifier is the datastore qualifier for the legacy lock-release pool
	// deployed alongside the siloed pool (e.g. MCMS / lock-release-specific tests).
	DevenvLegacyLockReleasePoolQualifier = "LEGACY_LR"

	// DevenvBnmPoolQualifier is the datastore qualifier for the lane's stellar
	// BnM burn-mint pool (and its ccv-catalog mirror row).
	DevenvBnmPoolQualifier = "BnM"

	// DevenvCatalogBurnMintTokenPoolType mirrors
	// chainlink-ccv/build/devenv/common.BurnMintTokenPoolType. Duplicated locally
	// because this module stays free of the chainlink-ccv dependency
	DevenvCatalogBurnMintTokenPoolType = "BurnMintTokenPool"

	// DevenvCatalogLockReleaseTokenPoolType mirrors
	// chainlink-ccv/build/devenv/common.LockReleaseTokenPoolType. Duplicated
	// locally for the same reason.
	DevenvCatalogLockReleaseTokenPoolType = "LockReleaseTokenPool"
)

Datastore contract type strings for Stellar CCIP deployments.

View Source
const (
	RMNRemoteContractType    = "RMNRemote"
	RMNRemoteContractVersion = "1.6.0"
)

RMNRemote's canonical (type, version) pair used to be importable from chainlink-ccip/chains/evm/deployment/v1_6_0/operations/rmn_remote. That package was removed; upstream now keeps the type string private (chains/evm/deployment/utils/rmn.go `rmnRemoteContractType`) and resolves it by datastore lookup. These constants preserve the exact values that package exported so existing Stellar datastore refs keep resolving. The Stellar-local ops constant (deployment/operations/rmn_remote.ContractType) carries the same "RMNRemote" string: one vocabulary, no boundary translation.

View Source
const (
	DefaultCommitteeVerifierQualifier = "default"
	DefaultExecutorQualifier          = "default"
)

Default datastore qualifiers for committee-verifier and executor contract refs. These mirror chainlink-ccv/build/devenv/common's DefaultCommitteeVerifierQualifier and DefaultExecutorQualifier (both "default") exactly so existing Stellar datastore refs keep resolving. They are duplicated locally to keep the root production module free of the chainlink-ccv/build/devenv dependency (and the transitive chainlink-testing-framework pull it would otherwise cause). If devenv ever changes these values, update both constants here to match.

View Source
const (
	SecondaryCommitteeVerifierQualifier = "secondary"
	TertiaryCommitteeVerifierQualifier  = "tertiary"

	SecondaryReceiverQualifier  = "secondary"
	TertiaryReceiverQualifier   = "tertiary"
	QuaternaryReceiverQualifier = "quaternary"
)

Devenv committee and receiver qualifiers beyond the default instances, mirroring chainlink-ccv/build/devenv/common (SecondaryCommitteeVerifierQualifier, TertiaryCommitteeVerifierQualifier, SecondaryReceiverQualifier, TertiaryReceiverQualifier, QuaternaryReceiverQualifier). Duplicated locally for the same reason as the default qualifiers above; if devenv changes these values, update them here to match.

View Source
const StellarAddressByteLen = 32

StellarAddressByteLen is the canonical length (bytes) for Stellar contract/account IDs in lane configs.

Variables

This section is empty.

Functions

func AddressBytesHex

func AddressBytesHex(ref datastore.AddressRef, selector uint64) ([]byte, error)

AddressBytesHex decodes a datastore address hex string to raw bytes and validates length for selector.

func AddressBytesLength

func AddressBytesLength(selector uint64) (uint32, error)

AddressBytesLength returns the expected encoded address length for a CCIP chain selector.

func ApplyFeeQuoterTokenConfig

func ApplyFeeQuoterTokenConfig(
	ctx context.Context,
	feeQuoterClient *fee_quoter.FeeQuoterClient,
	priceUpdater string,
	token string,
	allSelectors []uint64,
) error

ApplyFeeQuoterTokenConfig sets oracle price and per-destination token transfer fee configs for a 7-decimal lane token (the devenv SAC test token or the BnM token) on FeeQuoter. priceUpdater must be an address in FeeQuoter's authorized-callers set and must match the invoker's auth.

func BuildOffRampSourceConfigs

func BuildOffRampSourceConfigs(
	ds datastore.DataStore,
	remoteSelectors []uint64,
	vvrContractID string,
	routerContractID string,
) ([]offrampbindings.SourceChainConfigArgs, error)

BuildOffRampSourceConfigs builds datastore-backed OffRamp source configs. The remote chain's OnRamp must already be deployed and recorded: the OffRamp rejects an all-zero onramp entry with `ZeroAddressNotAllowed` (#808, EVM `OffRamp.applySourceChainConfigUpdates` parity), so there is deliberately no zero-address placeholder mode here — lane wiring fails loudly when a remote OnRamp is not yet in the datastore.

func CCVEnvironmentTopologyToOffchain

func CCVEnvironmentTopologyToOffchain(t *ccvdeployment.EnvironmentTopology) (*offchain.EnvironmentTopology, error)

CCVEnvironmentTopologyToOffchain converts a chainlink-ccv topology to the chainlink-ccip offchain topology type used by DeployChainContracts. Struct layouts are aligned; JSON round-trip avoids manual field mapping.

func CanonicalSourceOnRampBytes

func CanonicalSourceOnRampBytes(ref datastore.AddressRef, selector uint64) ([]byte, error)

CanonicalSourceOnRampBytes returns the remote OnRamp bytes the local OffRamp whitelists in its source chain config, in the form the source OnRamp actually writes into its messages (the OffRamp matches them by hashing those message bytes): left-padded 32 bytes for EVM, the 40-byte Address::to_xdr envelope for Stellar.

func DefaultStellarDeployZerolog

func DefaultStellarDeployZerolog() zerolog.Logger

DefaultStellarDeployZerolog returns a stderr console logger for Stellar deploy sequences when no environment-specific logger is wired.

func DeployDevenvSACToken

func DeployDevenvSACToken(p DevenvSACTokenParams) (contractID string, issuerKP *keypair.Full, err error)

DeployDevenvSACToken creates a deterministic issuer, optional friendbot funding, trust + payment, and SAC deploy.

func DeployLockReleaseTestTokenPool

func DeployLockReleaseTestTokenPool(ctx context.Context, opBundle cldfops.Bundle, host CCIPDevenvHost) error

DeployLockReleaseTestTokenPool deploys legacy lock-release and siloed lock-release (+ lock box) test pools. E2E token transfers use the siloed pool; the legacy pool remains available for lock-release-specific tests. Intended to run from PostDeployContractsForSelector.

func DevenvTokenPoolsAddressRefDataStore

func DevenvTokenPoolsAddressRefDataStore(
	chainSelector uint64,
	siloedPoolContractID,
	legacyPoolContractID,
	lockBoxContractID,
	tokenContractID string,
) (datastore.DataStore, error)

DevenvTokenPoolsAddressRefDataStore returns a sealed datastore with siloed pool (E2E), legacy lock-release pool, token lock box, and optional test token refs for devenv.

func FundAccountViaFriendbot

func FundAccountViaFriendbot(friendbotURL, address string, lg *zerolog.Logger) error

FundAccountViaFriendbot funds a Stellar account using Friendbot with retries (devenv).

func GetCommitteeVerifierStrkey

func GetCommitteeVerifierStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetCommitteeVerifierStrkey resolves the Committee Verifier strkey for a chain from the datastore.

func GetFeeQuoterStrkey

func GetFeeQuoterStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetFeeQuoterStrkey resolves the FeeQuoter contract strkey for a chain from the datastore.

func GetOffRampStrkey

func GetOffRampStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetOffRampStrkey resolves the local OffRamp contract strkey for a chain from the datastore.

func GetOnRampStrkey

func GetOnRampStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetOnRampStrkey resolves the local OnRamp contract strkey for a chain from the datastore.

func GetRMNProxyStrkey

func GetRMNProxyStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetRMNProxyStrkey resolves the RMN Proxy strkey for a chain from the datastore. Pools store the RMN proxy immutably at initialize (EVM `immutable i_rmnProxy` parity), so post-deploy pool initialization must rehydrate it from the datastore.

func GetRMNRemoteStrkey

func GetRMNRemoteStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetRMNRemoteStrkey resolves RMN Remote strkey for a chain from the datastore.

func GetRampRegistryStrkey

func GetRampRegistryStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetRampRegistryStrkey resolves the RampRegistry strkey for a chain from the datastore.

func GetRouterStrkey

func GetRouterStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetRouterStrkey resolves the local Router contract strkey for a chain from the datastore.

func GetTokenAdminRegistryStrkey

func GetTokenAdminRegistryStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetTokenAdminRegistryStrkey resolves TokenAdminRegistry for a chain from the datastore.

func GetVVRStrkey

func GetVVRStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

GetVVRStrkey resolves the Versioned Verifier Resolver strkey for a chain from the datastore.

func LockReleasePoolAddressRefDataStore

func LockReleasePoolAddressRefDataStore(chainSelector uint64, poolContractID, tokenContractID string) (datastore.DataStore, error)

LockReleasePoolAddressRefDataStore returns a sealed datastore containing the legacy lock-release pool AddressRef and, when tokenContractID is non-empty, the test token AddressRef for devenv (qualifier DevenvLegacyLockReleasePoolQualifier).

func LookupAddressRef

func LookupAddressRef(ds datastore.DataStore, selector uint64, contractType datastore.ContractType, version *semver.Version, qualifier string) (datastore.AddressRef, error)

LookupAddressRef loads an address ref from the datastore.

func LookupStellarContractStrkey

func LookupStellarContractStrkey(ds datastore.DataStore, selector uint64, contractType datastore.ContractType, version *semver.Version, qualifier string) (string, error)

LookupStellarContractStrkey resolves a datastore entry to a Soroban contract strkey.

func MergeExistingAddressRefs

func MergeExistingAddressRefs(ds *datastore.MemoryDataStore, refs []datastore.AddressRef) error

MergeExistingAddressRefs upserts CCIP / environment address refs into the in-memory deploy datastore (EVM-style ExistingAddresses seeding).

func RecordCCIPReceiver

func RecordCCIPReceiver(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordCCIPReceiver records the CCIP receiver example in the datastore.

func RecordCommitteeVerifier

func RecordCommitteeVerifier(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordCommitteeVerifier records the Committee Verifier in the datastore.

func RecordFeeQuoter

func RecordFeeQuoter(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordFeeQuoter records a FeeQuoter deployment in the datastore.

func RecordLockReleasePool

func RecordLockReleasePool(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordLockReleasePool records the legacy lock-release pool in the datastore.

func RecordOffRamp

func RecordOffRamp(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordOffRamp records an OffRamp deployment in the datastore.

func RecordOnRamp

func RecordOnRamp(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordOnRamp records an OnRamp deployment in the datastore.

func RecordRMNProxy

func RecordRMNProxy(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordRMNProxy records an RMN Proxy deployment in the datastore. Pools store the RMN proxy immutably at initialize (EVM `immutable i_rmnProxy` parity), so post-deploy pool initialization rehydrates it from the datastore via GetRMNProxyStrkey.

func RecordRMNRemote

func RecordRMNRemote(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordRMNRemote records an RMN Remote deployment in the datastore.

func RecordRampRegistry

func RecordRampRegistry(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordRampRegistry records the RampRegistry in the datastore.

func RecordRouter

func RecordRouter(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordRouter records a Router deployment in the datastore.

func RecordSiloedLockReleasePool

func RecordSiloedLockReleasePool(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordSiloedLockReleasePool records the siloed lock-release pool in the datastore.

func RecordTokenAdminRegistry

func RecordTokenAdminRegistry(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordTokenAdminRegistry records TokenAdminRegistry in the datastore.

func RecordTokenLockBox

func RecordTokenLockBox(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordTokenLockBox records the token lock box in the datastore.

func RecordVVR

func RecordVVR(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

RecordVVR records the Versioned Verifier Resolver in the datastore.

func UpsertDeployedStrKey

func UpsertDeployedStrKey(
	ds *datastore.MemoryDataStore,
	chainSelector uint64,
	typ datastore.ContractType,
	version *semver.Version,
	qualifier string,
	contractStrkey string,
) error

UpsertDeployedStrKey records a deployed Soroban contract strkey in the datastore.

Types

type CCIPDevenvHost

type CCIPDevenvHost interface {
	Logger() *zerolog.Logger
	Deployer() *stellardeployment.Deployer
	DeployerKeypair() *keypair.Full
	NetworkPassphrase() string
	FriendbotURL() string

	SetOnRamp(contractID string, client *onrampbindings.OnRampClient)
	OnRampClient() *onrampbindings.OnRampClient
	FeeQuoterClient() *fqbindings.FeeQuoterClient
	SetFeeQuoter(client *fqbindings.FeeQuoterClient)
	SetTokenAdminRegistry(contractID string, client *tarbindings.TokenAdminRegistryClient)
	TokenAdminRegistryClient() *tarbindings.TokenAdminRegistryClient
	SetTokenPool(contractID string, client *tokenpoolbindings.TokenPoolClient)
	SetLegacyLockReleasePool(contractID string)
	SetTokenLockBox(contractID string)
	LatestLedgerSequence(ctx context.Context) (uint32, error)
	SetTestToken(contractID string)
	TestTokenContractID() string
	SetOffRamp(contractID string, client *offrampbindings.OffRampClient)
	OffRampClient() *offrampbindings.OffRampClient
	SetRouter(contractID string, client *routerbindings.RouterClient)
	RouterContractID() string
	SetRampRegistry(contractID string)
	RampRegistryContractID() string
	SetRmnProxy(contractID string)
	RmnProxyContractID() string
	SetVVR(contractID string)
	SetCV(contractID string)
	SetReceiver(contractID string)

	SetFeeToken(contractID string)
	FeeTokenContractID() string
	CreateFeeToken(ctx context.Context, friendbotURL string) (string, error)

	CreateTestToken(ctx context.Context, friendbotURL string) (string, error)
}

CCIPDevenvHost is the runtime surface Stellar CCIP devenv deploy needs (implemented by ccv/chain). Kept in deployment/ccip so deployment/sequences can depend on it without importing ccv/chain.

type CLDFStellarCCIPDevenvHost

type CLDFStellarCCIPDevenvHost struct {
	// contains filtered or unexported fields
}

CLDFStellarCCIPDevenvHost implements CCIPDevenvHost from a CLDF cldfstellar.Chain (BlockChains entry), so DeployChainContracts does not need a side-registered *ccvchain.Chain.

func NewCLDFStellarCCIPDevenvHost

func NewCLDFStellarCCIPDevenvHost(ch cldfstellar.Chain, lg zerolog.Logger, dep *stellardeployment.Deployer) (*CLDFStellarCCIPDevenvHost, error)

NewCLDFStellarCCIPDevenvHost builds a devenv host backed by CLDF Stellar chain metadata and RPC.

func (*CLDFStellarCCIPDevenvHost) CreateFeeToken

func (h *CLDFStellarCCIPDevenvHost) CreateFeeToken(ctx context.Context, friendbotURL string) (string, error)

func (*CLDFStellarCCIPDevenvHost) CreateTestToken

func (h *CLDFStellarCCIPDevenvHost) CreateTestToken(ctx context.Context, friendbotURL string) (string, error)

func (*CLDFStellarCCIPDevenvHost) Deployer

func (*CLDFStellarCCIPDevenvHost) DeployerKeypair

func (h *CLDFStellarCCIPDevenvHost) DeployerKeypair() *keypair.Full

func (*CLDFStellarCCIPDevenvHost) FeeQuoterClient

func (*CLDFStellarCCIPDevenvHost) FeeTokenContractID

func (h *CLDFStellarCCIPDevenvHost) FeeTokenContractID() string

func (*CLDFStellarCCIPDevenvHost) FriendbotURL

func (h *CLDFStellarCCIPDevenvHost) FriendbotURL() string

func (*CLDFStellarCCIPDevenvHost) LatestLedgerSequence

func (h *CLDFStellarCCIPDevenvHost) LatestLedgerSequence(ctx context.Context) (uint32, error)

func (*CLDFStellarCCIPDevenvHost) Logger

func (*CLDFStellarCCIPDevenvHost) NetworkPassphrase

func (h *CLDFStellarCCIPDevenvHost) NetworkPassphrase() string

func (*CLDFStellarCCIPDevenvHost) OffRampClient

func (*CLDFStellarCCIPDevenvHost) OnRampClient

func (*CLDFStellarCCIPDevenvHost) RampRegistryContractID

func (h *CLDFStellarCCIPDevenvHost) RampRegistryContractID() string

func (*CLDFStellarCCIPDevenvHost) RmnProxyContractID

func (h *CLDFStellarCCIPDevenvHost) RmnProxyContractID() string

func (*CLDFStellarCCIPDevenvHost) RouterContractID

func (h *CLDFStellarCCIPDevenvHost) RouterContractID() string

func (*CLDFStellarCCIPDevenvHost) SetCV

func (h *CLDFStellarCCIPDevenvHost) SetCV(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetFeeQuoter

func (h *CLDFStellarCCIPDevenvHost) SetFeeQuoter(client *fqbindings.FeeQuoterClient)

func (*CLDFStellarCCIPDevenvHost) SetFeeToken

func (h *CLDFStellarCCIPDevenvHost) SetFeeToken(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetLegacyLockReleasePool

func (h *CLDFStellarCCIPDevenvHost) SetLegacyLockReleasePool(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetOffRamp

func (h *CLDFStellarCCIPDevenvHost) SetOffRamp(contractID string, client *offrampbindings.OffRampClient)

func (*CLDFStellarCCIPDevenvHost) SetOnRamp

func (h *CLDFStellarCCIPDevenvHost) SetOnRamp(contractID string, client *onrampbindings.OnRampClient)

func (*CLDFStellarCCIPDevenvHost) SetRampRegistry

func (h *CLDFStellarCCIPDevenvHost) SetRampRegistry(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetReceiver

func (h *CLDFStellarCCIPDevenvHost) SetReceiver(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetRmnProxy

func (h *CLDFStellarCCIPDevenvHost) SetRmnProxy(contractID string)

SetRmnProxy records the RMN proxy contract ID on the host (deploy-time bookkeeping). Pools store it immutably at initialize (EVM `immutable i_rmnProxy` parity — no set_rmn_proxy entrypoint) and consult it for curse checks in lock_or_burn/release_or_mint, so post-deploy pool initialization must pass it through (same proxy the Router was initialized with).

func (*CLDFStellarCCIPDevenvHost) SetRouter

func (h *CLDFStellarCCIPDevenvHost) SetRouter(contractID string, client *routerbindings.RouterClient)

func (*CLDFStellarCCIPDevenvHost) SetTestToken

func (h *CLDFStellarCCIPDevenvHost) SetTestToken(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetTokenAdminRegistry

func (h *CLDFStellarCCIPDevenvHost) SetTokenAdminRegistry(contractID string, client *tarbindings.TokenAdminRegistryClient)

func (*CLDFStellarCCIPDevenvHost) SetTokenLockBox

func (h *CLDFStellarCCIPDevenvHost) SetTokenLockBox(contractID string)

func (*CLDFStellarCCIPDevenvHost) SetTokenPool

func (h *CLDFStellarCCIPDevenvHost) SetTokenPool(contractID string, client *tokenpoolbindings.TokenPoolClient)

func (*CLDFStellarCCIPDevenvHost) SetVVR

func (h *CLDFStellarCCIPDevenvHost) SetVVR(contractID string)

func (*CLDFStellarCCIPDevenvHost) TestTokenContractID

func (h *CLDFStellarCCIPDevenvHost) TestTokenContractID() string

func (*CLDFStellarCCIPDevenvHost) TokenAdminRegistryClient

func (h *CLDFStellarCCIPDevenvHost) TokenAdminRegistryClient() *tarbindings.TokenAdminRegistryClient

type DatastoreSorobanContractRef

type DatastoreSorobanContractRef struct {
	Type      datastore.ContractType
	Version   *semver.Version
	Qualifier string
}

DatastoreSorobanContractRef is the (Type, Version, Qualifier) triple used when recording or resolving Soroban contracts in the CLDF deployment datastore. All Stellar CCIP writers and readers must use these constructors so keys stay aligned with Record* / UpsertDeployedStrKey.

func AdvancedPoolHooksDatastoreRef

func AdvancedPoolHooksDatastoreRef(qualifier string) DatastoreSorobanContractRef

func AdvancedPoolHooksExtractorDatastoreRef

func AdvancedPoolHooksExtractorDatastoreRef() DatastoreSorobanContractRef

func BnmTokenDatastoreRef

func BnmTokenDatastoreRef() DatastoreSorobanContractRef

func BurnMintPoolDatastoreRef

func BurnMintPoolDatastoreRef(qualifier string) DatastoreSorobanContractRef

func BurnMintPoolDevenvDatastoreRef

func BurnMintPoolDevenvDatastoreRef() DatastoreSorobanContractRef

BurnMintPoolDevenvDatastoreRef returns the stellar-native lane BnM pool ref.

func CCIPReceiverDatastoreRef

func CCIPReceiverDatastoreRef() DatastoreSorobanContractRef

func CCIPReceiverDatastoreRefWithQualifier

func CCIPReceiverDatastoreRefWithQualifier(qualifier string) DatastoreSorobanContractRef

CCIPReceiverDatastoreRefWithQualifier returns the ccip_receiver ref for one receiver instance. An empty qualifier keeps the existing unqualified ref, so existing refs and salts keep resolving.

func CatalogBurnMintPoolDevenvDatastoreRef

func CatalogBurnMintPoolDevenvDatastoreRef() DatastoreSorobanContractRef

CatalogBurnMintPoolDevenvDatastoreRef returns the ccv-catalog-typed row (BurnMintTokenPool 2.0.0) for the same pool, so tcapi pair resolution (TokenCombinationsFromPoolPairs, exact type+version+qualifier lookup) finds the stellar leg; the stellar AddressResolver maps the catalog type to the BnM token and ignores the qualifier.

func CommitteeVerifierDatastoreRef

func CommitteeVerifierDatastoreRef() DatastoreSorobanContractRef

func CommitteeVerifierDatastoreRefWithQualifier

func CommitteeVerifierDatastoreRefWithQualifier(qualifier string) DatastoreSorobanContractRef

CommitteeVerifierDatastoreRefWithQualifier returns the committee-verifier ref for one instance. An empty qualifier keeps the default instance, so existing refs and salts keep resolving.

func DefaultExecutorDatastoreRef

func DefaultExecutorDatastoreRef() DatastoreSorobanContractRef

func DevenvTestTokenDatastoreRef

func DevenvTestTokenDatastoreRef() DatastoreSorobanContractRef

func ExecutorDatastoreRefWithQualifier

func ExecutorDatastoreRefWithQualifier(qualifier string) DatastoreSorobanContractRef

ExecutorDatastoreRefWithQualifier returns the executor contract row for the given qualifier (empty means the default instance).

func ExecutorProxyDatastoreRef

func ExecutorProxyDatastoreRef(qualifier string) DatastoreSorobanContractRef

ExecutorProxyDatastoreRef returns the executor proxy row for the given qualifier (typically DefaultExecutorQualifier).

func FeeQuoterDatastoreRef

func FeeQuoterDatastoreRef() DatastoreSorobanContractRef

func LegacyLockReleasePoolDevenvDatastoreRef

func LegacyLockReleasePoolDevenvDatastoreRef() DatastoreSorobanContractRef

func LinkTokenDatastoreRef

func LinkTokenDatastoreRef() DatastoreSorobanContractRef

func LockReleasePoolDatastoreRef

func LockReleasePoolDatastoreRef(qualifier string) DatastoreSorobanContractRef

func LockReleasePoolDevenvDatastoreRef

func LockReleasePoolDevenvDatastoreRef() DatastoreSorobanContractRef

func OffRampDatastoreRef

func OffRampDatastoreRef() DatastoreSorobanContractRef

func OnRampDatastoreRef

func OnRampDatastoreRef() DatastoreSorobanContractRef

func RMNProxyDatastoreRef

func RMNProxyDatastoreRef() DatastoreSorobanContractRef

RMNProxyDatastoreRef uses the stellar-ops type and the stellar deployment version. The proxy has no family-agnostic readers (the EVM "ARMProxy" type exists only for EVM's legacy records), so there is no reason to inherit EVM's pre-rename name — and the pre-unification pair (ARMProxy/1.0.0) matched nothing the ops world resolves (RmnProxy/2.0.0), which forced hand-corrected datastore rows in the staging pipelines.

func RMNRemoteDatastoreRef

func RMNRemoteDatastoreRef() DatastoreSorobanContractRef

func RampRegistryDatastoreRef

func RampRegistryDatastoreRef() DatastoreSorobanContractRef

func RouterDatastoreRef

func RouterDatastoreRef() DatastoreSorobanContractRef

func SiloedLockReleasePoolDatastoreRef

func SiloedLockReleasePoolDatastoreRef(qualifier string) DatastoreSorobanContractRef

func SiloedLockReleasePoolDevenvDatastoreRef

func SiloedLockReleasePoolDevenvDatastoreRef() DatastoreSorobanContractRef

func TokenAdminRegistryDatastoreRef

func TokenAdminRegistryDatastoreRef() DatastoreSorobanContractRef

func TokenLockBoxDatastoreRef

func TokenLockBoxDatastoreRef(qualifier string) DatastoreSorobanContractRef

func TokenLockBoxDevenvDatastoreRef

func TokenLockBoxDevenvDatastoreRef() DatastoreSorobanContractRef

func VVRDatastoreRef

func VVRDatastoreRef() DatastoreSorobanContractRef

func VVRDatastoreRefWithQualifier

func VVRDatastoreRefWithQualifier(qualifier string) DatastoreSorobanContractRef

VVRDatastoreRefWithQualifier returns the VVR ref for one committee instance. An empty qualifier keeps the default instance, so existing refs and salts keep resolving.

func (DatastoreSorobanContractRef) AddressRefKey

func (r DatastoreSorobanContractRef) AddressRefKey(chainSelector uint64) datastore.AddressRefKey

AddressRefKey returns the datastore key for this ref on a chain.

func (DatastoreSorobanContractRef) FullAddressRef

func (r DatastoreSorobanContractRef) FullAddressRef(chainSelector uint64, addressHex string) datastore.AddressRef

FullAddressRef returns a complete AddressRef for Upsert/Add.

func (DatastoreSorobanContractRef) LaneAddressRef

func (r DatastoreSorobanContractRef) LaneAddressRef(chainSelector uint64) datastore.AddressRef

LaneAddressRef returns an AddressRef template including ChainSelector (Address unset).

func (DatastoreSorobanContractRef) LookupAddressRef

func (r DatastoreSorobanContractRef) LookupAddressRef(ds datastore.DataStore, chainSelector uint64) (datastore.AddressRef, error)

LookupAddressRef loads the raw AddressRef row from the datastore.

func (DatastoreSorobanContractRef) LookupStrkey

func (r DatastoreSorobanContractRef) LookupStrkey(ds datastore.DataStore, chainSelector uint64) (string, error)

LookupStrkey resolves this ref to a Soroban contract strkey.

func (DatastoreSorobanContractRef) PartialAddressRef

func (r DatastoreSorobanContractRef) PartialAddressRef() datastore.AddressRef

PartialAddressRef returns Type, Version, and Qualifier for datastore queries (e.g. FindAndFormatRef) where ChainSelector is supplied separately.

func (DatastoreSorobanContractRef) UpsertDeployedStrKey

func (r DatastoreSorobanContractRef) UpsertDeployedStrKey(ds *datastore.MemoryDataStore, chainSelector uint64, contractStrkey string) error

UpsertDeployedStrKey records a deployed Soroban contract strkey under this ref.

type DevenvSACTokenParams

type DevenvSACTokenParams struct {
	Ctx               context.Context
	RPCClient         *rpcclient.Client
	MainDeployer      *stellardeployment.Deployer
	OwnerKeypair      *keypair.Full
	NetworkPassphrase string
	FriendbotURL      string
	IssuerSeedLabel   string // e.g. "fee-token-issuer-" + passphrase
	AssetCode         string
	Logger            *zerolog.Logger
}

DevenvSACTokenParams configures classic-asset + SAC deploy used for CCIP fee and test tokens in devenv.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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