Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Discuss fee distribution implementation with Pawel

...

Add new error responses and get discuss with Pawel

...

Add remaining questions and review with Pawel (or team?)

...

Discuss Oracle RAM question with Pawel

...

Update FIP with all decisions

Questions for FIP-17

Misc. Requirements

Questions

Answers

Is there a minimum amount of FIO for wrapping or unwrapping?

  • Since the Ethereum fee is embedded in the wrapping fee, there is little risk of users abusing the system by wrapping a small number of coins.

  • Decision: No minimum on wrap.

Is there a maximum?

  • Right now we allow users to wrap their entire balance.

Should there be a wrap API endpoint?

TBD: Fees

  • Should we make fee table more flexible, similar to what we do for FIO endpoint fees?

  • TBD: Casey to propose and review with team.

TBD: Requirements: RAM

  • Decision: No maximum on wrap.

BPs: Is there an easy way to go from FIO to Eth?

  • Make it clear that this is on the BPs.

Why do we increase RAM on Oracle-specific actions (since they are BPs with unlimited RAM)?

  • Contract is not increasing RAM on any Oracle specific actions

What should we set wrap RAM to?

  • 512 is currently set

Requirement: Distributing Fees

Approach #1: Fee claim action:

...

  • Each action involving fees would need to iterate through the registered oracle's table and send their share of the oracle fee directly to them.

TBDDecision: Discussed with Pawel and decided we would use approach #2?

Table Structures

oracleledger

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.

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

...

Oracles

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

...

oraclefees

The type oraclefees is defined as:

...

oracle_votes

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.

...