Skip to content

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.

FieldsTypeDescription
iduint64_t(primary key) The Uniq factory ID
asset_managereosio::nameAccount that manages the Uniq lifecycle - issuing, burning, reselling etc.
asset_creatoreosio::nameAccount that ceates the Uniq factory.
minimum_resell_priceeosio::assetA minimum price when resell on marketplaces.
resale_sharesstd::vector<eosio::resale_share>A vector of [account, share] pairs setting the share each account receives during the Uniq resale.
mintable_window_startstd::optional<uint32_t>The beginning of the time window when Uniqs can be minted.
mintable_window_endstd::optional<uint32_t>The end of the time window when Uniqs can be minted.
trading_window_startstd::optional<uint32_t>The beginning of the time window when Uniqs can be traded.
trading_window_endstd::optional<uint32_t>The end of the time window when Uniqs can be traded.
recall_window_startstd::optional<uint32_t>Disabled. The beginning of the time window when Uniqs can be recalled.
recall_window_endstd::optional<uint32_t>Disabled. The beginning of the time window when Uniqs can be recalled.
lockup_timestd::optional<uint32_t>Disabled. The time window since Uniq minting in which the Uniq cannot be transferred
conditionless_receiversstd::vector<eosio::name>A set of Uniq receiver account Uniqs can be transferred to without any restrictions - like trading windows, minimum resell price, etc.
statuint8_tThe Uniq factory status:0 = active - fully functional1 = inactive - cannot mint2 = shutdown - cannot mint or set active
factory_uristd::stringThe Uniq factory metadata URI vector.
factory_hasheosio::checksum256The Uniq factory metadata hash.
max_mintable_tokensstd::optional<uint32_t>The maximal number of Uniqs that can be minted with the factory.
minted_tokens_nouint32_tThe number of minted Uniqs.
existing_tokens_nouint32_tThe number of minted minus number of burnt Uniqs.
authorized_tokens_nostd::optional<uint32_t>The current quantity of Uniqs that authorized minters can issue
account_minting_limitstd::optional<uint32_t>The limit of Uniqs that can be minted to each individual account
transfer_window_startstd::optional<uint32_t>The beginning fo the time window when Uniqs can be transferred
transfer_window_endstd::optional<uint32_t>The end of the time window when Uniqs can be transferred
default_token_uristd::stringThe default Uniq metadata URI for Uniqs without dedicated URI
default_token_hashstd::optional<checksum256>The default Uniq metadata hash
lock_hashboolControls whether metadata of the factory, Uniqs or default Uniqs could be changed
keysbinary_extension<optional<factory_keys>>Factory key definition, including name, type, edit details, default values

factory_keys type breakdown ​

NameTypeDescription
key_defsvector<key_def_table>Defines key name and types; key value must conform with the name and type defined here
total_key_def_ram_payment_sizeint64_tAmount of RAM used to store key definitions
total_key_value_ram_payment_sizeint64_tAmount of RAM used to store key values

key_def_table type breakdown ​

NameTypeDescription
namestringKey name
type_indexuint8_tIndex of the variant type
edit_rightsuint8_tBitmask, determines who can edit the key including asset manager, owner, authorized editor or user group.
editorsvector<eosio::name>The editor if authorized editor is set.
default_valueoptional<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

