Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Any2TVMRampMessage ¶
type Any2TVMRampMessage struct {
Header RampMessageHeader `tlb:"."`
Sender common.CrossChainAddress `tlb:"^"`
Data common.SnakeBytes `tlb:"^"`
Receiver *address.Address `tlb:"addr"`
GasLimit tlb.Coins `tlb:"."`
TokenAmounts common.SnakeRef[Any2TVMTokenTransfer] `tlb:"^"`
}
Any2TVMRampMessage represents ramp message, which is part of the execute report.
type Any2TVMTokenTransfer ¶
type Any2TVMTokenTransfer struct {
SourcePoolAddress common.CrossChainAddress `tlb:"^"`
DestPoolAddress *address.Address `tlb:"addr"`
DestGasAmount uint32 `tlb:"## 32"`
ExtraData *cell.Cell `tlb:"^"`
Amount *big.Int `tlb:"## 256"`
}
Any2TVMTokenTransfer represents a token transfer within a ramp message.
type CommitReport ¶
type CommitReport struct {
PriceUpdates PriceUpdates `tlb:"^"`
MerkleRoot MerkleRoots `tlb:"^"`
RMNSignatures common.SnakeRef[common.SnakeBytes] `tlb:"^"`
}
CommitReport represents the top-level structure for a commit report.
type ExecuteReport ¶
type ExecuteReport struct {
SourceChainSelector uint64 `tlb:"## 64"`
Messages common.SnakeRef[Any2TVMRampMessage] `tlb:"^"`
OffChainTokenData common.SnakeRef[common.SnakeBytes] `tlb:"^"`
Proofs common.SnakeRef[common.SnakeBytes] `tlb:"^"`
ProofFlagBits *big.Int `tlb:"## 256"`
}
ExecuteReport represents CCIP execute report messages on the TON blockchain.
type GasPriceUpdate ¶
type GasPriceUpdate struct {
DestChainSelector uint64 `tlb:"## 64"`
UsdPerUnitGas *big.Int `tlb:"## 256"`
}
GasPriceUpdate represents a gas price update for a chain.
type MerkleRoot ¶
type MerkleRoot struct {
SourceChainSelector uint64 `tlb:"## 64"`
OnRampAddress common.CrossChainAddress `tlb:"."`
MinSeqNr uint64 `tlb:"## 64"`
MaxSeqNr uint64 `tlb:"## 64"`
MerkleRoot []byte `tlb:"bits 256"`
}
MerkleRoot represents a Merkle root for a chain's data.
type MerkleRoots ¶
type MerkleRoots struct {
BlessedMerkleRoots common.SnakeData[MerkleRoot] `tlb:"^"`
UnblessedMerkleRoots common.SnakeData[MerkleRoot] `tlb:"^"`
}
MerkleRoots holds the blessed and unblessed Merkle roots.
type PriceUpdates ¶
type PriceUpdates struct {
TokenPriceUpdates common.SnakeData[TokenPriceUpdate] `tlb:"^"`
GasPriceUpdates common.SnakeData[GasPriceUpdate] `tlb:"^"`
}
PriceUpdates holds token and gas price updates.
type RampMessageHeader ¶
type RampMessageHeader struct {
MessageID []byte `tlb:"bits 256"`
SourceChainSelector uint64 `tlb:"## 64"`
DestChainSelector uint64 `tlb:"## 64"`
SequenceNumber uint64 `tlb:"## 64"`
Nonce uint64 `tlb:"## 64"`
}
RampMessageHeader contains metadata for a ramp message.
type SignatureEd25519 ¶
type SignatureEd25519 struct {
R []byte `tlb:"bits 256"`
S []byte `tlb:"bits 256"`
Signer []byte `tlb:"bits 256"`
}
SignatureEd25519 represents a signature structure used in commit reports.
type TVM2AnyRampMessage ¶
type TVM2AnyRampMessage struct {
Header RampMessageHeader `tlb:"."`
Sender *address.Address `tlb:"addr"`
Body TVM2AnyRampMessageBody `tlb:"^"`
FeeValueJuels *big.Int `tlb:"## 96"`
}
type TVM2AnyRampMessageBody ¶
type TVM2AnyRampMessageBody struct {
Receiver common.CrossChainAddress `tlb:"^"`
Data common.SnakeBytes `tlb:"^"`
ExtraArgs *cell.Cell `tlb:"^"` // TODO: common.SnakeRef[TVM2AnyTokenTransfer] once defined
TokenAmounts *cell.Cell `tlb:"^"`
FeeToken *address.Address `tlb:"addr"`
FeeTokenAmount *big.Int `tlb:"## 256"`
}