⬅️ Contracts
ERC-20 implementation for a Compound PCV Deposit
Author: Fei Protocol
Mainnet implementations
Core, PCVDripController, PriceBoundPSM, Fei, PCVDepositWrapper, CErc20Delegator
Events
ContractAdminRoleUpdate
event ContractAdminRoleUpdate(bytes32,bytes32)
Params
Param |
Type |
Notes |
oldContractAdminRole |
bytes32 indexed |
|
newContractAdminRole |
bytes32 indexed |
|
CoreUpdate
event CoreUpdate(address,address)
Params
Param |
Type |
Notes |
oldCore |
address indexed |
|
newCore |
address indexed |
|
Deposit
event Deposit(address,uint256)
Params
Param |
Type |
Notes |
_from |
address indexed |
|
_amount |
uint256 |
|
Paused
event Paused(address)
Params
Param |
Type |
Notes |
account |
address |
|
Unpaused
event Unpaused(address)
Params
Param |
Type |
Notes |
account |
address |
|
WithdrawERC20
event WithdrawERC20(address,address,address,uint256)
Params
Param |
Type |
Notes |
_caller |
address indexed |
|
_token |
address indexed |
|
_to |
address indexed |
|
_amount |
uint256 |
|
WithdrawETH
event WithdrawETH(address,address,uint256)
Params
Param |
Type |
Notes |
_caller |
address indexed |
|
_to |
address indexed |
|
_amount |
uint256 |
|
Withdrawal
event Withdrawal(address,address,uint256)
Params
Param |
Type |
Notes |
_caller |
address indexed |
|
_to |
address indexed |
|
_amount |
uint256 |
|
Methods
CONTRACT_ADMIN_ROLE
function CONTRACT_ADMIN_ROLE() view returns(bytes32)
a role used with a subset of governor permissions for this contract only
Returns
balance
function balance() view returns(uint256)
returns total balance of PCV in the Deposit excluding the FEI
returns stale values from Compound if the market hasn't been updated
Returns
balanceReportedIn
function balanceReportedIn() view returns(address)
display the related token of the balance reported
Returns
cToken
function cToken() view returns(address)
Returns
core
function core() view returns(address)
address of the Core contract referenced
Returns
Param |
Type |
Notes |
|
address |
ICore implementation address |
deposit
function deposit() nonpayable
deposit ERC-20 tokens to Compound
fei
function fei() view returns(address)
address of the Fei contract referenced by Core
Returns
Param |
Type |
Notes |
|
address |
IFei implementation address |
feiBalance
function feiBalance() view returns(uint256)
fei balance of contract
Returns
Param |
Type |
Notes |
|
uint256 |
fei amount held |
isContractAdmin
function isContractAdmin(address) view returns(bool)
returns whether a given address has the admin role for this contract
Params
Param |
Type |
Notes |
_admin |
address |
|
Returns
pause
function pause() nonpayable
set pausable methods to paused
paused
function paused() view returns(bool)
Returns true if the contract is paused, and false otherwise.
Returns
resistantBalanceAndFei
function resistantBalanceAndFei() view returns(uint256,uint256)
gets the resistant token balance and protocol owned fei of this deposit
Returns
Param |
Type |
Notes |
|
uint256 |
|
|
uint256 |
|
setContractAdminRole
function setContractAdminRole(bytes32) nonpayable
sets a new admin role for this contract
Params
Param |
Type |
Notes |
newContractAdminRole |
bytes32 |
|
setCore
function setCore(address) nonpayable
set new Core reference address
Params
Param |
Type |
Notes |
newCore |
address |
the new core address |
token
function token() view returns(address)
the token underlying the cToken
Returns
tribe
function tribe() view returns(address)
address of the Tribe contract referenced by Core
Returns
Param |
Type |
Notes |
|
address |
IERC20 implementation address |
tribeBalance
function tribeBalance() view returns(uint256)
tribe balance of contract
Returns
Param |
Type |
Notes |
|
uint256 |
tribe amount held |
unpause
function unpause() nonpayable
set pausable methods to unpaused
withdraw
function withdraw(address,uint256) nonpayable
withdraw tokens from the PCV allocation
Params
Param |
Type |
Notes |
to |
address |
the address to send PCV to |
amountUnderlying |
uint256 |
of tokens withdrawn |
withdrawERC20
function withdrawERC20(address,address,uint256) nonpayable
withdraw ERC20 from the contract
Params
Param |
Type |
Notes |
token |
address |
address of the ERC20 to send |
to |
address |
address destination of the ERC20 |
amount |
uint256 |
quantity of ERC20 to send |
withdrawETH
function withdrawETH(address,uint256) nonpayable
withdraw ETH from the contract
Params
Param |
Type |
Notes |
to |
address |
address to send ETH |
amountOut |
uint256 |
amount of ETH to send |
⬅️ Contracts