Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions contracts/balancer.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
pragma solidity >=0.5.3;

contract Balancer {
event DepositMade(uint ethAmount, uint daiAmount, uint liquidity);
event WithdrawalMade(uint liquidity, uint ethAmount, uint daiAmount);
event Rebalance(uint oraclePrice, uint amountIn, uint amountOut, string tradeDirection, string exchange);


uint[] balances; #Liquidity balance of an address
address currentFutarchy; #Address of current futarchy decision

/**
* @dev
* @param
* @return
*/
function newFutarchy()
public
{
# Call futarchy factory
# Set current futarchy
}

/**
* @dev
* @param
* @return
*/
function deposit(uint tokenAmount)
public
payable
{
#Check current position
#Transfer into current position if necessary
#Send liquidity token to depositor
#Emit deposit event
}

/**
* @dev
* @param
* @return
*/
function withdraw(uint liquidity)
public
{
#Send amount from current position to liquidity holder
#Deduct liquidity from balance
}

/**
* @dev
* @param
* @return
*/
function rebalance()
public
{
#Call getDecision()
#Make trade on Uniswap or Kyber
}

/**
* @dev
* @param
* @return
*/
function getDecision()
public
{
# get decision from curentFutarchy
}
}