StabilityPool
Write Methods
function provideToSP(uint256 _amount) externalDeposits debt tokens into the pool, accrues rewards, and updates snapshots.
Input Parameter
Type
Description
_amount
uint256
Amount of debt tokens to deposit.
function withdrawFromSP(uint256 _amount) externalWithdraws debt tokens from the pool, claims rewards, and updates snapshots.
Input Parameter
Type
Description
_amount
uint256
Amount of debt tokens to withdraw.
function claimCollateralGains(
address recipient,
uint256[] calldata collateralIndexes
) publicClaims collateral gains for specified tokens and sends them to the recipient.
Input Parameter
Type
Description
recipient
address
Address to receive gains.
collateralIndexes
uint256[]
Array of collateral indices to claim.
function claimReward(address recipient) external returns (uint256 amount)Returns the pending Bit rewards for a depositor.
Input Parameter
Type
Description
recipient
address
Address to receive rewards.
Returns:
Return Value
Type
Description
amount
uint256
Amount of rewards claimed.
View Methods
function getTotalDebtTokenDeposits() external view returns (uint256)Returns the total debt tokens deposited in the pool.
Returns:
Return Value
Type
Description
totalDebt
uint256
Total debt tokens deposited.
function getDepositorCollateralGain(
address _depositor
) external view returns (uint256[] memory collateralGains)Returns the collateral gains earned by a depositor.
Input Parameter
Type
Description
_depositor
address
Depositor address.
Returns:
Return Value
Type
Description
collateralGains
uint256[]
Array of collateral gains per token.
function claimableReward(
address _depositor
) external view returns (uint256)Returns the pending Bit rewards for a depositor.
Input Parameter
Type
Description
_depositor
address
Depositor address.
Returns:
Return Value
Type
Description
reward
uint256
Claimable reward amount.
function getCompoundedDebtDeposit(
address _depositor
) public view returns (uint256)Calculates a depositor’s compounded debt deposit after rewards.
Input Parameter
Type
Description
_depositor
address
Depositor address.
Returns:
Return Value
Type
Description
compoundedDeposit
uint256
Compounded debt deposit amount.
Structs
struct AccountDeposit {
uint128 amount;
uint128 timestamp; // timestamp of the last deposit
}struct Snapshots {
uint256 P;
uint256 G;
uint128 scale;
uint128 epoch;
}struct SunsetIndex {
uint128 idx;
uint128 expiry;
}struct Queue {
uint16 firstSunsetIndexKey;
uint16 nextSunsetIndexKey;
}Events
event StabilityPoolDebtBalanceUpdated(uint256 _newBalance)event P_Updated(uint256 _P)event S_Updated(uint256 idx, uint256 _S, uint128 _epoch, uint128 _scale)event G_Updated(uint256 _G, uint128 _epoch, uint128 _scale)event EpochUpdated(uint128 _currentEpoch)event ScaleUpdated(uint128 _currentScale)event DepositSnapshotUpdated(
address indexed _depositor,
uint256 _P,
uint256 _G
)event UserDepositChanged(address indexed _depositor, uint256 _newDeposit)event CollateralGainWithdrawn(
address indexed _depositor,
uint256[] _collateral
)event CollateralOverwritten(IERC20 oldCollateral, IERC20 newCollateral)event RewardClaimed(
address indexed account,
address indexed recipient,
uint256 claimed
)Last updated