dsa-connectors/contracts/mainnet/connectors/ubiquity/interfaces.sol

64 lines
1.5 KiB
Solidity
Raw Normal View History

2021-10-11 16:47:51 +00:00
// SPDX-License-Identifier: MIT
pragma solidity 0.7.6;
2021-10-16 09:21:41 +00:00
pragma abicoder v2;
2021-10-11 16:47:51 +00:00
interface IUbiquityBondingV2 {
2021-10-16 09:21:41 +00:00
struct Bond {
address minter;
uint256 lpFirstDeposited;
uint256 creationBlock;
uint256 lpRewardDebt;
uint256 endBlock;
uint256 lpAmount;
}
function deposit(uint256 lpAmount, uint256 durationWeeks)
external
returns (uint256 bondingShareId);
function removeLiquidity(uint256 lpAmount, uint256 bondId) external;
function holderTokens(address) external view returns (uint256[] memory);
function totalLP() external view returns (uint256);
function totalSupply() external view returns (uint256);
function getBond(uint256 bondId) external returns (Bond memory bond);
2021-10-11 16:47:51 +00:00
}
interface IUbiquityMetaPool {
2021-10-16 09:21:41 +00:00
function add_liquidity(uint256[2] memory _amounts, uint256 _min_mint_amount)
external
returns (uint256);
function remove_liquidity_one_coin(
uint256 lpAmount,
int128 i,
uint256 min_amount
) external returns (uint256);
2021-10-11 16:47:51 +00:00
}
2021-10-16 09:21:41 +00:00
interface I3Pool {
function add_liquidity(
uint256[3] calldata _amounts,
uint256 _min_mint_amount
) external;
function remove_liquidity_one_coin(
uint256 lpAmount,
int128 i,
uint256 min_amount
) external;
2021-10-11 16:47:51 +00:00
}
interface IUbiquityAlgorithmicDollarManager {
2021-10-16 09:21:41 +00:00
function dollarTokenAddress() external returns (address);
function stableSwapMetaPoolAddress() external returns (address);
2021-10-11 16:47:51 +00:00
2021-10-16 09:21:41 +00:00
function bondingContractAddress() external returns (address);
2021-10-11 16:47:51 +00:00
2021-10-16 09:21:41 +00:00
function bondingShareAddress() external returns (address);
2021-10-11 16:47:51 +00:00
}