Skip to content

Latest commit

 

History

History
331 lines (265 loc) · 8.21 KB

DefaultPool.md

File metadata and controls

331 lines (265 loc) · 8.21 KB

DefaultPool.sol

View Source: contracts/DefaultPool.sol

↗ Extends: DefaultPoolStorage, CheckContract, IDefaultPool

DefaultPool

Events

event TroveManagerAddressChanged(address  _newTroveManagerAddress);
event DefaultPoolZUSDDebtUpdated(uint256  _ZUSDDebt);
event DefaultPoolETHBalanceUpdated(uint256  _ETH);

Functions


setAddresses

function setAddresses(address _troveManagerAddress, address _activePoolAddress) external nonpayable onlyOwner 

Arguments

Name Type Description
_troveManagerAddress address
_activePoolAddress address
Source Code
function setAddresses(
        address _troveManagerAddress,
        address _activePoolAddress
    )
        external
        onlyOwner
    {
        checkContract(_troveManagerAddress);
        checkContract(_activePoolAddress);

        troveManagerAddress = _troveManagerAddress;
        activePoolAddress = _activePoolAddress;

        emit TroveManagerAddressChanged(_troveManagerAddress);
        emit ActivePoolAddressChanged(_activePoolAddress);

    }

getETH

function getETH() external view
returns(uint256)
Source Code
function getETH() external view override returns (uint) {
        return ETH;
    }

getZUSDDebt

function getZUSDDebt() external view
returns(uint256)
Source Code
function getZUSDDebt() external view override returns (uint) {
        return ZUSDDebt;
    }

sendETHToActivePool

function sendETHToActivePool(uint256 _amount) external nonpayable

Arguments

Name Type Description
_amount uint256
Source Code
function sendETHToActivePool(uint _amount) external override {
        _requireCallerIsTroveManager();
        address activePool = activePoolAddress; // cache to save an SLOAD
        ETH = ETH.sub(_amount);
        emit DefaultPoolETHBalanceUpdated(ETH);
        emit EtherSent(activePool, _amount);

        (bool success, ) = activePool.call{ value: _amount }("");
        require(success, "DefaultPool: sending ETH failed");
    }

increaseZUSDDebt

function increaseZUSDDebt(uint256 _amount) external nonpayable

Arguments

Name Type Description
_amount uint256
Source Code
function increaseZUSDDebt(uint _amount) external override {
        _requireCallerIsTroveManager();
        ZUSDDebt = ZUSDDebt.add(_amount);
        emit DefaultPoolZUSDDebtUpdated(ZUSDDebt);
    }

decreaseZUSDDebt

function decreaseZUSDDebt(uint256 _amount) external nonpayable

Arguments

Name Type Description
_amount uint256
Source Code
function decreaseZUSDDebt(uint _amount) external override {
        _requireCallerIsTroveManager();
        ZUSDDebt = ZUSDDebt.sub(_amount);
        emit DefaultPoolZUSDDebtUpdated(ZUSDDebt);
    }

_requireCallerIsActivePool

function _requireCallerIsActivePool() internal view
Source Code
function _requireCallerIsActivePool() internal view {
        require(msg.sender == activePoolAddress, "DefaultPool: Caller is not the ActivePool");
    }

_requireCallerIsTroveManager

function _requireCallerIsTroveManager() internal view
Source Code
function _requireCallerIsTroveManager() internal view {
        require(msg.sender == troveManagerAddress, "DefaultPool: Caller is not the TroveManager");
    }

constructor

function () external payable
Source Code
receive() external payable {
        _requireCallerIsActivePool();
        ETH = ETH.add(msg.value);
        emit DefaultPoolETHBalanceUpdated(ETH);
    }

Contracts