Jetton Transfers
The ton.assets.jetton_transfers
contains jetton transfers identified from ton.raw.messages
with the opcode 0x0f8a7ea5
.
This model does not include internal transfers and transfer notifications to prevent duplicate volume counts (read more Ton and Jetton Wallet Communication below for context).
This table is in Beta
There may be unaccounted edge cases involving jetton transfers that do not involve
transfer
All address fields used in this table will be in Hex format and upper casing
There are up to 5 equivalent addresses for a given address on Ton.
Use this website to convert the desired address https://ton.org/address/
Example of Hex address:
0:B113A994B5024A16719F69139328EB759596C38A25F59028B146FECDC3621DFE
Asynchronous and Non-Atomic Transactions in TON
The TON blockchain operates differently from many other blockchains, particularly in how it handles transactions.
Two key characteristics of TON transactions are their asynchronous and non-atomic nature:
Asynchronous Transactions:
In TON, when a transaction is initiated, it isn't immediately complete. Instead, it triggers a series of message-passing events between smart contracts. These messages are processed in subsequent blocks, which means the full execution of a transaction can span multiple blocks.
Implications:
The final state of a transaction isn't known immediately after it's sent.
There can be a delay between when a transaction is initiated and when it's fully executed.
Non-Atomic Transactions:
Atomicity in database systems means that a transaction is treated as a single, indivisible unit that either completes entirely or not at all. In TON, transactions are not atomic. This means that a single logical operation (like a token transfer) might involve multiple separate steps that can be partially completed.
Implications:
A transaction can partially succeed or fail.
Some effects of a transaction can occur while others don't.
Error handling and state management become more complex.
Jetton Wallets Communication
For Jetton (TON's equivalent of ERC20) transfers, this asynchronous and non-atomic nature manifests as follows:
The initial transfer operation is just the first step of the transfer
This triggers an internal transfer between two Jetton wallets.
To confirm a successful transfer, we must check that this internal transfer has occurred.
In our Jetton Transfers, we check that there is a corresponding internal_transfer
message that has succeded. This will be represented by succcess = true
Table Columns
Unique Key: unique_id
from_address
Address that initiated the transfer [Bob's Wallet]
from_jetton_address
Jetton address of the user that initiated the transfer [Bob's Jetton Wallet]
to_address
Address that received the transfer [Alice's wallet]
Note: to_jetton_address
included in our schema, this field is not present in the decoded transfer payload.
jetton_master
Jetton master address in hex. This is the token contract equivalent (like ERC20) on TON.
token_name
Name of the token
token_symbol
Symbol of the token
amount_str
Amount of the token in string format
amount
Amount of the token in float format
raw_amount_str
The unnormalized amount of the token in string format
raw_amount
The unnormalized amount of the token in float format
response_destination
Response destination of the transfer [Joe's wallet address]
forward_ton_amount
Forward TON amount of the transfer
forward_payload
Forward payload of the transfer
block_timestamp
Timestamp of the block that contains the transfer
utime
Timestamp of the transfer
hash
Message hash of the transfer
created_lt
Logical time of the transfer
masterchain_seqno
Sequence number on the masterchain
seqno
Sequence number on the workchain
shard
Shard of the transfer
workchain
Workchain of the transfer
bounce
Bounce of the transfer
bounced
Bounced of the transfer
tokens_updated_at
Timestamp of the last update of the token
created_at
Timestamp of the creation of the transfer
updated_at
Timestamp of the last update of the transfer
changed_since_full_refresh
Whether the transfer has changed since the last full refresh
Last updated