Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Table Structures:

oracleledger keeps track of all wrapping transactions and logs the actor performing the request. This will be the same table used in both token and domain wrapping transactions.

( type could be added in new iterations to allow for quick and simple index lookups based on status. )

oracles tracks registered oracles used during the validation of unwrapping of NFT/tokens. This table also stores fee information used during the wrapping process.

The type oraclefees is defined as:

The oracle_votes table is used during unwrapping operations. The registered oracles will call unwraptokens and either emplace a new record or modify the record if the oracle is not the first registered oracle to vote on the obt_it. Once an oracle calls this action and 100% consensus is reached, the unwrapping will be approved and funds will be transferred.

regoracle -

  • Oracle must be approved by eosio permissions ( BP msig )

  • Verifies oracle is a top 21 block producer.

  • emplaced a new record into the oracles table.

unregoracle -

  • Oracle must be approved by eosio permissions ( BP msig )

  • ereases oracle table entry

wraptokens -

  • validate parameters

  • emplace new receipt inside oracleledger

  • transfer tokens into the fio.oracle contract

  • transfer fees to each block producer ( may potentially duplicate the functionality of bpclaim )

unwraptokens -

  • validate parameters

  • verify fio.address is registered

  • search for obt_id inside oracle_votes

  • if found, search if oracle has voted prior. If oracle has not voted, add the account to the voters' vector

  • if not found, emplace a new record into orcale_votes table.

  • compute the number of registered oracles and total votes inside the record for that obt_id

  • If 100% consensus is achieved, isComplete flag is set as true, and tokens are transferred to the fio.address supplied.

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.