An integrator may consider the following integration options related to wrapped FIO Token.
For wallets desiring full control over the registration user experience, the best strategy is to execute mapping actions directly to the FIO Chain.
Token wrapping is accomplished using the wraptokens action on the FIO Chain and passing in the amount of FIO Tokens to wrap. Wrapped tokens may be unwrapped by calling the
unwrap action on the Ethereum WFIO ERC20 contract. (see information below). Note that wrapping and unwrapping cannot be accomplished entirely inside the FIO Protocol and requires FIO Bridge and an ERC20 contract on the Ethereum chain.
The following gives an overview of the token wrapping process:
- Alice wants to wrap 100 FIO tokens to her Ethereum public address on the Ethereum chain.
- Alice fetches the Oracle fee using
- Alice executes the wraptokens action and passes in:
- amount: 100000000000 (the amount of FIO to be wrapped, in SUFs)
- publicaddress: "0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B" (the Ethereum address where tokens should be delivered)_
- chaincode: "ETH" (For the initial version, only token wrapping to the ETH chain is supported)_
- maxoracle_fee: 2000000000 (maximum amount of FIO user A is willing to pay the Oracles)_
- maxfee: 1000000000 (maximum amount of FIO user A is willing to pay for the FIO chain fee)_
- tpid: "rewards@wallet"
- actor: "aftyershcu22"
- 100 FIO tokens are transferred from Alice to the wrapping smart contract account on the FIO chain.
- Oracle fee is transferred from Alice and distributed evenly to all registered Oracles.
- Oracles monitor every block looking for the
- Once detected Oracles trigger minting of wrapped
WFIOtokens to Alice's public address on the Ethereum chain.
The following gives an overview of the token unwrapping process:
- Alice wants to unwrap 50 WFIO tokens from Ethereum to her crypto handle on FIO Chain.
- Alice executes the
unwrapaction on the Ethereum contract.
- Oracles monitor unwrap events on the Ethereum contract.
- Once detected each Oracle executes the
unwraptokenaction on the FIO chain and passes in:
- amount: 50000000000 (the amount of FIO to be unwrapped, in SUFs)
- fio_address: "alice@wallet" (The crypto handle which will recieve the unwrapped tokens)
- Once the last Oracle executes
unwraptokensaction, the tokens are transferred to Alice's FIO account.
Integrating these actions require the integrator to have access to user's Private key and properly serialize and sign each transaction. For additional information, see Write Transaction.
|Action||Description||Can be paid with bundled tx?|
|wraptokens||This action wraps FIO Tokens to another chain.||No|
Alternatively to Native Integration, the application may link the user to to the FIO App, a comprehensive website to register and manage FIO Handles and many other functionality related to FIO Protocol.
For additional information, see FIO App.
WFIO tokens on the Ethereum chain are transferred using the transferFrom action. The action requires an Ethereum Address for the payer (the person sending the funds), the payee (the person receiving the funds), and an amount, in SUFs.
Token balance can be obtained by passing a user's Ethereum address to balanceOf contract method.
WFIO token transaction history will conform to other ERC20 tokens supported in your wallet or exchange. Centralized Ethereum API services such as Infura and Alchemy enable the retrieval of transaction history for a smart contract or a user.
Updated about 2 months ago