FieldsTypeDescription
iduint64_t(primary key) The Uniq factory ID
asset_managereosio::nameAccount that manages the Uniq lifecycle - issuing, burning, reselling etc.
asset_creatoreosio::nameAccount that creates the Uniq factory.
conversion_rate_oracle_contracteosio::nameDeprecated. Please do not use.
chosen_ratestd::vector<eosio::asset>Deprecated. Please do not use.
minimum_resell_priceeosio::assetA minimum price when resell on marketplaces.
resale_sharesstd::vector<eosio::resale_share>A vector of [account, share] pairs setting the share each account receives during the Uniq resale.
mintable_window_startstd::optional<uint32_t>The beginning of the time window when Uniqs can be minted.
mintable_window_endstd::optional<uint32_t>The end of the time window when Uniqs can be minted.
trading_window_startstd::optional<uint32_t>The beginning of the time window when Uniqs can be traded.
trading_window_endstd::optional<uint32_t>The end of the time window when Uniqs can be traded.
recall_window_startstd::optional<uint32_t>The beginning of the time window when Uniqs can be recalled.
recall_window_endstd::optional<uint32_t>The beginning of the time window when Uniqs can be recalled.
lockup_timestd::optional<uint32_t>The time window since Uniq minting in which the Uniq cannot be transferred
conditionless_receiversstd::vector<eosio::name>A set of Uniq receiver account Uniqs can be transferred to without any restrictions - like trading windows, minimum resell price, etc.
statuint8_tThe Uniq factory status:0 = active - fully functional1 = inactive - cannot mint2 = shutdown - cannot mint or set active
meta_urisstd::vector<std::string>The Uniq factory metadata URI vector.
meta_hasheosio::checksum256The Uniq factory metadata hash.
max_mintable_tokensstd::optional<uint32_t>The maximal number of Uniqs that can be minted with the factory.
minted_tokens_nouint32_tThe number of minted Uniqs.
existing_tokens_nouint32_tThe number of minted minus number of burnt Uniqs.

Most relevant actions: create, issue, setcondrecv, setmeta, setstatus

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft factory.a
  • curl query example
sh
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.

FieldsTypeDescription
iduint64_t(primary key) Global Uniq ID
token_factory_iduint64_tThe Uniq factory ID the Uniq was issued with.
mint_dateeosio::time_point_secThe Uniq mint date.
serial_numberuint32_tThe ordinal number of the Uniq assigned during issuance
uristd::optional<string>URI pointing to the metadata of this Uniq
hashstd::optional<eosio::checksum256>Hash of the metadata for this Uniq
key_valuesbinary_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:

FieldsTypeDescription
key_indexuint8_tIndex of a key
key_valuekey_value_storeKey value

Most relevant actions: buy, burn, issue.b, resell, setvals.a.

  • cleos Query Example
sh
cleos get table eosio.nft.ft <ACCOUNT> token.b
  • curl query example
sh
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

FieldsTypeDescription
iduint64_t(primary key) Global Uniq ID
token_factory_iduint64_tThe Uniq factory ID the Uniq was issued with.
mint_dateeosio::time_point_secThe Uniq mint date.
serial_numberuint32_tThe ordinal number of the Uniq assigned during issuance

Most relevant actions: buy, burn, issue, resell.

  • cleos Query Example
sh
cleos get table eosio.nft.ft <ACCOUNT> token.a
  • curl query example
sh
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.

FieldsTypeDescription
token_iduint64_t(primary key) Global Uniq ID
ownereosio::nameThe Uniq owner account.
priceeosio::assetThe Uniq resale price.
promoter_basis_pointuint16_tThe Uniq resale advertiser commission.

Most relevant actions: resell, cancellresell

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft resale.a
  • curl query example
sh
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.

FieldsTypeDescription
authorized_mintereosio::name(primary key) The authorized minter account.
quantityuint32_tThe number of Uniqs the authorized minter can mint.

Most relevant actions: authminter, issue

  • cleos Query Example
sh
cleos get table eosio.nft.ft <UNIQ FACTORY ID> authmintrs.a
  • curl query example
sh
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%)

FieldsTypeDescription
receivereosio::nameReceiver of the global sale share
basis_pointuint16_tShare of the sale specified in the basis points

Most relevant actions: buy, resell, globalshare, fhglobalshr, purchase.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft global.share
  • curl query example
sh
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

FieldsTypeDescription
active_nft_versionuint64_tVersion of the current active Uniq standard
table_migration_statsuint16_tBitmask 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
sh
cleos get table eosio.nft.ft eosio.nft.ft migration
  • curl query example
sh
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

FieldsTypeDescription
valueuint64_tID that the next created Uniq factory will receive

Most relevant actions: create, create.b

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 next.factory
  • curl query example
sh
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

FieldsTypeDescription
valueuint64_tID that the next issued Uniq will receive

