Modefi
  • Introduction
  • Oracle Solutions Suite
    • Decentralized Aggregated Oracle
    • On-Demand Oracle
      • On-Demand Oracle - Technical Manual v0.1
        • The On-Demand Oracle System
        • Types of Users
          • Data Request Creators
            • Requesting Data
            • Setting Times
            • Cancelling Data Requests
            • Disputing Results
          • Validators
            • Account Management
            • Staking (and Unstaking)
            • Providing/Endorsing Data
            • Disputing Results
            • Receiving Payment
          • ODO Custodian
        • Algorithms
          • Computing Request Costs
          • Depositing and Withdrawing Coins
          • Staking to Endorse Data
          • User and Staking Slot Tiers
          • Timing/Lateness
          • Bumping
          • Withdrawing
          • Endorsing
          • Payment
          • Slashing
          • Reputation
          • Staking Bonuses
          • Disputes and Resolutions
          • Coin Credits
          • Account Transfer
      • On-Demand Oracle - High-Level Overview
    • Oracle Marketplace
  • Defi Dashboard
    • What is the Modefi DeFi Dashboard?
  • Token
    • Tokenomics
      • Token Distribution
      • Token Stats
      • Token Emission Schedule
    • Token Sale
    • Token Utility
  • General Information
    • History of Oracle Based Hacks / Exploits
      • Synthetix $1 Billion Exploit
      • Trader Exploits bZx Oracle for $330,000 Profit
      • $100 M Liquidated on Compound Following Oracle Exploit
  • Blockchain Basics
    • What is a Smart Contract?
    • What is an Oracle?
  • FAQ
    • Staking on Fantom
    • Staking on Binance Smart Chain
  • How-to's
  • Smart Contract Addresses
  • Links and Socials
  • Media Kit
  • Disclaimer
  • Terms and Conditions
  • Privacy Policy
Powered by GitBook
On this page
  • 1. Deposit Coins (CoinHolder)
  • 2. Withdraw Coins (CoinHolder)
  • 3. Name New Account Owner (UserProfiles)
  • 4. Transfer Account (UserProfiles)
  1. Oracle Solutions Suite
  2. On-Demand Oracle
  3. On-Demand Oracle - Technical Manual v0.1
  4. Types of Users
  5. Validators

Account Management

1. Deposit Coins (CoinHolder)

function deposit_coins() external payable;

The first step to start interacting with the ODO to start supplying data and earning is to deposit some of the native currency into the CoinHolder contract. When coins are deposited by an unknown address, a new account is generated for that address. The account is used to decouple a user’s staking account from their signer address. See the Algorithms section for information on what happens to depositted coins.

2. Withdraw Coins (CoinHolder)

function withdraw_coins(uint256 amount) external;

Eventually users will want to collect their earnings and otherwise withdraw their coins. This can be done at any time that the coins are not staked. For more information on the details of withdrawals and staking see the Algorithms section.

3. Name New Account Owner (UserProfiles)

function name_new_account_owner(address new_owner) external;

In order to facilitate transferring an account, a two-step process is used. In the first step the account holder names the new account owner. There are some details surrounding when this can be done, so check out the relevant part of the Algorithms section for more details.

4. Transfer Account (UserProfiles)

function transfer_account(uint256 account) external;

Step two of account transfer is to use the account named by the current account holder to complete the transfer. This second step ensures the original account owner actually owns the new signing address (or that the transfer is at least legitimate).

PreviousValidatorsNextStaking (and Unstaking)

Last updated 1 year ago