mirror of https://github.com/logos-co/staking.git
26 lines
1.0 KiB
Solidity
26 lines
1.0 KiB
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity ^0.8.27;
|
|
|
|
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
import { ITrustedCodehashAccess } from "./ITrustedCodehashAccess.sol";
|
|
import { IStakeConstants } from "./IStakeConstants.sol";
|
|
|
|
interface IStakeManager is IStakeConstants, ITrustedCodehashAccess {
|
|
error StakeManager__FundsLocked();
|
|
error StakeManager__InvalidLockTime();
|
|
error StakeManager__InsufficientFunds();
|
|
error StakeManager__StakeIsTooLow();
|
|
|
|
function STAKING_TOKEN() external view returns (IERC20);
|
|
function REWARD_TOKEN() external view returns (IERC20);
|
|
|
|
function stake(uint256 _amount, uint256 _seconds) external;
|
|
function lock(uint256 _seconds) external;
|
|
function unstake(uint256 _amount) external;
|
|
|
|
function totalStaked() external view returns (uint256);
|
|
function totalMP() external view returns (uint256);
|
|
//function totalMaxMP() external view returns (uint256);
|
|
function getStakedBalance(address _vault) external view returns (uint256 _balance);
|
|
}
|