NFT Tables ​
factory.b ​
- Table:
factory.b
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
id
The table contains Uniq factories' settings and the operational info.
Fields | Type | Description |
---|---|---|
id | uint64_t | (primary key) The Uniq factory ID |
asset_manager | eosio::name | Account that manages the Uniq lifecycle - issuing, burning, reselling etc. |
asset_creator | eosio::name | Account that ceates the Uniq factory. |
minimum_resell_price | eosio::asset | A minimum price when resell on marketplaces. |
resale_shares | std::vector<eosio::resale_share> | A vector of [account, share] pairs setting the share each account receives during the Uniq resale. |
mintable_window_start | std::optional<uint32_t> | The beginning of the time window when Uniqs can be minted. |
mintable_window_end | std::optional<uint32_t> | The end of the time window when Uniqs can be minted. |
trading_window_start | std::optional<uint32_t> | The beginning of the time window when Uniqs can be traded. |
trading_window_end | std::optional<uint32_t> | The end of the time window when Uniqs can be traded. |
recall_window_start | std::optional<uint32_t> | Disabled. The beginning of the time window when Uniqs can be recalled. |
recall_window_end | std::optional<uint32_t> | Disabled. The beginning of the time window when Uniqs can be recalled. |
lockup_time | std::optional<uint32_t> | Disabled. The time window since Uniq minting in which the Uniq cannot be transferred |
conditionless_receivers | std::vector<eosio::name> | A set of Uniq receiver account Uniqs can be transferred to without any restrictions - like trading windows, minimum resell price, etc. |
stat | uint8_t | The Uniq factory status:0 = active - fully functional1 = inactive - cannot mint2 = shutdown - cannot mint or set active |
factory_uri | std::string | The Uniq factory metadata URI vector. |
factory_hash | eosio::checksum256 | The Uniq factory metadata hash. |
max_mintable_tokens | std::optional<uint32_t> | The maximal number of Uniqs that can be minted with the factory. |
minted_tokens_no | uint32_t | The number of minted Uniqs. |
existing_tokens_no | uint32_t | The number of minted minus number of burnt Uniqs. |
authorized_tokens_no | std::optional<uint32_t> | The current quantity of Uniqs that authorized minters can issue |
account_minting_limit | std::optional<uint32_t> | The limit of Uniqs that can be minted to each individual account |
transfer_window_start | std::optional<uint32_t> | The beginning fo the time window when Uniqs can be transferred |
transfer_window_end | std::optional<uint32_t> | The end of the time window when Uniqs can be transferred |
default_token_uri | std::string | The default Uniq metadata URI for Uniqs without dedicated URI |
default_token_hash | std::optional<checksum256> | The default Uniq metadata hash |
lock_hash | bool | Controls whether metadata of the factory, Uniqs or default Uniqs could be changed |
keys | binary_extension<optional<factory_keys>> | Factory key definition, including name, type, edit details, default values |
factory_keys
type breakdown ​
Name | Type | Description |
---|---|---|
key_defs | vector<key_def_table> | Defines key name and types; key value must conform with the name and type defined here |
total_key_def_ram_payment_size | int64_t | Amount of RAM used to store key definitions |
total_key_value_ram_payment_size | int64_t | Amount of RAM used to store key values |
key_def_table
type breakdown ​
Name | Type | Description |
---|---|---|
name | string | Key name |
type_index | uint8_t | Index of the variant type |
edit_rights | uint8_t | Bitmask, determines who can edit the key including asset manager, owner, authorized editor or user group. |
editors | vector<eosio::name> | The editor if authorized editor is set. |
default_value | optional<key_value_store> | Optional default key values |
Most relevant actions: create.b, issue.b, settknmeta, setdflttkn, setcondrecv, setmeta.b, setstatus, addkeys.a
factory.a ​
- Table:
factory.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
id
The table contains uniq factories settings and the operational info.
WARNING
Deprecated. Refer to factory.b
instead
Fields | Type | Description |
---|---|---|
id | uint64_t | (primary key) The Uniq factory ID |
asset_manager | eosio::name | Account that manages the Uniq lifecycle - issuing, burning, reselling etc. |
asset_creator | eosio::name | Account that creates the Uniq factory. |
conversion_rate_oracle_contract | eosio::name | Deprecated. Please do not use. |
chosen_rate | std::vector<eosio::asset> | Deprecated. Please do not use. |
minimum_resell_price | eosio::asset | A minimum price when resell on marketplaces. |
resale_shares | std::vector<eosio::resale_share> | A vector of [account, share] pairs setting the share each account receives during the Uniq resale. |
mintable_window_start | std::optional<uint32_t> | The beginning of the time window when Uniqs can be minted. |
mintable_window_end | std::optional<uint32_t> | The end of the time window when Uniqs can be minted. |
trading_window_start | std::optional<uint32_t> | The beginning of the time window when Uniqs can be traded. |
trading_window_end | std::optional<uint32_t> | The end of the time window when Uniqs can be traded. |
recall_window_start | std::optional<uint32_t> | The beginning of the time window when Uniqs can be recalled. |
recall_window_end | std::optional<uint32_t> | The beginning of the time window when Uniqs can be recalled. |
lockup_time | std::optional<uint32_t> | The time window since Uniq minting in which the Uniq cannot be transferred |
conditionless_receivers | std::vector<eosio::name> | A set of Uniq receiver account Uniqs can be transferred to without any restrictions - like trading windows, minimum resell price, etc. |
stat | uint8_t | The Uniq factory status:0 = active - fully functional1 = inactive - cannot mint2 = shutdown - cannot mint or set active |
meta_uris | std::vector<std::string> | The Uniq factory metadata URI vector. |
meta_hash | eosio::checksum256 | The Uniq factory metadata hash. |
max_mintable_tokens | std::optional<uint32_t> | The maximal number of Uniqs that can be minted with the factory. |
minted_tokens_no | uint32_t | The number of minted Uniqs. |
existing_tokens_no | uint32_t | The number of minted minus number of burnt Uniqs. |
Most relevant actions: create, issue, setcondrecv, setmeta, setstatus
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft factory.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"factory.a", "json": true}'
token.b ​
- Table:
token.b
- Code:
eosio.nft.ft
- Scope:
account
- Key:
id
The table stores the Uniqs owned by a user.
Fields | Type | Description |
---|---|---|
id | uint64_t | (primary key) Global Uniq ID |
token_factory_id | uint64_t | The Uniq factory ID the Uniq was issued with. |
mint_date | eosio::time_point_sec | The Uniq mint date. |
serial_number | uint32_t | The ordinal number of the Uniq assigned during issuance |
uri | std::optional<string> | URI pointing to the metadata of this Uniq |
hash | std::optional<eosio::checksum256> | Hash of the metadata for this Uniq |
key_values | binary_extension<optional<key_value_vec>> | Uniq key values, key name and type must conform with factory key definition; can be a subset |
key_value_vec
type breakdown ​
key_value_vec
is a vector of key value pairs:
Fields | Type | Description |
---|---|---|
key_index | uint8_t | Index of a key |
key_value | key_value_store | Key value |
Most relevant actions: buy, burn, issue.b, resell, setvals.a.
cleos
Query Example
cleos get table eosio.nft.ft <ACCOUNT> token.b
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"<ACCOUNT>", "code":"eosio.nft.ft", "table":"token.b", "json": true}'
token.a ​
- Table:
token.a
- Code:
eosio.nft.ft
- Scope:
account
- Key:
id
The table stores the Uniqs owned by a user.
WARNING
Deprecated. Refer to token.b
instead
Fields | Type | Description |
---|---|---|
id | uint64_t | (primary key) Global Uniq ID |
token_factory_id | uint64_t | The Uniq factory ID the Uniq was issued with. |
mint_date | eosio::time_point_sec | The Uniq mint date. |
serial_number | uint32_t | The ordinal number of the Uniq assigned during issuance |
Most relevant actions: buy, burn, issue, resell.
cleos
Query Example
cleos get table eosio.nft.ft <ACCOUNT> token.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"<ACCOUNT>", "code":"eosio.nft.ft", "table":"token.a", "json": true}'
resale.a ​
- Table:
resale.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
token_id
The table stores Uniqs for resale.
Fields | Type | Description |
---|---|---|
token_id | uint64_t | (primary key) Global Uniq ID |
owner | eosio::name | The Uniq owner account. |
price | eosio::asset | The Uniq resale price. |
promoter_basis_point | uint16_t | The Uniq resale advertiser commission. |
Most relevant actions: resell, cancellresell
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft resale.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"resale.a", "json": true}'
authmintrs.a ​
- Table:
authmintrs.a
- Code:
eosio.nft.ft
- Scope:
Uniq factory ID
- Key:
authorized_minter
The table stores information about Uniq minters permitted by uniq factories asset managers or other authorized minters to issue Uniqs.
Fields | Type | Description |
---|---|---|
authorized_minter | eosio::name | (primary key) The authorized minter account. |
quantity | uint32_t | The number of Uniqs the authorized minter can mint. |
Most relevant actions: authminter, issue
cleos
Query Example
cleos get table eosio.nft.ft <UNIQ FACTORY ID> authmintrs.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"<UNIQ FACTORY ID>", "code":"eosio.nft.ft", "table":"authmintrs.a", "json": true}'
global.share ​
- Table:
global.share
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
(for second hand),0
(for first hand) - Key: N/A
The table stores information about global share of each first hand purchase or second hand Uniq sale: which account and how many basis points it receives (each basis point = 0.01%)
Fields | Type | Description |
---|---|---|
receiver | eosio::name | Receiver of the global sale share |
basis_point | uint16_t | Share of the sale specified in the basis points |
Most relevant actions: buy
, resell
, globalshare
, fhglobalshr
, purchase.a
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft global.share
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"global.share", "json": true}'
migration ​
- Table:
migration
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key: N/A
The table stores information about current active Uniq standard version and flags used to indicate the status of the migration
Fields | Type | Description |
---|---|---|
active_nft_version | uint64_t | Version of the current active Uniq standard |
table_migration_stats | uint16_t | Bitmask storing information about the status of the migration. factory_a_migration_done = 0x0000'0000'0000'0001 , token_a_migration_done = 0x0000'0000'0000'0002 |
Most relevant actions: migration
, mgrfactories
, mgrnfts
, setnftmgrflg
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft migration
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"migration", "json": true}'
next.factory ​
- Table:
next.factory
- Code:
eosio.nft.ft
- Scope:
0
- Key: N/A
The table stores information about the ID of the next created Uniq factory
Fields | Type | Description |
---|---|---|
value | uint64_t | ID that the next created Uniq factory will receive |
Most relevant actions: create
, create.b
cleos
Query Example
cleos get table eosio.nft.ft 0 next.factory
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"0", "code":"eosio.nft.ft", "table":"next.factory", "json": true}'
next.token ​
- Table:
next.token
- Code:
eosio.nft.ft
- Scope:
0
- Key: N/A
The table stores information about the ID of the next issued Uniq
Fields | Type | Description |
---|---|---|
value | uint64_t | ID that the next issued Uniq will receive |
Most relevant actions: issue
, issue.b
cleos
Query Example
cleos get table eosio.nft.ft 0 next.token
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"0", "code":"eosio.nft.ft", "table":"next.token", "json": true}'
next.fct.grp ​
- Table:
next.fct.grp
- Code:
eosio.nft.ft
- Scope:
0
- Key: N/A
The table stores information about the ID of the next created factory group
Fields | Type | Description |
---|---|---|
value | uint64_t | ID that the next created Uniq factory will receive |
Most relevant actions: creategrp
cleos
Query Example
cleos get table eosio.nft.ft 0 next.fct.grp
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"0", "code":"eosio.nft.ft", "table":"next.fct.grp", "json": true}'
tfcreateflag ​
- Table:
tfcreateflag
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key: N/A
The table stores information about whether the creation of uniq factories by accounts other than Ultra is allowed
Fields | Type | Description |
---|---|---|
require_ultra | bool | Whether Ultra permission is required to create a Uniq factory. Default is true |
Most relevant actions: create.b
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft tfcreateflag
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"tfcreateflag", "json": true}'
mintstat.a ​
- Table:
mintstat.a
- Code:
eosio.nft.ft
- Scope:
Uniq factory ID
- Key:
user
The table stores information about how many Uniqs were minted to the specific user account. Utilized to check against minting limit within the Uniq factory
Fields | Type | Description |
---|---|---|
user | name | Account name of the user |
minted | uint32_t | Number of Uniqs that were minted to this user from this Uniq factory |
Most relevant actions: issue
, issue.b
cleos
Query Example
cleos get table eosio.nft.ft 15 mintstat.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"15", "code":"eosio.nft.ft", "table":"mintstat.a", "json": true}'
ramvault.a ​
- Table:
ramvault.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
owner
The table stores information about the utilization of RAM vault per account with usage and UOS payment done
Fields | Type | Description |
---|---|---|
owner | name | Owner of this RAM vault entry |
usage | int64_t | Current RAM usage of the vault RAM |
payment | int64_t | Total payment done to the RAM vault |
Most relevant actions: create.b
, issue.b
, clrmintst
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft ramvault.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"ramvault.a", "json": true}'
factorygrp.a ​
- Table:
factorygrp.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
id
The table stores information about the utilization of RAM vault per account with usage and UOS payment done
Fields | Type | Description |
---|---|---|
id | uint64_t | ID of this Uniq factory group |
manager | eosio::name | Manager of the factory group |
uri | std::string | URI of the factory group metadata |
hash | eosio::checksum256 | Hash of the factory group metadata |
factories | std::vector<uint64_t> | Array of factories in the Uniq factory group |
uos_payment | int64_t | UOS payment charged during the creation of the factory group |
Most relevant actions: creategrp
, deletegrp
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft factorygrp.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"factorygrp.a", "json": true}'
saleshrlimcfg ​
- Table:
saleshrlmcfg
- Code:
eosio.nft.ft
- Scope:
0 - first hand, 1 - second hand
- Key: N/A
The table stores information about maximum share basis points that can be distributed during Uniq purchase
Fields | Type | Description |
---|---|---|
max_ultra_share_bp | uint16_t | Maximum protocol fee that can be configured with globalshare |
max_factory_share_bp | uint16_t | Maximum total resale shares that can be specified during Uniq factory creation |
min_promoter_share_bp | uint16_t | Minimum allowed promoter fee for first-hand or second-hand purchase (depending on scope) |
max_promoter_share_bp | uint16_t | Maximum allowed promoter fee for first-hand or second-hand purchase (depending on scope) metadata |
default_promoter | std::optional<eosio::name> | Default promoter used during first-hand or second-hand purchase if none was specified in the action |
promoter_payments_enabled | bool | Whether the promoter shares are enabled globally |
Most relevant actions: setsharelim
cleos
Query Example
cleos get table eosio.nft.ft 0 saleshrlmcfg
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":0, "code":"eosio.nft.ft", "table":"saleshrlmcfg", "json": true}'
fctrprchs.a ​
- Table:
fctrprchs.a
- Code:
eosio.nft.ft
- Scope:
Uniq factory ID
- Key:
id
The table stores information about the utilization of RAM vault per account with usage and UOS payment done
Fields | Type | Description |
---|---|---|
id | uint64_t | ID of this purchase requirement |
price | asset | Price of the uniq specified in UOS or USD |
purchase_limit | uint32_t | Max number of uniqs that can be purchased with this purchase option |
purchased_tokens_no | uint16_t | Number of uniqs that were already purchased using this option (Default: 0) |
promoter_basis_point | uint16_t | UOS share received by the promoter with each purchase done for this option. Specified in basis points. 1 means 0.01% |
purchase_option_with_uniqs | std::optional<purchase_requirement_with_uniqs> | Optional feature that allows the purchase option to require user to own uniqs from specific factories or to pay with uniqs from specific factories |
sale_shares | std::vector<sale_share> | A vector of [account, share] pairs setting the share each account receives during the purchase |
uos_payment | int64_t | UOS payment charged during the creation of the purchase option |
purchase_window_start | std::optional<eosio::time_point_sec> | Optional start of the purchase window. Cannot purchase using this option until the start |
purchase_window_end | std::optional<eosio::time_point_sec> | Optional end of the purchase window. Cannot purchase using this option after the end |
group_restriction | std::optional<uint64_t_vector> | Optional user group requirement can be specified |
Most relevant actions: setprchsreq.a
, setprchsreq.b
, delprchsreq.a
, purchase.a
cleos
Query Example
cleos get table eosio.nft.ft 123 fctrprchs.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"123", "code":"eosio.nft.ft", "table":"fctrprchs.a", "json": true}'
The tables below describe the structure and usage of each of the fields inside purchase_option_with_uniqs
and uniqs_count
structures that can be provided
purchase_option_with_uniqs
type ​
Field | Type | Description |
---|---|---|
transfer_tokens_receiver_account | std::optional<eosio::name> | If any of the factories specified contain a requirement with transfer strategy then this account will be the one to receive the uniq during purchase |
factories | std::vector<uniqs_count> | List of purchase requirements using uniqs from other factories. Description of the uniqs_count type provided below |
uniqs_count
type ​
Field | Type | Description |
---|---|---|
token_factory_id | uint64_t | ID of the factory that the user needs to have Uniqs from |
count | uint32_t | How many Uniqs are needed from the specified factory |
strategy | uint8_t | Can be either check (use 0), burn (use 1), transfer (use 2). If check is used - only the presence of the Uniqs is validated, no change occurs. If burn is specified - provided uniq from the factory will be burnt. If transfer is specified - provided uniq will be transferred to transfer_tokens_receiver_account |
group_restriction
type ​
By default, regardless of which action version is used, group_restriction
will be saved as vector of 64-bit integers. This might be hard to read since it includes logical expression with the value. For example: 2305843009213693953
means NOT 1
or ~1
.
To be displayed as human-readable values, we recommend you implement some conversion on your side. Here is our small JavaScript example to convert 64-bit integer to readable string. You can run the included demo with node user-group-converter.js
.
// user-group-converter.js
const { isBigUint64Array } = require("util/types")
const OR_MASK = 0x1000000000000000n // 0: AND, 1: OR (= 1152921504606846976)
const NEGATION_MASK = 0x2000000000000000n // 0: No Negation, 1: Negation (= 2305843009213693952)
const GROUP_ID_MASK = ~(OR_MASK + NEGATION_MASK)
/* RULES
- 1st element in group restriction array should not contain OR or AND
- Combination rules: [OR] + [NEGATION] + [group_id]
+ &[group_id] = 0 + 0 + [group_id]
+ |[group_id] = 1152921504606846976 + 0 + [group_id]
+ ~[group_id] = 0 + 2305843009213693952 + [group_id]
+ |~[group_id] = 1152921504606846976 + 2305843009213693952 + [group_id]
*/
const expression_to_string = (group, firstIndex = false) => {
var result = ""
// OR Extraction
if (!firstIndex) {
if ((group & OR_MASK) == OR_MASK)
result += "|" // OR
else
result += "&" // AND
}
// NEGATION Extraction
if ((group & NEGATION_MASK) == NEGATION_MASK)
result += "~" // NOT
// Group ID Extraction
result += group & GROUP_ID_MASK
return result;
}
const convert_group_restrictions = (groupRestrictions) => {
var result = ""
if (!isBigUint64Array(groupRestrictions) || groupRestrictions.length == 0)
return result
for (var i = 0; i < groupRestrictions.length; ++i) {
result += expression_to_string(groupRestrictions[i], i == 0);
}
return result
}
const demo = () => {
const groups = new BigUint64Array([2305843009213693953n, 2n, 3458764513820540931n]) // = "~1&2|~3"
console.log(convert_group_restrictions(groups))
}
demo()
offercfg.a ​
- Table:
offercfg.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
N/A
The table stores information about global Uniq offer configuration
Fields | Type | Description |
---|---|---|
min_price | asset | Minimum offer price in UOS or USD (Default: 1 UOS) |
min_duration | uint32_t | Minimum duration for offer in seconds (Default: 86400 sec or 1 day) |
max_duration | uint32_t | Maximum duration for offer in seconds (Default: 15552000 sec or 180 day) |
max_active_offer_per_user | uint32_t | Maximum active offer per user (Default: 50) |
Most relevant actions: stofrcfg.a
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft offercfg.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"offercfg.a", "json": true}'
next.nftofr ​
- Table:
next.nftofr
- Code:
eosio.nft.ft
- Scope:
0
- Key: N/A
The table stores information about the ID of the next created Uniq offer
Fields | Type | Description |
---|---|---|
value | uint64_t | ID that the next created Uniq offer will receive |
Most relevant actions: mknftofr.a
cleos
Query Example
cleos get table eosio.nft.ft 0 next.nftofr
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"0", "code":"eosio.nft.ft", "table":"next.nftofr", "json": true}'
nftoffer.a ​
- Table:
nftoffer.a
- Code:
eosio.nft.ft
- Scope:
Uniq ID
- Key:
id
The table stores information about the offer made by the buyer for specific Uniq ID
Fields | Type | Description |
---|---|---|
offer_id | uint64_t | Uniq offer ID |
buyer | name | Buyer who makes the offer for the Uniq |
receiver | std::optional<name> | User who will receive the Uniq if offer is accepted, if specified |
price | asset | Offer price in UOS |
promoter_basis_point | uint16_t | UOS share received by the promoter with this offer. Specified in basis points. 1 means 0.01% |
expiry_date | time_point_sec | Expiry date of the offer |
Most relevant actions: mknftofr.a
cleos
Query Example
cleos get table eosio.nft.ft <UNIQ ID> nftoffer.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"<UNIQ ID>", "code":"eosio.nft.ft", "table":"nftoffer.a", "json": true}'
next.fctofr ​
- Table:
next.fctofr
- Code:
eosio.nft.ft
- Scope:
0
- Key:
N/A
The table stores information about the ID of the next created Uniq offer
Fields | Type | Description |
---|---|---|
value | uint64_t | ID that the next created Uniq factory offer will receive |
Most relevant actions: mkfctofr.a
cleos
Query Example
cleos get table eosio.nft.ft 0 next.fctofr
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"0", "code":"eosio.nft.ft", "table":"next.fctofr", "json": true}'
fctoffer.a ​
- Table:
fctoffer.a
- Code:
eosio.nft.ft
- Scope:
Uniq factory ID
- Key:
id
The table stores information about the offer made by the buyer for specific Uniq factory ID
Fields | Type | Description |
---|---|---|
offer_id | uint64_t | Uniq factory offer ID |
buyer | name | Buyer who makes the offer for Uniq factory |
receiver | std::optional<name> | User who will receive the Uniq if offer is accepted, if specified |
price | asset | Offer price in UOS |
promoter_basis_point | uint16_t | UOS share received by the promoter with this offer. Specified in basis points. 1 means 0.01% |
expiry_date | time_point_sec | Expiry date of the offer |
Most relevant actions: mkfctofr.a
cleos
Query Example
cleos get table eosio.nft.ft <UNIQ FACTORY ID> fctoffer.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"<UNIQ FACTORY ID>", "code":"eosio.nft.ft", "table":"fctoffer.a", "json": true}'
buyoffer.a ​
- Table:
buyoffer.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
account
The table stores the Uniq IDs and Uniq factory IDs on which the buyer made offers.
Fields | Type | Description |
---|---|---|
buyer | name | Buyer account |
nft_ids | std:vector<uint64_t> | Uniq IDs of all offers made by buyer, sorted in ascending order |
factory_ids | std:vector<uint64_t> | Uniq factory IDs of all offers made by buyer, sorted in ascending order |
Most relevant actions: mkfctofr.a
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft buyoffer.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"buyoffer.a", "json": true}'
auctioncfg.a ​
- Table:
auctioncfg.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
The table stores information about global Uniq auction configuration
Fields | Type | Description |
---|---|---|
min_starting_price | asset | Minimum starting auction price in UOS (Default: 1 UOS) |
min_duration | uint32_t | Minimum duration for an auction in seconds (Default: 3600 sec or 1 hour) |
max_duration | uint32_t | Maximum initial duration for an auction in seconds (Default: 2592000 sec or 30 days) |
min_bid_increment_basis_point | uint32_t | Minimum increment between the auction bids in basis points (Default: 500 or 5%) |
min_bid_increment_uos | asset | Minimum increment between the auction bids in UOS. The maximum between min_bid_increment_basis_point and min_bid_increment_uos is chosen. (Default 1 UOS) |
auction_extension_threshold | uint32_t | If a bid happens within auction_extension_threshold before the end of an auction, then the auction duration will be extended by auction_extension_step from the time the bid occurs (Default: 600 seconds) |
auction_extension_step | uint32_t | See auction_extension_threshold (Default: 600 seconds) |
Most relevant actions: stauctcfg.a
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft auctioncfg.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"auctioncfg.a", "json": true}'
next.nftauc ​
- Table:
next.nftauc
- Code:
eosio.nft.ft
- Scope:
0
- Key:
N/A
The table stores information about the ID of the next created Uniq auction
Fields | Type | Description |
---|---|---|
value | uint64_t | ID that the next created Uniq auction will receive |
Most relevant actions: createauct.a
cleos
Query Example
cleos get table eosio.nft.ft 0 next.nftauc
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"0", "code":"eosio.nft.ft", "table":"next.nftauc", "json": true}'
auction.a ​
- Table:
auction.a
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
token_id
The table stores the current active auctions along with the information about the Uniq, seller and bidder
Fields | Type | Description |
---|---|---|
token_id | uint64_t | ID of the Uniq placed on the auction |
auction_id | uint64_t | ID of the auction |
owner | name | Current owner of the Uniq and creator of the auction |
bid | asset | Current highest bid placed on the auction. If there is no bidder , then the bid is equal to the starting price` |
bidder | std::optional<name> | Name of the account of the last bidder |
receiver | std::optional<name> | Name of the account that will recieve the Uniq after the auction ends |
promoter_id | std::optional<name> | Promoter of this auction |
promoter_basis_point | uint16_t | Share of UOS that the promoter account will recieve when the auction ends |
start_date | std::optional<time_point_sec> | Optional date when the bids will be allowed for this auction |
expiry_date | time_point_sec | End date of the auction |
Most relevant actions: createauct.a
, bidauction.a
, settleauct.a
, cancelauct.a
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft auction.a
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"auction.a", "json": true}'
keytypes ​
- Table:
keytypes
- Code:
eosio.nft.ft
- Scope:
eosio.nft.ft
- Key:
N/A
The table store the supported key type for on-chain data and the maximum element that type can support when adding value.
Field | Type | Description |
---|---|---|
key_types | std::vector<key_type_info> | The key types that will be updated |
cleos
Query Example
cleos get table eosio.nft.ft eosio.nft.ft keytypes
curl
query example
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"keytypes", "json": true}'