Documentation
¶
Index ¶
- Constants
- Variables
- func NewTONAccessor(lggr logger.Logger, chainSelector ccipocr3.ChainSelector, ...) (ccipocr3.ChainAccessor, error)
- type TONAccessor
- func (a *TONAccessor) CommitReportsGTETimestamp(ctx context.Context, ts time.Time, confidence primitives.ConfidenceLevel, ...) ([]ccipocr3.CommitPluginReportWithMeta, error)
- func (a *TONAccessor) ExecutedMessages(ctx context.Context, ranges map[ccipocr3.ChainSelector][]ccipocr3.SeqNumRange, ...) (map[ccipocr3.ChainSelector][]ccipocr3.SeqNum, error)
- func (a *TONAccessor) GetAllConfigsLegacy(ctx context.Context, destChainSelector ccipocr3.ChainSelector, ...) (ccipocr3.ChainConfigSnapshot, ...)
- func (a *TONAccessor) GetChainFeeComponents(ctx context.Context) (ccipocr3.ChainFeeComponents, error)
- func (a *TONAccessor) GetChainFeePriceUpdate(ctx context.Context, selectors []ccipocr3.ChainSelector) (map[ccipocr3.ChainSelector]ccipocr3.TimestampedUnixBig, error)
- func (a *TONAccessor) GetContractAddress(contractName string) ([]byte, error)
- func (a *TONAccessor) GetCurseInfo(ctx context.Context, block *ton.BlockIDExt, dest ccipocr3.ChainSelector) (ccipocr3.CurseInfo, error)
- func (a *TONAccessor) GetExpectedNextSequenceNumber(ctx context.Context, dest ccipocr3.ChainSelector) (ccipocr3.SeqNum, error)
- func (a *TONAccessor) GetFeeQuoterDestChainConfig(ctx context.Context, dest ccipocr3.ChainSelector) (ccipocr3.FeeQuoterDestChainConfig, error)
- func (a *TONAccessor) GetFeeQuoterStaticConfig(ctx context.Context, block *ton.BlockIDExt) (ccipocr3.FeeQuoterStaticConfig, error)
- func (a *TONAccessor) GetFeeQuoterTokenUpdates(ctx context.Context, tokens []ccipocr3.UnknownAddress) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error)
- func (a *TONAccessor) GetFeedPricesUSD(ctx context.Context, tokens []ccipocr3.UnknownEncodedAddress, ...) (ccipocr3.TokenPriceMap, error)
- func (a *TONAccessor) GetLatestPriceSeqNr(ctx context.Context) (ccipocr3.SeqNum, error)
- func (a *TONAccessor) GetOffRampConfig(ctx context.Context, block *ton.BlockIDExt) (ccipocr3.OfframpConfig, error)
- func (a *TONAccessor) GetOffRampSourceChainConfig(ctx context.Context, block *ton.BlockIDExt, ...) (ccipocr3.SourceChainConfig, error)
- func (a *TONAccessor) GetOffRampSourceChainConfigs(ctx context.Context, block *ton.BlockIDExt, ...) (map[ccipocr3.ChainSelector]ccipocr3.SourceChainConfig, error)
- func (a *TONAccessor) GetOnRampDestChainConfig(ctx context.Context, block *ton.BlockIDExt, dest ccipocr3.ChainSelector) (ccipocr3.OnRampDestChainConfig, error)
- func (a *TONAccessor) GetOnRampDynamicConfig(ctx context.Context, block *ton.BlockIDExt) (ccipocr3.OnRampDynamicConfig, error)
- func (a *TONAccessor) GetTokenPriceUSD(ctx context.Context, rawTokenAddress ccipocr3.UnknownAddress) (ccipocr3.TimestampedUnixBig, error)
- func (a *TONAccessor) LatestMessageTo(ctx context.Context, dest ccipocr3.ChainSelector) (ccipocr3.SeqNum, error)
- func (a *TONAccessor) MessagesByTokenID(ctx context.Context, source, dest ccipocr3.ChainSelector, ...) (map[ccipocr3.MessageTokenID]ccipocr3.Bytes, error)
- func (a *TONAccessor) MsgsBetweenSeqNums(ctx context.Context, dest ccipocr3.ChainSelector, ...) ([]ccipocr3.Message, error)
- func (a *TONAccessor) NextSeqNum(ctx context.Context, sources []ccipocr3.ChainSelector) (seqNum map[ccipocr3.ChainSelector]ccipocr3.SeqNum, err error)
- func (a *TONAccessor) Nonces(ctx context.Context, ...) (map[ccipocr3.ChainSelector]map[string]uint64, error)
- func (a *TONAccessor) Sync(ctx context.Context, contractName string, ...) error
Constants ¶
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
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 ¶
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 (a *TONAccessor) ExecutedMessages( ctx context.Context, ranges map[ccipocr3.ChainSelector][]ccipocr3.SeqNumRange, confidence primitives.ConfidenceLevel, ) (map[ccipocr3.ChainSelector][]ccipocr3.SeqNum, error)
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 (a *TONAccessor) GetFeeQuoterTokenUpdates( ctx context.Context, tokens []ccipocr3.UnknownAddress, ) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error)
func (*TONAccessor) GetFeedPricesUSD ¶
func (a *TONAccessor) GetFeedPricesUSD( ctx context.Context, tokens []ccipocr3.UnknownEncodedAddress, tokenInfo map[ccipocr3.UnknownEncodedAddress]ccipocr3.TokenInfo, ) (ccipocr3.TokenPriceMap, error)
Price reader
func (*TONAccessor) GetLatestPriceSeqNr ¶
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 (a *TONAccessor) MessagesByTokenID(ctx context.Context, source, dest ccipocr3.ChainSelector, tokens map[ccipocr3.MessageTokenID]ccipocr3.RampTokenAmount, ) (map[ccipocr3.MessageTokenID]ccipocr3.Bytes, error)
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 (a *TONAccessor) Nonces(ctx context.Context, query map[ccipocr3.ChainSelector][]ccipocr3.UnknownEncodedAddress) (map[ccipocr3.ChainSelector]map[string]uint64, error)
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