How to Migrate in DAO

The DAO contracts encountered an issue wherein users could manipulate their lock times, resulting in increased yield. To address this, we are conducting migrations via a self-exploit method to rectify the situation.

Initiate Migration (Mainnet )

  • Click the migrate function, which will trigger four transactions to migrate funds from V1 to V2:
    • Approve increase time function call on the wallet.
    • Approve withdraw function call.
    • Approve allowance to the contract.
    • Approve create lock function call.
  1. 1.
    • After completing the above steps, check the Dapp UI to confirm that a new position has been opened at V2, displaying data from the V2 contract.

Testing Instructions for bug bounty (Sepolia testnet)

  1. 1.
    Ensure Mock UNO Coins in Wallet
    Make sure you have some Mock UNO tokens in your wallet. You can get MockUNO tokens by calling faucet function .
  2. 2.
    Approve Tokens for Opening a Position
    Ensure to call the approve function in Mock Uno Contract with the spender as the address 0x623c39700969C87B70580F7D3c8E85E5493561fC, which is the V1 address.
  3. 3.
    Call create_lock Function
    Call the create_lock function in the VotingEscrow Contract with the number of UNO tokens and the end timestamp (in seconds ) to open a position on V1.
  4. 4.
    Verify Locked Coins
    Confirm the coins are locked by calling locked function in VotingEscrow Contract.
For a visual guide, you can also refer to this video tutorial.