This repository shows how to interact with the hydro v2 margin smart contract.
This example shows how to read data from contract.
npm install
npm run example
The hydro v2 margin contract supports three primary functions: spot trading, margin trading, and lending. To avoid collision of actions between these areas, each of these functions actually has a separate balance within the contract (referred to as "Accounts"). Additionally, you can also interact with the hydro margin contract through an external Ethereum wallet (such as MetaMask).
The following table highlights this division of asset allocation for interacting with the hydro v2 margin contract:
Name | Location | Description |
---|---|---|
Ethereum Wallet | Private Wallet | Your personal wallet. eg: MetaMask. |
Trading Balance | Hydro Contract | Balances here can be withdrawn at any time. Can be used to place orders for spot trading. |
Margin Balance | Hydro Contract | Balances here can be used as collateral to borrow assets into the corresponding market for margin trading. Each market has a separate margin balance (ETH-DAI margin balances are separate from ETH-USDT margin balances) |
Funding Balance | Hydro Contract | Balances in funding pools earn interest. Traders can borrow funds from here for margin trading. |
There are 7 unique actions defined in the hydro v2 margin contract for moving your assets between your external wallet and the hydro accounts. These actions are: Deposit
, Withdraw
, Borrow
, Repay
, Supply
, poolWithdraw
and Transfer
, described in the table below.
Action | How Assets Are Moved |
---|---|
deposit | from ethereum wallet to trading balance |
withdraw | from trading balance to ethereum wallet |
transfer | 1) between trading balance and margin balance .2) between different margin balances . |
borrow | from funding pool to margin balance |
repay | from margin balance to funding pool |
supply | from trading balance to funding pool |
poolWithdraw | from funding pool to trading balance |
The following picture depicts a high level overview of how asset moving actions interact with each area of the contract:
This code example will show you how to move your funds and how to combine these actions.
Hydro Margin liquidations are handled through the form of dutch auctions. We will provide more detailed guides on participating in these auctions in the future, but for now if you'd like to get involved please check out the following code example:
All external functions are listed in this file.
MIT