chainaccessor

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2026 License: MIT Imports: 31 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// CCIPMessageSentMessageSize is the size of the Message struct at offset 0
	CCIPMessageSentMessageSize = 40
	// CCIPMessageSentDestChainSelectorSize is the size of DestChainSelector (uint64) at offset 40
	CCIPMessageSentDestChainSelectorSize = 8
	// CCIPMessageSentSequenceNumberSize is the size of SequenceNumber (uint64) at offset 48
	CCIPMessageSentSequenceNumberSize = 8
)

CCIPMessageSent struct field sizes for log poller byte-level filtering

View Source
const (
	// ExecutionStateChangedSourceChainSelectorSize is the size of SourceChainSelector (uint64) at offset 0
	ExecutionStateChangedSourceChainSelectorSize = 8
	// ExecutionStateChangedSequenceNumberSize is the size of SequenceNumber (uint64) at offset 8
	ExecutionStateChangedSequenceNumberSize = 8
	// ExecutionStateChangedMessageIDSize is the size of MessageID (32 bytes) at offset 16
	ExecutionStateChangedMessageIDSize = 32
	// ExecutionStateChangedStateSize is the size of State (uint8) at offset 48
	ExecutionStateChangedStateSize = 1
)

ExecutionStateChanged struct field sizes for log poller byte-level filtering

Variables

View Source
var ErrNoBindings = errors.New("no bindings found")

Functions

func NewTONAccessor

func NewTONAccessor(
	lggr logger.Logger,
	chainSelector ccipocr3.ChainSelector,
	clientProvider func(context.Context) (ton.APIClientWrapped, error),
	logPoller logpoller.Service,
	addrCodec ccipocr3.ChainSpecificAddressCodec,
) (ccipocr3.ChainAccessor, error)

Types

type TONAccessor

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

func (*TONAccessor) CommitReportsGTETimestamp

func (a *TONAccessor) CommitReportsGTETimestamp(
	ctx context.Context,
	ts time.Time,
	confidence primitives.ConfidenceLevel,
	limit int,
) ([]ccipocr3.CommitPluginReportWithMeta, error)

TON as destination chain methods

func (*TONAccessor) ExecutedMessages

func (*TONAccessor) GetAllConfigsLegacy

func (a *TONAccessor) GetAllConfigsLegacy(ctx context.Context, destChainSelector ccipocr3.ChainSelector, sourceChainSelectors []ccipocr3.ChainSelector) (ccipocr3.ChainConfigSnapshot, map[ccipocr3.ChainSelector]ccipocr3.SourceChainConfig, error)

func (*TONAccessor) GetChainFeeComponents

func (a *TONAccessor) GetChainFeeComponents(ctx context.Context) (ccipocr3.ChainFeeComponents, error)

func (*TONAccessor) GetChainFeePriceUpdate

func (a *TONAccessor) GetChainFeePriceUpdate(ctx context.Context, selectors []ccipocr3.ChainSelector) (map[ccipocr3.ChainSelector]ccipocr3.TimestampedUnixBig, error)

func (*TONAccessor) GetContractAddress

func (a *TONAccessor) GetContractAddress(contractName string) ([]byte, error)

Common Accessor methods

func (*TONAccessor) GetCurseInfo

func (a *TONAccessor) GetCurseInfo(ctx context.Context, block *ton.BlockIDExt, dest ccipocr3.ChainSelector) (ccipocr3.CurseInfo, error)

GetCurseInfo retrieves curse information for RMN verification

func (*TONAccessor) GetExpectedNextSequenceNumber

func (a *TONAccessor) GetExpectedNextSequenceNumber(ctx context.Context, dest ccipocr3.ChainSelector) (ccipocr3.SeqNum, error)

func (*TONAccessor) GetFeeQuoterDestChainConfig

func (a *TONAccessor) GetFeeQuoterDestChainConfig(ctx context.Context, dest ccipocr3.ChainSelector) (ccipocr3.FeeQuoterDestChainConfig, error)

func (*TONAccessor) GetFeeQuoterStaticConfig

func (a *TONAccessor) GetFeeQuoterStaticConfig(ctx context.Context, block *ton.BlockIDExt) (ccipocr3.FeeQuoterStaticConfig, error)

