mirror of https://github.com/logos-co/staking.git
remove obsolete files
This commit is contained in:
parent
14782c9dd2
commit
56bc1a5b05
|
@ -1,25 +0,0 @@
|
||||||
function getMaxMultiplierPoints() public view returns(uint256) {
|
|
||||||
return balance * (stakeManager.MAX_BOOST() + lockup + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function mintMultiplierPoints() internal {
|
|
||||||
uint256 new_mp = multiplierPoints + (balance * stakeManager.MP_APY());
|
|
||||||
uint256 max_mp = getMaxMultiplierPoints();
|
|
||||||
multiplierPoints = new_mp > max_mp ? max_mp : new_mp;
|
|
||||||
}
|
|
||||||
|
|
||||||
function distriuteRewards() internal {
|
|
||||||
uitn256 stakeApy = stakeManager.STAKE_APY();
|
|
||||||
|
|
||||||
if(stakeApy > 0){
|
|
||||||
return stake_apy * (balance + multiplierPoints);
|
|
||||||
} else {
|
|
||||||
uint256 cs = balance + multiplierPoints;
|
|
||||||
uint256 rewards = stakeManager.getRewardEmissions();
|
|
||||||
if(cs > 0){
|
|
||||||
return rewards * (balance + multiplierPoints) / cs;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,79 +0,0 @@
|
||||||
// SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
pragma solidity 0.8.19;
|
|
||||||
|
|
||||||
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
|
|
||||||
|
|
||||||
contract StakeManager is ERC20 {
|
|
||||||
|
|
||||||
ERC20 stakedToken;
|
|
||||||
|
|
||||||
uint256 public constant MP_APY = 1;
|
|
||||||
uint256 public constant STAKE_APY = 1;
|
|
||||||
uint256 public constant MAX_BOOST = 1;
|
|
||||||
uint256 public constant MAX_MP = 1;
|
|
||||||
mapping (address => Account) accounts;
|
|
||||||
|
|
||||||
struct Account {
|
|
||||||
uint256 lockTime;
|
|
||||||
uint256 balance;
|
|
||||||
uint256 multiplier;
|
|
||||||
uint256 multiplierUpdate;
|
|
||||||
}
|
|
||||||
|
|
||||||
mapping (address => Account) account;
|
|
||||||
|
|
||||||
|
|
||||||
function increaseBalance(uint256 _amount, uint256 _time) external {
|
|
||||||
accounts[msg.sender].balance += _amount;
|
|
||||||
uint256 mp = calcInitialMultiplierPoints(_amount, _time);
|
|
||||||
accounts[msg.sender].multiplier += mp;
|
|
||||||
multiplierSupply += mp;
|
|
||||||
accounts[msg.sender].update = now();
|
|
||||||
accounts[msg.sender].lockTime = now() + _time;
|
|
||||||
mint(msg.sender, _amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
function decreaseBalance(uint256 _amount) external {
|
|
||||||
accounts[msg.sender].balance -= _amount;
|
|
||||||
accounts[msg.sender].multiplier -= calcInitialMultiplierPoints(_amount, 1);
|
|
||||||
burn(msg.sender, _amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function balanceLock(uint256 _time) external {
|
|
||||||
require(now() + _time > accounts[msg.sender].lockTime, "Cannot decrease lock time");
|
|
||||||
accounts[msg.sender].lockTime = now() + _time;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @dev Function called to increase the Multiplier Points of a Vault
|
|
||||||
* @param _vault
|
|
||||||
*/
|
|
||||||
function mintMultiplierPoints(address _vault) external {
|
|
||||||
uint256 dT = now() - accounts[msg.sender].update;
|
|
||||||
accounts[msg.sender].update = now();
|
|
||||||
uint256 mp = calcAccuredMultiplierPoints(accounts[_vault].balance, accounts[_vault].multiplier, dT);
|
|
||||||
multiplierSupply += mp;
|
|
||||||
accounts[_vault].multiplier += mp;
|
|
||||||
}
|
|
||||||
|
|
||||||
function calcInitialMultiplierPoints(uint256 _amount, uint256 _time) pure public returns(uint256) {
|
|
||||||
return _amount * (_time + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
function calcAccuredMultiplierPoints(uint256 _balance, uint256 _currentMp, uint256 _deltaTime) pure public returns(uint256) {
|
|
||||||
uint256 accured = _balance * (MP_APY * _deltaTime);
|
|
||||||
uint256 newMp = accured + _currentMp;
|
|
||||||
return newMp > MAX_MP ? MAX_MP - newMp : accurred;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function getRewardsEmissions() public view returns(uint256){
|
|
||||||
uint256 totalStaked = this.totalSupply;
|
|
||||||
uint256 share = this.multiplierSupply +totalSupply;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,73 +0,0 @@
|
||||||
// SPDX-License-Identifier: UNLICENSED
|
|
||||||
pragma solidity ^0.8.9;
|
|
||||||
|
|
||||||
contract Staking {
|
|
||||||
|
|
||||||
uint256 stake;
|
|
||||||
uint256 max_boost;
|
|
||||||
uint256 lockup;
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @notice Calculates the maximum multiplier points an account can have
|
|
||||||
function max_mp() public view returns(uint256){
|
|
||||||
return stake * (max_boost + lockup + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @notice Create multiplier points for an account
|
|
||||||
function mint_mp() public {
|
|
||||||
/**
|
|
||||||
factor = params['NUM_PERIODS_IN_YEAR']
|
|
||||||
mp_apy = (params["MP_APY"]/100.)/factor
|
|
||||||
|
|
||||||
# prev_state already accounts for partial state updates,
|
|
||||||
# in case other policies were applied before this one.
|
|
||||||
staked_tokens = prev_state['staked_tokens']
|
|
||||||
mps = prev_state['staked_mps']
|
|
||||||
max_staked_mps = prev_state['max_staked_mps']
|
|
||||||
active = prev_state['active']
|
|
||||||
|
|
||||||
delta_mps = active * np.minimum(
|
|
||||||
staked_tokens * mp_apy, max_staked_mps - mps
|
|
||||||
)
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @notice Create initial multiplier points for locked stake
|
|
||||||
function inital_mp() public {
|
|
||||||
/**
|
|
||||||
return np.where(lockup>0, stake * (lockup + 1), 0.)
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/// @notice Distribute rewards
|
|
||||||
function distribute_rewards() public {
|
|
||||||
/**
|
|
||||||
factor = params['NUM_PERIODS_IN_YEAR']
|
|
||||||
stake_apy = (params['CUMULATIVE_STAKE_APY']/100.)/factor
|
|
||||||
|
|
||||||
# prev_state already accounts for partial state updates,
|
|
||||||
# in case other policies were applied before this one.
|
|
||||||
staked = prev_state['staked_tokens']
|
|
||||||
mps = prev_state['staked_mps']
|
|
||||||
rewards = prev_state['rewards_emissions']
|
|
||||||
active = prev_state['active']
|
|
||||||
|
|
||||||
if stake_apy > 0.:
|
|
||||||
delta_rewards_tokens = stake_apy * active * (staked + mps)
|
|
||||||
|
|
||||||
else:
|
|
||||||
cs = ((staked + mps) * active).sum()
|
|
||||||
|
|
||||||
if cs > 0.:
|
|
||||||
delta_rewards_tokens = rewards * active * (staked + mps) / cs
|
|
||||||
|
|
||||||
else:
|
|
||||||
delta_rewards_tokens = np.zeros_like(prev_state['staked_tokens'])
|
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Reference in New Issue