Most relevant actions: issue, issue.b

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 next.token
  • curl query example
sh
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

FieldsTypeDescription
valueuint64_tID that the next created Uniq factory will receive

Most relevant actions: creategrp

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 next.fct.grp
  • curl query example
sh
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

FieldsTypeDescription
require_ultraboolWhether Ultra permission is required to create a Uniq factory. Default is true

Most relevant actions: create.b

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft tfcreateflag
  • curl query example
sh
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

FieldsTypeDescription
usernameAccount name of the user
minteduint32_tNumber of Uniqs that were minted to this user from this Uniq factory

Most relevant actions: issue, issue.b

  • cleos Query Example
sh
cleos get table eosio.nft.ft 15 mintstat.a
  • curl query example
sh
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

FieldsTypeDescription
ownernameOwner of this RAM vault entry
usageint64_tCurrent RAM usage of the vault RAM
paymentint64_tTotal payment done to the RAM vault

Most relevant actions: create.b, issue.b, clrmintst

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft ramvault.a
  • curl query example
sh
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

FieldsTypeDescription
iduint64_tID of this Uniq factory group
managereosio::nameManager of the factory group
uristd::stringURI of the factory group metadata
hasheosio::checksum256Hash of the factory group metadata
factoriesstd::vector<uint64_t>Array of factories in the Uniq factory group
uos_paymentint64_tUOS payment charged during the creation of the factory group

Most relevant actions: creategrp, deletegrp

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft factorygrp.a
  • curl query example
sh
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

FieldsTypeDescription
max_ultra_share_bpuint16_tMaximum protocol fee that can be configured with globalshare
max_factory_share_bpuint16_tMaximum total resale shares that can be specified during Uniq factory creation
min_promoter_share_bpuint16_tMinimum allowed promoter fee for first-hand or second-hand purchase (depending on scope)
max_promoter_share_bpuint16_tMaximum allowed promoter fee for first-hand or second-hand purchase (depending on scope) metadata
default_promoterstd::optional<eosio::name>Default promoter used during first-hand or second-hand purchase if none was specified in the action
promoter_payments_enabledboolWhether the promoter shares are enabled globally

Most relevant actions: setsharelim

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 saleshrlmcfg
  • curl query example
sh
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

FieldsTypeDescription
iduint64_tID of this purchase requirement
priceassetPrice of the uniq specified in UOS or USD
purchase_limituint32_tMax number of uniqs that can be purchased with this purchase option
purchased_tokens_nouint16_tNumber of uniqs that were already purchased using this option (Default: 0)
promoter_basis_pointuint16_tUOS share received by the promoter with each purchase done for this option. Specified in basis points. 1 means 0.01%
purchase_option_with_uniqsstd::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_sharesstd::vector<sale_share>A vector of [account, share] pairs setting the share each account receives during the purchase
uos_paymentint64_tUOS payment charged during the creation of the purchase option
purchase_window_startstd::optional<eosio::time_point_sec>Optional start of the purchase window. Cannot purchase using this option until the start
purchase_window_endstd::optional<eosio::time_point_sec>Optional end of the purchase window. Cannot purchase using this option after the end
group_restrictionstd::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
sh
cleos get table eosio.nft.ft 123 fctrprchs.a
  • curl query example
sh
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 ​

FieldTypeDescription
transfer_tokens_receiver_accountstd::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
factoriesstd::vector<uniqs_count>List of purchase requirements using uniqs from other factories. Description of the uniqs_count type provided below

uniqs_count type ​

FieldTypeDescription
token_factory_iduint64_tID of the factory that the user needs to have Uniqs from
countuint32_tHow many Uniqs are needed from the specified factory
strategyuint8_tCan 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.

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

FieldsTypeDescription
min_priceassetMinimum offer price in UOS or USD (Default: 1 UOS)
min_durationuint32_tMinimum duration for offer in seconds (Default: 86400 sec or 1 day)
max_durationuint32_tMaximum duration for offer in seconds (Default: 15552000 sec or 180 day)
max_active_offer_per_useruint32_tMaximum active offer per user (Default: 50)