GetFeeQuoterStaticConfig retrieves static configuration from the fee quoter contract

func (*TONAccessor) GetFeeQuoterTokenUpdates

func (*TONAccessor) GetFeedPricesUSD

Price reader

func (*TONAccessor) GetLatestPriceSeqNr

func (a *TONAccessor) GetLatestPriceSeqNr(ctx context.Context) (ccipocr3.SeqNum, error)

func (*TONAccessor) GetOffRampConfig

func (a *TONAccessor) GetOffRampConfig(ctx context.Context, block *ton.BlockIDExt) (ccipocr3.OfframpConfig, error)

GetOffRampConfig retrieves static configuration for the off-ramp contract

func (*TONAccessor) GetOffRampSourceChainConfig

func (a *TONAccessor) GetOffRampSourceChainConfig(ctx context.Context, block *ton.BlockIDExt, sourceChainSelector ccipocr3.ChainSelector) (ccipocr3.SourceChainConfig, error)

GetOffRampSourceChainConfig retrieves a specific source chain configuration

func (*TONAccessor) GetOffRampSourceChainConfigs

func (a *TONAccessor) GetOffRampSourceChainConfigs(ctx context.Context, block *ton.BlockIDExt, sourceChainSelectors []ccipocr3.ChainSelector) (map[ccipocr3.ChainSelector]ccipocr3.SourceChainConfig, error)

GetOffRampSourceChainConfigs retrieves multiple source chain configurations from the off-ramp contract

func (*TONAccessor) GetOnRampDestChainConfig

func (a *TONAccessor) GetOnRampDestChainConfig(ctx context.Context, block *ton.BlockIDExt, dest ccipocr3.ChainSelector) (ccipocr3.OnRampDestChainConfig, error)

GetOnRampDestChainConfig retrieves destination chain configuration from the on-ramp contract

func (*TONAccessor) GetOnRampDynamicConfig

func (a *TONAccessor) GetOnRampDynamicConfig(ctx context.Context, block *ton.BlockIDExt) (ccipocr3.OnRampDynamicConfig, error)

GetOnRampDynamicConfig retrieves dynamic configuration from the on-ramp contract

func (*TONAccessor) GetTokenPriceUSD

func (a *TONAccessor) GetTokenPriceUSD(ctx context.Context, rawTokenAddress ccipocr3.UnknownAddress) (ccipocr3.TimestampedUnixBig, error)

GetTokenPriceUSD returns price per TON, with 18 decimals

func (*TONAccessor) LatestMessageTo

func (a *TONAccessor) LatestMessageTo(ctx context.Context, dest ccipocr3.ChainSelector) (ccipocr3.SeqNum, error)

func (*TONAccessor) MessagesByTokenID

func (*TONAccessor) MsgsBetweenSeqNums

func (a *TONAccessor) MsgsBetweenSeqNums(ctx context.Context, dest ccipocr3.ChainSelector, seqNumRange ccipocr3.SeqNumRange) ([]ccipocr3.Message, error)

TON as source chain methods

func (*TONAccessor) NextSeqNum

func (a *TONAccessor) NextSeqNum(ctx context.Context, sources []ccipocr3.ChainSelector) (seqNum map[ccipocr3.ChainSelector]ccipocr3.SeqNum, err error)

func (*TONAccessor) Nonces

func (*TONAccessor) Sync

func (a *TONAccessor) Sync(ctx context.Context, contractName string, contractAddress ccipocr3.UnknownAddress) error

Matching CCIP Plugins - default accessor w/ CR behavior CCIP contract discovery follows the same two-phase approach for TON: 1. Initial binding: Offramp address registered at startup (chainlink-ccip/pkg/reader/ccip.go:113-118) 2. Dynamic discovery: Onramp addresses discovered from offramp.SourceChainConfig (ccip.go:644-656)

Key implementation difference: - Default Accessor: Wraps ContractReader(CR) - delegates to CR's Bind() for event registration

  • Sync() calls contractReader.Bind() which registers event filters in EVM/SOL CR

- TON Accessor: Bypasses CR entirely - implements ChainAccessor interface directly

  • Sync() directly calls bindContractEvent() to register event filters with TON logPoller
  • Both expose same Sync() interface to CCIPChainReader

Jump to

Keyboard shortcuts

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