Skip to content

Latest commit

 

History

History
298 lines (256 loc) · 8.57 KB

StakingPoolBase.md

File metadata and controls

298 lines (256 loc) · 8.57 KB

StakingPoolBase.sol

View Source: contracts/pool/Staking/StakingPoolBase.sol

↗ Extends: IStakingPools, Recoverable ↘ Derived Contracts: StakingPoolReward

StakingPoolBase

Functions

function (IStore s) internal nonpayable Recoverable 

Arguments

Name Type Description
s IStore
Source Code
constructor(IStore s) Recoverable(s) {}

addOrEditPool

Adds or edits the pool by key

function addOrEditPool(struct IStakingPools.AddOrEditPoolArgs args) external nonpayable nonReentrant 

Arguments

Name Type Description
args struct IStakingPools.AddOrEditPoolArgs
Source Code
function addOrEditPool(AddOrEditPoolArgs calldata args) external override nonReentrant {
    // @suppress-zero-value-check The uint values are checked in the function `addOrEditPoolInternal`
    s.mustNotBePaused();
    AccessControlLibV1.mustBeLiquidityManager(s);

    s.addOrEditPoolInternal(args);
    emit PoolUpdated(args.key, args);
  }

closePool

function closePool(bytes32 key) external nonpayable nonReentrant 

Arguments

Name Type Description
key bytes32
Source Code
function closePool(bytes32 key) external override nonReentrant {
    s.mustNotBePaused();
    AccessControlLibV1.mustBeLiquidityManager(s);
    require(s.getBoolByKeys(StakingPoolCoreLibV1.NS_POOL, key), "Unknown Pool");
    require(s.getPoolStakeBalanceInternal(key) == 0, "Pool is not empty");

    s.deleteBoolByKeys(StakingPoolCoreLibV1.NS_POOL, key);
    emit PoolClosed(key, s.getStringByKeys(StakingPoolCoreLibV1.NS_POOL, key));
  }

version

Version number of this contract

function version() external pure
returns(bytes32)

Arguments

Name Type Description
Source Code
function version() external pure override returns (bytes32) {
    return "v0.1";
  }

getName

Name of this contract

function getName() external pure
returns(bytes32)

Arguments

Name Type Description
Source Code
function getName() external pure override returns (bytes32) {
    return ProtoUtilV1.CNAME_STAKING_POOL;
  }

Contracts