Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP meta pool contracts with gauge token support #773

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from
23 changes: 23 additions & 0 deletions contracts/interfaces/IGauge.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// SPDX-License-Identifier: MIT

pragma solidity >=0.5.0;

/// @title IGauge interface
/// @notice This interface can be used for any contracts that has
/// gauge like functionalities.
interface IGauge {
function deposit(uint256) external;

function withdraw(uint256) external;

function lp_token() external view returns (address);

function set_rewards_receiver(address) external;

// Below are ChildGauge specific methods. Using them for
// other contracts will result in revert.

function SDL() external view returns (address);

function FACTORY() external view returns (address);
}
11 changes: 11 additions & 0 deletions contracts/interfaces/IMinterLike.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// SPDX-License-Identifier: MIT

pragma solidity >=0.5.0;

/// @title IMinterLike interface
/// @notice This interface can be used for any contracts that has
/// minter like functionalities. For example ChildGaugeFactory
/// on a side chain is a minter like contract.
interface IMinterLike {
function mint(address gauge) external;
}
Loading