PrimaryLendingPlatformWrappedTokenGatewayCore
Overview
License: MIT
abstract contract PrimaryLendingPlatformWrappedTokenGatewayCore is Initializable, AccessControlUpgradeable, ReentrancyGuardUpgradeableCore contract for the Primary Lending Platform Wrapped Token Gateway Core
Abstract contract that defines the core functionality of the primary lending platform wrapped token gateway.
Events info
SetPrimaryLendingPlatform
event SetPrimaryLendingPlatform(address newPrimaryLendingPlatform)Emitted when the PrimaryLendingPlatform contract address is updated.
Parameters:
newPrimaryLendingPlatform
address
The new address of the PrimaryLendingPlatform contract.
SetPITLiquidation
event SetPITLiquidation(address newPITLiquidation)Emitted when the PIT liquidation address is set.
SetPITLeverage
event SetPITLeverage(address newPITLeverage)Emitted when the PIT (Pool Interest Token) leverage is set to a new address.
Parameters:
newPITLeverage
address
The address of the new PIT leverage contract.
SetWETH
event SetWETH(address newWETH)Emitted when the WETH address is set.
Parameters:
newWETH
address
The address of the new WETH contract.
Constants info
MODERATOR_ROLE (0x797669c9)
bytes32 constant MODERATOR_ROLE = keccak256("MODERATOR_ROLE")State variables info
primaryLendingPlatform (0x92641a7c)
contract IPrimaryLendingPlatform primaryLendingPlatformWETH (0xad5c4648)
contract IWETH WETHpitLiquidation (0xf8514cae)
contract IPrimaryLendingPlatformLiquidation pitLiquidationpitLeverage (0x22c7ddee)
contract IPrimaryLendingPlatformLeverage pitLeverageModifiers info
onlyModerator
modifier onlyModerator()Modifier that allows only the moderator to execute the function.
isProjectTokenListed
modifier isProjectTokenListed(address projectToken)Modifier that checks if the project token is listed.
Parameters:
projectToken
address
Address of the project token.
isLendingTokenListed
modifier isLendingTokenListed(address lendingToken)Modifier that checks if the lending token is listed.
Parameters:
lendingToken
address
Address of the lending token.
Functions info
initialize (0xf8c8765e)
function initialize(
address pit,
address weth,
address pitLiquidationAddress,
address pitLeverageAddress
) public initializerInitializes the PrimaryLendingPlatformWrappedTokenGateway contract.
Parameters:
pit
address
Address of the primary index token contract.
weth
address
Address of the wrapped Ether (WETH) token contract.
pitLiquidationAddress
address
Address of the primary index token liquidation contract.
pitLeverageAddress
address
Address of the primary index token leverage contract.
setWETH (0x5b769f3c)
function setWETH(address _weth) external onlyModeratorSets the address of the WETH contract.
Requirements:
newWETHcannot be the zero address.Caller must be a moderator.
Parameters:
_weth
address
The address of the new WETH contract.
setPrimaryLendingPlatform (0xe801734a)
function setPrimaryLendingPlatform(address newPit) external onlyModeratorSets the address of the primary lending platform contract.
Requirements:
newPitcannot be the zero address.Caller must be a moderator.
Parameters:
newPit
address
The address of the new primary lending platform contract.
setPITLiquidation (0x6ccf9e23)
function setPITLiquidation(address newLiquidation) external onlyModeratorOnly the moderator can call this function.
Sets the address of the PrimaryLendingPlatformLiquidation contract for PIT liquidation.
Requirements:
newLiquidationcannot be the zero address.Caller must be a moderator.
Parameters:
newLiquidation
address
The address of the new PrimaryLendingPlatformLiquidation contract.
setPITLeverage (0x1a58ed4a)
function setPITLeverage(address newLeverage) external onlyModeratorSets the Primary Lending Platform Leverage contract address.
Requirements:
newLeveragecannot be the zero address.Caller must be a moderator.
Parameters:
newLeverage
address
The address of the new Primary Lending Platform Leverage contract.
getTotalOutstanding (0x75efd575)
function getTotalOutstanding(
address user,
address projectToken
) public view returns (uint256 outstanding)Returns the total outstanding balance of a user for a specific project token.
Parameters:
user
address
The address of the user.
projectToken
address
The address of the project token.
Return values:
outstanding
uint256
The total outstanding balance of the user.
deposit (0xd0e30db0)
function deposit() external payable nonReentrantDeposits Ether into the PrimaryLendingPlatformWrappedTokenGatewayCore contract and wraps it into WETH.
repay (0x22867d78)
function repay(
address projectToken,
uint256 lendingTokenAmount
) external payable nonReentrantRepays the specified amount of the project token's Ether outstanding debt using the lending token.
Parameters:
projectToken
address
The address of the project token.
lendingTokenAmount
uint256
The amount of the lending token to be used for repayment.
receive
receive() external payableOnly WETH contract is allowed to transfer ETH here. Prevent other addresses to send Ether to this contract.
fallback
fallback() external payableReverts any fallback calls to the contract.
Last updated