Skip to content
Closed
Show file tree
Hide file tree
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
1 change: 1 addition & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = {extends: ["@commitlint/config-conventional"]};
8 changes: 6 additions & 2 deletions contracts/Interfaces/UniswapInterfaces/IUniSimple.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.6.2;

interface IUniSimple {
function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts);
}
function getAmountsOut(uint256 amountIn, address[] calldata path)
external
view
returns (uint256[] memory amounts);
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.5.0;

interface IUniswapV2Migrator {
Expand Down
11 changes: 9 additions & 2 deletions contracts/Interfaces/UniswapInterfaces/IUniswapV2Router01.sol
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.6.2;

interface IUniswapV2Router01 {
Expand Down Expand Up @@ -148,7 +149,13 @@ interface IUniswapV2Router01 {
uint256 reserveOut
) external pure returns (uint256 amountIn);

function getAmountsOut(uint256 amountIn, address[] calldata path) external view returns (uint256[] memory amounts);
function getAmountsOut(uint256 amountIn, address[] calldata path)
external
view
returns (uint256[] memory amounts);

function getAmountsIn(uint256 amountOut, address[] calldata path) external view returns (uint256[] memory amounts);
function getAmountsIn(uint256 amountOut, address[] calldata path)
external
view
returns (uint256[] memory amounts);
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.6.2;

import "./IUniswapV2Router01.sol";
Expand Down
1 change: 1 addition & 0 deletions contracts/Interfaces/UniswapInterfaces/IWETH.sol
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.5.0;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.5.0;

interface IUniswapV1Exchange {
Expand All @@ -22,5 +23,8 @@ interface IUniswapV1Exchange {
uint256
) external returns (uint256);

function ethToTokenSwapInput(uint256, uint256) external payable returns (uint256);
function ethToTokenSwapInput(uint256, uint256)
external
payable
returns (uint256);
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.5.0;

interface IUniswapV1Factory {
Expand Down
57 changes: 39 additions & 18 deletions contracts/Interfaces/Yearn/IVaultV2.sol
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,24 @@ pragma experimental ABIEncoderV2;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

interface IVaultV2 is IERC20 {

function addStrategy(address, uint256, uint256, uint256) external;

struct StrategyParams {
uint256 performanceFee;
uint256 activation;
uint256 debtRatio;
uint256 minDebtPerHarvest;
uint256 maxDebtPerHarvest;
uint256 lastReport;
uint256 totalDebt;
uint256 totalGain;
uint256 totalLoss;
}

function addStrategy(
address,
uint256,
uint256,
uint256
) external;

function name() external view returns (string calldata);

Expand All @@ -31,16 +46,29 @@ interface IVaultV2 is IERC20 {

function deposit(uint256 amount) external returns (uint256);

function deposit(uint256 amount, address recipient) external returns (uint256);
function deposit(uint256 amount, address recipient)
external
returns (uint256);

// NOTE: Vyper produces multiple signatures for a given function with "default" args
function withdraw() external returns (uint256);

function withdraw(uint256 maxShares) external returns (uint256);

function withdraw(
uint256 maxShares,
address receiver,
uint256 maxloss
) external returns (uint256);

function setManagementFee(uint256) external;

function updateStrategyDebtRatio(address, uint256) external;

function withdraw(uint256 maxShares, address recipient) external returns (uint256);
function withdraw(uint256 maxShares, address recipient)
external
returns (uint256);

function withdrawalQueue(uint256) external view returns (address);

function token() external view returns (address);
Expand All @@ -52,7 +80,11 @@ interface IVaultV2 is IERC20 {
function depositLimit() external view returns (uint256);

function maxAvailableShares() external view returns (uint256);
function strategies(address _strategy) external view returns (StrategyParams memory);

function strategies(address _strategy)
external
view
returns (StrategyParams memory);

/**
* View how much the Vault would increase this Strategy's borrow limit,
Expand Down Expand Up @@ -119,17 +151,6 @@ interface IVaultV2 is IERC20 {
* is subject to guardian defined by the Vault.
*/
function guardian() external view returns (address);

function setDepositLimit(uint256) external;
}

struct StrategyParams {
uint256 performanceFee;
uint256 activation;
uint256 debtRatio;
uint256 minDebtPerHarvest;
uint256 maxDebtPerHarvest;
uint256 lastReport;
uint256 totalDebt;
uint256 totalGain;
uint256 totalLoss;
}
43 changes: 33 additions & 10 deletions contracts/Interfaces/curve/Curve.sol
Original file line number Diff line number Diff line change
Expand Up @@ -44,16 +44,28 @@ interface ICurveFi {
bool use_underlying
) external payable;

function coins(uint256) external returns (address);
function underlying_coins(uint256) external returns (address);
function coins(int128) external returns (address);

function remove_liquidity_imbalance(uint256[2] calldata amounts, uint256 max_burn_amount) external;
function underlying_coins(int128) external returns (address);

function remove_liquidity(uint256 _amount, uint256[2] calldata amounts) external;
function remove_liquidity_imbalance(
uint256[2] calldata amounts,
uint256 max_burn_amount
) external;

function calc_withdraw_one_coin(uint256 _amount, int128 i) external view returns (uint256);
function remove_liquidity(uint256 _amount, uint256[2] calldata amounts)
external;

function calc_withdraw_one_coin(uint256 _amount, int128 i, bool use_underlying) external view returns (uint256);
function calc_withdraw_one_coin(uint256 _amount, int128 i)
external
view
returns (uint256);

function calc_withdraw_one_coin(
uint256 _amount,
int128 i,
bool use_underlying
) external view returns (uint256);

function remove_liquidity_one_coin(
uint256 _token_amount,
Expand Down Expand Up @@ -83,9 +95,20 @@ interface ICurveFi {
uint256 _from_amount
) external view returns (uint256);

function calc_token_amount( uint256[2] calldata amounts, bool is_deposit) external view returns (uint256);
function calc_token_amount( uint256[3] calldata amounts, bool is_deposit) external view returns (uint256);
function calc_token_amount( uint256[4] calldata amounts, bool is_deposit) external view returns (uint256);
function calc_token_amount(uint256[2] calldata amounts, bool is_deposit)
external
view
returns (uint256);

function calc_token_amount(uint256[3] calldata amounts, bool is_deposit)
external
view
returns (uint256);

function calc_token_amount(uint256[4] calldata amounts, bool is_deposit)
external
view
returns (uint256);
}

interface Zap {
Expand All @@ -94,4 +117,4 @@ interface Zap {
int128,
uint256
) external;
}
}
7 changes: 5 additions & 2 deletions contracts/Interfaces/erc20/IERC20Extended.sol
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

interface IERC20Extended{
interface IERC20Extended {
function decimals() external view returns (uint8);

function name() external view returns (string memory);

function symbol() external view returns (string memory);
}
}
14 changes: 14 additions & 0 deletions contracts/Interfaces/synthetix/IAddressResolver.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.4.24;

// https://docs.synthetix.io/contracts/source/interfaces/iaddressresolver
interface IAddressResolver {
function getAddress(bytes32 name) external view returns (address);

function getSynth(bytes32 key) external view returns (address);

function requireAndGetAddress(bytes32 name, string calldata reason)
external
view
returns (address);
}
Loading