Most relevant actions: stofrcfg.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft offercfg.a
  • curl query example
sh
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

FieldsTypeDescription
valueuint64_tID that the next created Uniq offer will receive

Most relevant actions: mknftofr.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 next.nftofr
  • curl query example
sh
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

FieldsTypeDescription
offer_iduint64_tUniq offer ID
buyernameBuyer who makes the offer for the Uniq
receiverstd::optional<name>User who will receive the Uniq if offer is accepted, if specified
priceassetOffer price in UOS
promoter_basis_pointuint16_tUOS share received by the promoter with this offer. Specified in basis points. 1 means 0.01%
expiry_datetime_point_secExpiry date of the offer

Most relevant actions: mknftofr.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft <UNIQ ID> nftoffer.a
  • curl query example
sh
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

FieldsTypeDescription
valueuint64_tID that the next created Uniq factory offer will receive

Most relevant actions: mkfctofr.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 next.fctofr
  • curl query example
sh
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

FieldsTypeDescription
offer_iduint64_tUniq factory offer ID
buyernameBuyer who makes the offer for Uniq factory
receiverstd::optional<name>User who will receive the Uniq if offer is accepted, if specified
priceassetOffer price in UOS
promoter_basis_pointuint16_tUOS share received by the promoter with this offer. Specified in basis points. 1 means 0.01%
expiry_datetime_point_secExpiry date of the offer

Most relevant actions: mkfctofr.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft <UNIQ FACTORY ID> fctoffer.a
  • curl query example
sh
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.

FieldsTypeDescription
buyernameBuyer account
nft_idsstd:vector<uint64_t>Uniq IDs of all offers made by buyer, sorted in ascending order
factory_idsstd:vector<uint64_t>Uniq factory IDs of all offers made by buyer, sorted in ascending order

Most relevant actions: mkfctofr.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft buyoffer.a
  • curl query example
sh
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

FieldsTypeDescription
min_starting_priceassetMinimum starting auction price in UOS (Default: 1 UOS)
min_durationuint32_tMinimum duration for an auction in seconds (Default: 3600 sec or 1 hour)
max_durationuint32_tMaximum initial duration for an auction in seconds (Default: 2592000 sec or 30 days)
min_bid_increment_basis_pointuint32_tMinimum increment between the auction bids in basis points (Default: 500 or 5%)
min_bid_increment_uosassetMinimum 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_thresholduint32_tIf 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_stepuint32_tSee auction_extension_threshold (Default: 600 seconds)

Most relevant actions: stauctcfg.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft auctioncfg.a
  • curl query example
sh
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

FieldsTypeDescription
valueuint64_tID that the next created Uniq auction will receive

Most relevant actions: createauct.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft 0 next.nftauc
  • curl query example
sh
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

FieldsTypeDescription
token_iduint64_tID of the Uniq placed on the auction
auction_iduint64_tID of the auction
ownernameCurrent owner of the Uniq and creator of the auction
bidassetCurrent highest bid placed on the auction. If there is no bidder, then the bid is equal to the starting price`
bidderstd::optional<name>Name of the account of the last bidder
receiverstd::optional<name>Name of the account that will recieve the Uniq after the auction ends
promoter_idstd::optional<name>Promoter of this auction
promoter_basis_pointuint16_tShare of UOS that the promoter account will recieve when the auction ends
start_datestd::optional<time_point_sec>Optional date when the bids will be allowed for this auction
expiry_datetime_point_secEnd date of the auction

Most relevant actions: createauct.a, bidauction.a, settleauct.a, cancelauct.a

  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft auction.a
  • curl query example
sh
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.

FieldTypeDescription
key_typesstd::vector<key_type_info>The key types that will be updated
  • cleos Query Example
sh
cleos get table eosio.nft.ft eosio.nft.ft keytypes
  • curl query example
sh
curl <NODEOS_API_IP>/v1/chain/get_table_rows -X POST -d '{"scope":"eosio.nft.ft", "code":"eosio.nft.ft", "table":"keytypes", "json": true}'