...
Field | Description | Relationship | ||||||
---|---|---|---|---|---|---|---|---|
number |
| transactions → block_num | ||||||
id |
| |||||||
timestamp |
| |||||||
producer |
| |||||||
schedule_version |
|
transactions
...
Field | Description | Relationship | |||||||
---|---|---|---|---|---|---|---|---|---|
block_number |
| blocks → number | |||||||
id |
| traces → transaction_id | |||||||
action_account | Account name for action | action_name
| |||||||
action_name |
| ||||||||
account |
| ||||||||
tpid |
| ||||||||
fee |
| ||||||||
request_data |
| ||||||||
response_data |
| ||||||||
statusTransaction |
|
traces
|
traces
Add only. Every trace is a new entry.
Field | Description | Relationship | ||||||
---|---|---|---|---|---|---|---|---|
id |
| |||||||
transaction_id |
| transactions → id | ||||||
action_ordinal |
| |||||||
action_account |
| |||||||
action_name |
| |||||||
request_data |
|
...
Field | Description | Relationship | |||||||
---|---|---|---|---|---|---|---|---|---|
account | Account name | account_activity → account
| account_activity → account domains → account handles → account token_transfers → payer_account token_transfers → payee_account token_staking → staker_account fio_requests → payee_account fio_requests → payer_account fio_data → payee_account fio_data → payer_account | ||||||
public_key |
|
account_activity
...
Field | Description | Relationship | ||||||
---|---|---|---|---|---|---|---|---|
account |
| accounts → account | ||||||
transaction_id |
| transactions → id | ||||||
type |
|
domains
Add and update. Represents current state of domains. Will be updated every time domain info changes. Records will not be removed, just marked burned.
Field | Description | Relationship | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
domain |
| domain_activity → domain | |||||||||||||
account | Account name of current owner |
| accounts → account | ||||||||||||
is_public |
| ||||||||||||||
expiration |
| ||||||||||||||
status |
|
domain_activity
Add only. Every activity is a new entry
Field | Description | Relationship | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
domain |
| domains → domain | ||||||||||
transaction_id | Transaction ID | transactions → id | type | Type of activity |
| transactions → id | ||||||
type |
|
handles
Add and update. Represents current state of handles. Will be updated every time handle info changes. Records will not be removed, just marked burned.
Field | Description | Relationship | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
handle |
| handle_activity → handle pub_addresses → handle nft_signatures → handle fio_requests → payer_handle fio_requests → payee_handle fio_data → payer_handle fio_data → payee_handle | ||||||||||||
account |
| accounts → account | ||||||||||||
encryption_key |
| |||||||||||||
encryption_key_set | Defines if encryption key was specifically set | bundled_tx |
| |||||||||||
bundled_tx |
| |||||||||||||
expiration |
| |||||||||||||
status |
|
...
. Options:
|
handle_activity
Add only. Every activity is a new entry
Field | Description | Relationship | ||||||
---|---|---|---|---|---|---|---|---|
handle |
| handles → handle | ||||||
transaction_id |
| transactions → id | ||||||
type |
|
pub_addresses
Add, update, delete. Represents current state of mapped public addresses. Will be updated every time mapping changes. Records will be removed if needed.
...
Field
...
Description
...
Relationship
...
handle
...
Handle name
...
handles → handle
...
chain_code
...
Chain code
...
token_code
...
Token code
...
public_address
...
Public Address
...
. Options:
|
pub_addresses
Add, update, delete. Represents current state of NFT signaturesmapped public addresses. Will be updated every time signatures are changedmapping changes. Records will be removed if needed.
Field | Description | Relationship | ||||||
---|---|---|---|---|---|---|---|---|
handle |
| handles → handle | ||||||
chain_code |
|
token_ |
Contract address
token_id
Token ID
url
url
hash
hash
metadata
metadata
token_transfers
...
code |
| |||||||
public_address |
|
nft_signatures
Add, update, delete. Represents current state of NFT signatures. Will be updated every time signatures are changed. Records will be removed if needed.
...
amount
...
Token amount in FIO, unstake will be negative
fio_requests
Add and update. Represents current state of requests. Will be updated every time request status changes. Records will not be removed.
...
Field
...
Description
...
Relationship
...
id
...
FIO Request ID
...
fio_data → request_id
...
payee_handle
...
Handle of payer
...
handles → handle
...
payer_handle
...
Handle of payee
...
handles → handle
...
content
...
Encrypted blob
...
payee_pub_key
...
Public Key of payee
...
payer_pub_key
...
Public Key of payer
...
status
...
Status of request
...
transaction_id
...
Transaction ID
...
transactions → id
fio_data
Add and update. Represents current state of FIO Data. Will be updated every time request status changes. Records will not be removed.
Field
Description
Relationship
request_id
FIO Request ID (optional)
fio_requests → id
payee_handle
Handle of payer
handles → handle
payer_handle
Handle of payee
handles → handle
content
Encrypted blob
payee_pub_key
Public Key of payee
payer_pub_key
Public Key of payer
status
Status of data
Field | Description | Relationship |
---|
payer_account
Account of payer (sender)
accounts → account
payee_account
Account of payee (receiver)
accounts → account
transaction_id
Transaction ID
transactions → id
amount
Token amount in FIO
type
Type of transfer
memo
Memo in transfer
token_staking
Add only. Every stake or unstake is a new entry. Includes internal transfers.
...
Field
...
Description
...
Relationship
...
staker_account
...
Account of staker
...
accounts → account
...
transaction_id
...
Transaction ID
...
transactions → id
handle |
| handles → handle | ||||||
chain_code |
| |||||||
contract_address |
| |||||||
token_id |
| |||||||
url |
| |||||||
hash |
| |||||||
metadata |
|
token_transfers
Add only. Every transfer is a new entry. Includes internal transfers.
Field | Description | Relationship | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
payer_account |
| accounts → account | ||||||||||||
payee_account |
| accounts → account | ||||||||||||
transaction_id |
| transactions → id |
Parsing Rules
The parsing rules below are triggered by any of the following:
block
transaction
trace
specific
account
andname
insidetrace
→action_traces
→act
. It will be presented as Trigger: action_account:action:name, e.g. Trigger: eosio:newaccount
and are organized by defining the table where record needs to be added as well as data source, typically from the trace.
Note |
---|
Please pay attention to sequence of traces to accommodate relationships, e.g. when transferring tokens to a new account, the account has to be inserted into accounts table, before transfer is recorded. |
Trigger: every block
...
amount |
| |||||||||||||
type |
| |||||||||||||
memo |
|
token_staking
Add only. Every stake or unstake is a new entry. Includes internal transfers.
Field | Description | Relationship | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
staker_account |
| accounts → account | ||||||||||||
transaction_id |
| transactions → id | ||||||||||||
amount |
|
fio_requests
Add and update. Represents current state of requests. Will be updated every time request status changes. Records will not be removed.
Field | Description | Relationship | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
id |
| fio_data → request_id | ||||||||||||
payee_handle |
| handles → handle | ||||||||||||
payer_handle |
| handles → handle | ||||||||||||
content |
| |||||||||||||
payee_pub_key |
| |||||||||||||
payer_pub_key |
| |||||||||||||
status |
| |||||||||||||
transaction_id |
| transactions → id |
fio_data
Add and update. Represents current state of FIO Data. Will be updated every time request status changes. Records will not be removed.
Field | Description | Relationship | ||||||
---|---|---|---|---|---|---|---|---|
request_id |
| fio_requests → id | ||||||
payee_handle |
| handles → handle | ||||||
payer_handle |
| handles → handle | ||||||
content |
| |||||||
payee_pub_key |
| |||||||
payer_pub_key |
| |||||||
status |
| |||||||
transaction_id |
| transactions → id |
Parsing Rules
The parsing rules below are triggered by any of the following:
block
transaction
trace
specific
account
andname
insidetrace
→action_traces
→act
. It will be presented as Trigger: action_account:action:name, e.g. Trigger: eosio:newaccount
and are organized by defining the table where record needs to be added as well as data source, typically from the trace.
Note |
---|
Please pay attention to sequence of traces to accommodate relationships, e.g. when transferring tokens to a new account, the account has to be inserted into accounts table, before transfer is recorded. |
Trigger: every block
Table: blocks
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
number |
|
id |
|
timestamp |
|
producer |
|
schedule_version |
|
Trigger: every trace where action_ordinal = 1
Table: transactions
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
block_number |
|
id |
|
action_account |
|
action_name |
|
account |
|
tpid |
|
fee |
|
request_data |
|
response_data |
|
status |
|
Table: account_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
account |
|
transaction_id | Transaction ID |
type | “sender” |
Trigger: every trace where action_ordinal > 1
Table: traces
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
id | Trace id. Auto-generated ID or transaction_id + action_ordinal, e.g. 770989df18fac96e48ca03d6702991d4462bebacceab8cf6b389507e998ca7fe-2 |
transaction_id |
|
action_ordinal |
|
action_account |
|
action_name |
|
request_data |
|
Trigger: fio.address:bind2eosio
Table: accounts
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
account |
|
public_key |
|
Table: account_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
account |
|
transaction_id |
|
type | “receiver” |
Trigger: fio.token:trnsfiopubky and action_ordinal = 1
Table: token_transfers
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
payer_account |
|
payee_account |
|
transaction_id |
|
amount |
|
type | “transfer” |
memo |
Trigger: fio.token:trnsloctoks and action_ordinal = 1
Table: token_transfers
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
payer_account |
|
payee_account |
|
transaction_id |
|
amount |
|
type | “transfer_locked” |
memo |
Trigger: fio.token:transfer and receiver = fio.token
Table: token_transfers
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
payer_account |
|
payee_account |
|
transaction_id |
|
amount |
|
type | If If If If If If If |
memo |
|
Trigger: fio.token:issue and receiver = fio.token
Table: token_transfers
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
number
block_num
id
block_id
timestamp
block_timestamp
producer
producer
schedule_version
schedule_version
...
payer_account | “eosio” |
payee_account |
|
transaction_id |
|
amount |
|
type | “token_mint” |
memo |
|
Trigger: fio.token:wraptokens and action_ordinal = 1
Table:
...
token_transfers
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
block_number
block_num
payer_account |
|
payee_account | “fio.oracle" |
transaction_id |
|
amount |
|
account
action_name
trace
→ action_traces
→ act
→ name
| |
type | “wrap” |
memo |
Trigger: fio.token:stakefio and action_ordinal = 1
Table: token_staking
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
staker_account |
|
authorization
|
transaction_id |
|
action_traces
→ act
→ data
→ tpid
fee
response
→ fee_collected
| |
amount |
|
response_data
response
status
trace
→ status
→ |
Trigger: fio.token:retire and action_ordinal = 1
Table:
...
token_
...
transfers
Status | ||||
---|---|---|---|---|
|
...
Field | Source |
---|
Data | |
---|---|
payer_account |
|
payee_account | |
transaction_id |
|
amount |
|
actor
transaction_id
Transaction ID
type
“sender”
...
| |
type | “retire” |
memo |
|
Trigger: fio.token:unstakefio and action_ordinal = 1
Table:
...
token_staking
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
id
Trace id. Auto-generated ID or transaction_id + action_ordinal, e.g. 770989df18fac96e48ca03d6702991d4462bebacceab8cf6b389507e998ca7fe-2
transaction_id
trace
→ id
action_ordinal
trace
→ action_traces
→ action_ordinal
staker_account |
|
account
|
transaction_ |
id |
|
action_traces
→ act
→ name
request_data
| |
amount | Negative of ( |
Trigger: fio.address:
...
regdomain and action_ordinal = 1
Table:
...
domains
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
domain
)Field | Source Data |
---|
domain |
|
account |
public_key
|
client_key
→ | |
is_public | “false” |
expiration |
|
status | “active" |
Table:
...
domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
domain |
|
name
| |
transaction_id |
|
type |
“account_created”
...
“register” |
Table:
...
account_
...
activity
Status | ||||
---|---|---|---|---|
|
...
Field
...
Source Data
...
payer_account
...
Only insert if trace
→ action_traces
→ act
→ data
→ actor
is not trace
→ action_traces
→ act
→ data
→
...
owner_fio_public_key
hashed to account.
Field | Source Data |
---|---|
account |
|
|
transaction_id |
trace
→ id
|
action_traces
→ act
→ data
→ amount
/ 1000000000 |
type |
“transfer”
“receiver” |
Trigger: fio.
...
address:
...
renewdomain and action_ordinal = 1
Table:
...
domains
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|
domain |
|
actor
payee_account | |
expiration |
|
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
domain |
|
payee_public_key
hashed to account | |
transaction_id |
|
amount
trace
→ action_traces
→ act
→ data
→ amount
/ 1000000000type |
“transfer_locked”
“renew” |
Trigger: fio.
...
address:
...
xferdomain and
...
action_ordinal = 1
Table:
...
domains
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|
domain |
|
from
|
account |
|
to
transaction_id
trace
→ id
amount
trace
→ action_traces
→ act
→ data
→ quantity
(strip " FIO")
type
If memo:FIO fee*
type is “blockchain_fee”
If memo:Paying TPID from treasury.
type is “tpid_reward”
If memo:Paying Staking Rewards
type is “staking_reward”
If memo:Paying producer from treasury.
type is “bp_reward”
If memo:Paying foundation from treasury.
type is “foundation_reward”
If memo:Token Wrapping Oracle Fee
type is “oracle_fee”
If memo:Token Unwrapping
type is “unwrap”
|
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
domain |
|
memo
...
| |
transaction_id |
|
type | “transfer” |
Table:
...
account_
...
activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
payer_account
account |
|
transaction_id |
|
amount
trace
→ action_traces
→ act
→ data
→ quantity
(strip " FIO")
type
“token_mint”
memo
trace
→ action_traces
→ act
→ data
→ memo
type | “receiver” |
Trigger: fio.
...
address:
...
setdomainpub and action_ordinal = 1
Table:
...
domains
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|
domain |
|
actor
payee
|
“fio.oracle"
transaction_id
trace
→ id
| |
is_public |
|
amount
/ 1000000000type
“wrap”
memo
...
|
Table:
...
domain_
...
activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
domain |
|
actor
trace
→ action_traces
→ act
→ data
→ amount
/ 1000000000 | |
transaction_id |
|
amount
type | is_public: 1 type is “public” is_public: 0 type is “non-public” |
Trigger: fio.
...
address:
...
wrapdomain and action_ordinal = 1
Table:
...
domains
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|
domain |
|
actor
|
payee_account
transaction_id
trace
→ id
amount
trace
→ action_traces
→ act
→ data
→ quantity
/ 1000000000
type
“retire”
memo
trace
→ action_traces
→ act
→ data
→ memo
Trigger: fio.token:unstakefio and action_ordinal = 1
...
account | “fio.oracle” |
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
domain |
|
actor
| |
transaction_id |
|
amount
Negative of (trace
→ action_traces
→ act
→ data
→ amount
/ 1000000000)
Trigger: fio.address:regdomain and action_ordinal = 1
...
type | “wrap” |
Table: account_activity
Status | ||||
---|---|---|---|---|
|
...
Field | Source Data |
---|---|
account | “fio.oracle” |
transaction_id |
|
type | “receiver” |
Trigger: fio.address:xferescrow
Table: domains
Status | ||||
---|---|---|---|---|
|
...
Field | Source Data |
---|---|
domain |
|
account |
|
|
is_public
expiration
response
→ expiration
status
“active"
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
domain |
|
transaction_id |
|
type |
“unwrap” |
Trigger: fio.address:renewdomain and action_ordinal = 1
...
Table: account_activity
Status | |
---|---|
|
...
|
...
|
...
Field | Source Data |
---|
account |
|
fio_domain
expiration
response
→ expiration
...
| |
transaction_id |
|
type | “receiver” |
Field | Source Data |
---|
domain
trace
→ action_traces
→ act
→ data
→ fio_domain
account | “fio.oracle” |
transaction_id |
|
type |
“sender” |
Trigger: fio.address:
...
regaddress and action_ordinal = 1
Table:
...
handles
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
handle
)Field | Source Data |
---|
handle |
|
| |
account |
|
|
...
encryption_key |
|
encryption_key_set | “false” |
bundled_tx | “100” |
expiration |
|
status | “active" |
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
handle |
|
| |
transaction_id |
|
type |
“register” |
Trigger: fio.address:setdomainpub and action_ordinal = 1
...
Table: account_activity
Status | |
---|---|
|
...
|
...
Field
...
Source Data
...
domain
|
Only insert if trace
→ action_traces
→ act
→ data
...
is_public
...
trace
→ action_traces
→ act
→ data
→ is_public
(1 - true; 0 - false)
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
...
Field
...
Source Data
...
domain
...
transaction_id
...
trace
→ id
...
type
...
is_public: 1 type is “public”
is_public: 0 type is “non-public”
Trigger: fio.address:wrapdomain and action_ordinal = 1
Table: domains
Status | ||||
---|---|---|---|---|
|
→ actor
is not trace
→ action_traces
→ act
→ data
→
...
owner_fio_public_key
hashed to account.
Field | Source Data |
---|
account |
|
data
→ fio_domain
account
| |
transaction_id |
|
type | “receiver” |
Table:
...
pub_
...
addresses
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
handle |
|
transaction_id
trace
→ id
type
| |
chain_code | “FIO” |
token_code | “FIO” |
public_address |
|
Trigger: fio.address:
...
renewaddress and action_ordinal = 1
Table:
...
handles
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
handle |
|
account
trace
→ action_traces
→ act
→ data
→ public_key
hashed to account
...
| |
bundled_tx | Increment current value by “100” |
expiration |
|
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
handle |
|
| |
transaction_id |
|
type |
“renew” |
Trigger: fio.address:
...
xferaddress and action_ordinal = 1
Table: handles
Status | ||||
---|---|---|---|---|
|
...
Status | ||||
---|---|---|---|---|
|
...
Field | Source Data |
---|---|
handle |
|
account |
|
encryption_key |
|
encryption_key_set | “false” |
bundled_tx
“100”
expiration
response
→ expiration
status
“active"
...
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type | “transfer” |
Table: account_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
account |
|
| |
transaction_id |
|
type |
“receiver” |
Table: pub_addresses
Status | ||||
---|---|---|---|---|
|
Status | ||||
---|---|---|---|---|
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→ fio_address
and add:
Field | Source Data |
---|---|
handle |
|
chain_code | “FIO” |
token_code | “FIO” |
public_address |
|
Table: nft_signatures
Status | ||||
---|---|---|---|---|
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→ fio_address
Trigger: fio.address:
...
addbundles and action_ordinal = 1
Table: handles
Status | ||||
---|---|---|---|---|
|
Field
Source Data
handle
Field | Source Data |
---|---|
handle |
|
bundled_tx | Increment current value by |
expiration
response
→ expiration
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
|
|
transaction_id
trace
→ id
type
“renew”
Trigger: fio.address:xferaddress and action_ordinal = 1
...
|
Table: handle_activity
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|---|
handle |
trace
→ action_traces
→ act
→ data
→ fio_address
|
|
| |
transaction_id |
|
action_traces
→ act
→ data
→ new_owner_fio_public_key
encryption_key_set
| |
type | “add_bundles” |
Trigger: fio.address:addaddress and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type |
“add_pubbadd” |
Table: pub_addresses
Status | |
---|---|
|
...
|
...
|
...
or
Status | |
---|---|
|
...
|
...
|
For each object in trace
→ action_traces
→ act
→ data
→ fio_address
and add: public_addresses
update or insert new record
Field | Source Data |
---|---|
handle |
|
chain |
“FIO”
public_address
_code |
“FIO”
Field
Source Data
|
new_owner_fio_public_key
Table: nft_signatures
Status | ||||
---|---|---|---|---|
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→ fio_address
Trigger: fio.address:addbundles and action_ordinal = 1
Table: handles
Status | ||||
---|---|---|---|---|
|
| |
token_code |
|
|
|
public_ |
address |
|
|
|
Table:
...
handles
Status | |
---|---|
|
...
|
...
|
Update only if encryption_key_set = false and chain_code = “FIO” and (token_code = “FIO” or token_code = “*”)
Field | Source Data |
---|---|
handle |
|
encryption_ |
key |
|
id
type
→ |
Trigger: fio.address:
...
remaddress and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type |
“rem_pubbadd” |
Table: pub_addresses
Status | |
---|---|
|
...
|
...
Status | ||||
---|---|---|---|---|
|
...
|
Remove each object in trace
→ action_traces
→ act
→ data
→ public_addresses
update or insert new record which matches
Field | Source Data |
---|---|
handle |
|
chain_code |
|
token_code |
|
public_address |
|
Trigger: fio.address:remalladdr and action_ordinal = 1
Table:
...
handle_activity
Status | |
---|---|
|
...
|
Field | Source Data |
---|---|
handle |
|
transaction_ |
id |
|
type | “rem_all_pubbadd” |
Table: pub_addresses
Status | ||||
---|---|---|---|---|
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→
...
fio_address
Trigger: fio.address:
...
addnft and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type |
“add_ |
nft” |
Table:
...
nft_signatures
Status | ||||
---|---|---|---|---|
|
Status | |
---|---|
|
...
|
...
|
For each object in trace
→ action_traces
→ act
→ data
→ public_addresses
which matches nfts
update or insert new record
trace
→ action_traces
→ act
→ data
→ public_addresses
→ Field | Source Data |
---|---|
handle |
|
chain_code
chain |
_code |
|
public_addresses
→ token_code
public_address
trace
→ action_traces
→ act
→ data
→ public_addresses
→ public_address
Trigger: fio.address:remalladdr and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field
Source Data
handle
→ | |
contract_address |
|
|
token_id |
|
url |
“rem_all_pubbadd”
Table: pub_addresses
Status | ||||
---|---|---|---|---|
|
...
| |
hash |
|
metadata |
|
...
|
Trigger: fio.address:
...
remnft and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type |
“rem_nft” |
Table: nft_signatures
Status | |
---|---|
|
...
|
...
Status | ||||
---|---|---|---|---|
|
...
|
Remove each object in trace
→ action_traces
→ act
→ data
→ nfts
update or insert new record which matches
Field | Source Data |
---|---|
handle |
|
chain_code |
|
contract_address |
|
token_id |
|
url |
|
hash |
|
metadata |
|
Trigger: fio.address:
...
remallnfts and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type |
“rem_nft”
...
“rem_all_nft” |
Table: nft_signatures
Status | ||||
---|---|---|---|---|
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→ fio_address
Trigger: fio.address:updcryptkey and action_ordinal = 1
Table: handles
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|---|
handle |
|
encryption_ |
key |
|
nfts
-> chain_code
contract_address
trace
→ action_traces
→ act
→ data
→ nfts
→ contract_address
| |
encryption_key_set | “true” |
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
nfts
→ token |
transaction_id |
|
action_traces
→ act
→ data
→ nfts
→ url
hash
trace
→ action_traces
→ act
→ data
→ nfts
→ hash
metadata
trace
→ action_traces
→ act
→ data
→ nfts
→ metadata
| |
type | “upd_encryptkey” |
Trigger: fio.address:regdomadd and action_ordinal = 1
Execute same as for trigger fio.address:regdomain and fio.address:regaddress except insert only once into account_activity
with type “receiver”.
Trigger: fio.address:
...
burnaddress and action_ordinal = 1
Table:
...
handles
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|---|
handle |
|
transaction_id
trace
→ id
type
status | “burnt” |
Table:
...
handle_
...
activity
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|---|
handle |
|
...
Trigger: fio.address:updcryptkey and action_ordinal = 1
...
transaction_id |
|
type | “self_burn” |
Table: pub_addresses
Status | |
---|---|
|
...
|
...
Field
...
Source Data
...
handle
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→ fio_address
...
encryption_key
Table: nft_signatures
Status | ||||
---|---|---|---|---|
|
Remove all objects matching in trace
→ action_traces
→ act
→ data
→
...
fio_
...
encryption_key_set
...
“true”
address
Trigger: fio.address:newfundsreq and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type
“upd_encryptkey”
Trigger: fio.address:regdomadd and action_ordinal = 1
Execute same as for trigger fio.address:regdomain and fio.address:regaddress
Trigger: fio.address:burnaddress and action_ordinal = 1
...
type | “new_request” |
Table: account_activity
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|---|
account |
|
transaction_id |
|
type | “receiver” |
Field | Source Data |
---|---|
account |
handle
Look-up |
status
transaction_id |
|
type | “receiver” |
Table:
...
fio_
...
requests
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
id |
|
payee_handle |
|
payer_ |
handle |
|
id
type
“self_burn”
Table: pub_addresses
Status | ||||
---|---|---|---|---|
|
...
→ | |
content |
|
payee_pub_key | Look-up |
Table: nft_signatures
Status | ||||
---|---|---|---|---|
|
...
payer_pub_key | Look-up |
status | “pending” |
transaction_id |
|
Trigger: fio.address:
...
cancelfndreq and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
transaction_id |
|
type |
“cancel_request” |
Table: fio_requests
Status | |
---|---|
|
...
|
...
|
Field | Source Data |
---|---|
id |
response
|
status | “cancelled” |
Trigger: fio.address:recordobt and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
handle |
|
|
transaction_ |
id |
|
action_traces
→ act
→ data
→ payer_fio_address
content | |
type | “record_obt” |
Table: account_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
account |
|
content
|
transaction_ |
Look-up accounts
→ encrypt_key
where account is owner of trace
→ action_traces
→ act
→ data
→ payee_fio_address
id |
|
type | “receiver” |
Field | Source Data |
---|---|
account | Look-up |
accounts
|
encrypt_key
|
|
|
status
“pending”
transaction_id |
|
...
type | “receiver” |
Table:
...
fio_
...
data
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|
request_id |
|
|
payee_ |
handle |
|
id
type
“cancel_request”
Table: fio_requests
Status | ||||
---|---|---|---|---|
|
Field
Source Data
→ | |
payer_handle |
|
|
status
“cancelled”
Trigger: fio.address:recordobt and action_ordinal = 1
Table: handle_activity
Status | ||||
---|---|---|---|---|
|
Field
Source Data
handle
content |
|
payee_pub_key | Look-up |
payer_pub_key | Look-up |
status | “sent_to_blockchain” |
transaction_id |
|
type
Table: fio_
...
requests
Status | |
---|---|
|
...
|
...
Field
...
Source Data
...
request_id
|
Update only if trace
→ action_traces
→ act
→ data
→ fio_request_id
...
is present
Field | Source Data |
---|---|
id |
|
payee_fio_address
payer_handle | |
status | “sent_to_blockchain” |
Trigger: fio.address:burndomain
Table: domains
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
domain |
|
payer_fio_address
content
trace
→ action_traces
→ act
→ data
→ content
payee_pub_key
Look-up accounts
→ encrypt_key
where account is owner of trace
→ action_traces
→ act
→ data
→ payee_fio_address
payer_pub_key
accounts
→ encrypt_key
where account is owner of
| |
status | “burnt” |
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
domain |
|
payer_fio_address
status
“sent_to_blockchain”
transaction_id
trace
→ id
...
| |
transaction_id |
|
type | “auto_burn” |
API
/get_blocks
Returns block information.
Request
Parameter | Description | ||||||
---|---|---|---|---|---|---|---|
time_start |
timestamp | ||||||
time_end |
timestamp | ||||||
producer |
producer | ||||||
sort |
|
...
|
...
Update only if trace
→ action_traces
→ act
→ data
→ fio_request_id
is present
Field | Source Data |
---|---|
id |
|
status | “sent_to_blockchain” |
Trigger: fio.address:burndomain
...
|
Query
Return records from blocks
which match all request parameters.
Sort by:
block_num_asc:
blocks
→number
ASCblock_num_desc:
blocks
→number
DESCtimestamp_asc:
blocks
→timestamp
ASCtimestamp_desc:
blocks
→timestamp
DESC
Response
Field | Source Data |
---|
number |
trace
→ action_traces
→ act
→ data
→ domainname
status
“burnt”
Table: domain_activity
Status | ||||
---|---|---|---|---|
|
Field | Source Data |
---|---|
domain |
|
transaction_id |
|
type | “auto_burn” |
API
/get_blocks
...
| |
id |
|
timestamp |
|
producer |
|
schedule_version |
|
Example
Code Block | ||
---|---|---|
| ||
[
{
"number": "2",
"id": "00000002953a8ab87a1855c0c40786e6a910a86cb2dd160f181418d05d233ea7",
"timestamp": "2020-03-25T00:05:21.000",
"producer": "eosio",
"schedule_version": "1"
}
] |
/get_transactions
Returns transaction information.
Request
Parameter | Description | ||||||
---|---|---|---|---|---|---|---|
time_start |
timestamp | ||||||
time_end |
Status | ||||
---|---|---|---|---|
|
timestamp
producer
sort
Status | ||||
---|---|---|---|---|
|
timestamp_asc
|
producer
|
Response
Field | Source Data |
---|---|
number |
|
id |
|
timestamp |
|
producer |
|
schedule_version |
|
Example
Code Block | ||
---|---|---|
| ||
[
{
"number": "2",
"id": "00000002953a8ab87a1855c0c40786e6a910a86cb2dd160f181418d05d233ea7",
"timestamp": "2020-03-25T00:05:21.000",
"producer": "eosio",
"schedule_version": "1"
}
] |
/get_transactions
Returns transaction information from transactions table.
Request
Parameter | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
time_start | | ||||||||
block_number |
block_number | ||||||||
action_account |
action_account | ||||||||
action_name |
action_name | ||||||||
impacted_account |
| ||||||||
impacted_account_direction |
timestamp time_endby impacted account direction (see below). Must also supply impacted_account
| ||||||||
sort |
timestamp | ||||||||
block_number |
block_number | ||||||||
action_account |
action_account | ||||||||
action_name |
action_name | ||||||||
sort |
timestamp_asc timestamp_desc
|
Query
Return records from transactions
which match all request parameters and:
impacted_account
is supplied:Constrains transactions to those that are present in
account_activity
→account
and:impacted_account_direction
is supplied and is “sender”type
is “sender”
impacted_account_direction
is supplied and is “receiver”type
is “receiver”
impacted_account_direction
is not supplied or is “both”type
is “receiver” ORtype
is “sender”
Please note: a single transaction can be affecting the same account as sender and receiver! In this case the same transaction should be returned twice.
Also include related data from:
blocks
timestamp
traces
All traces for transaction
Sort by:
timestamp_asc:
blocks
→timestamp
ASCtimestamp_desc:
blocks
→timestamp
DESC
Response
Field | Source Data | ||
---|---|---|---|
id |
| ||
block_number |
| ||
timestamp |
| ||
action_account |
| ||
action_name |
| account |
|
sender_account |
| ||
receiver_account |
| ||
impacted_account_direction | See
Blank is impacted_account not supplied. | ||
tpid |
| ||
fee |
| ||
request_data |
| ||
request_data |
| ||
status |
| ||
type_specific_data | This element contains data which is specific to certain types of transactions as follows
| ||
traces array |
For each trace:
|
Example
Code Block |
---|
[ { } ] |
TODO
burned addresses and domains pre JAN-2024 - maybe table deltas?
reverse handle look-up