dsa-connectors/contracts/mainnet/connectors/ubiquity/interfaces.sol
2021-10-16 11:21:41 +02:00

64 lines
1.5 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity 0.7.6;
pragma abicoder v2;
interface IUbiquityBondingV2 {
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);
}
interface IUbiquityMetaPool {
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);
}
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;
}
interface IUbiquityAlgorithmicDollarManager {
function dollarTokenAddress() external returns (address);
function stableSwapMetaPoolAddress() external returns (address);
function bondingContractAddress() external returns (address);
function bondingShareAddress() external returns (address);
}