⬅️ Contracts

PCVGuardian

Mainnet implementations

Name Address
pcvGuardian 0x2D1b1b509B6432A73e3d798572f0648f6453a5D9

Core, FeiDAOTimelock, PriceBoundPSM, MintRedeemPausePSM, EthCompoundPCVDeposit, AavePCVDeposit

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

PCVGuardianERC20Withdrawal

event PCVGuardianERC20Withdrawal(address,address,address,uint256)
Params
Param Type Notes
pcvDeposit address indexed
destination address indexed
token address indexed
amount uint256

PCVGuardianETHWithdrawal

event PCVGuardianETHWithdrawal(address,address,uint256)
Params
Param Type Notes
pcvDeposit address indexed
destination address indexed
amount uint256

PCVGuardianWithdrawal

event PCVGuardianWithdrawal(address,address,uint256)
Params
Param Type Notes
pcvDeposit address indexed
destination address indexed
amount uint256

Paused

event Paused(address)
Params
Param Type Notes
account address

SafeAddressAdded

event SafeAddressAdded(address)
Params
Param Type Notes
safeAddress address indexed

SafeAddressRemoved

event SafeAddressRemoved(address)
Params
Param Type Notes
safeAddress address indexed

Unpaused

event Unpaused(address)
Params
Param Type Notes
account address

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
Param Type Notes
bytes32

core

function core() view returns(address)

address of the Core contract referenced

Returns
Param Type Notes
address ICore implementation address

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

getSafeAddresses

function getSafeAddresses() view returns(address[])

returns all safe addresses

Returns
Param Type Notes
address[]

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
Param Type Notes
bool

isSafeAddress

function isSafeAddress(address) view returns(bool)

returns true if the the provided address is a valid destination to withdraw funds to

Params
Param Type Notes
pcvDeposit address the address to check
Returns
Param Type Notes
bool

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
Param Type Notes
bool

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

setSafeAddress

function setSafeAddress(address) nonpayable

governor-only method to set an address as "safe" to withdraw funds to

Params
Param Type Notes
pcvDeposit address the address to set as safe

setSafeAddresses

function setSafeAddresses(address[]) nonpayable

batch version of setSafeAddress

Params
Param Type Notes
_safeAddresses address[] the addresses to set as safe, as calldata

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

unsetSafeAddress

function unsetSafeAddress(address) nonpayable

governor-or-guardian-only method to un-set an address as "safe" to withdraw funds to

Params
Param Type Notes
pcvDeposit address the address to un-set as safe

unsetSafeAddresses

function unsetSafeAddresses(address[]) nonpayable

batch version of unsetSafeAddresses

Params
Param Type Notes
_safeAddresses address[] the addresses to un-set as safe

withdrawERC20ToSafeAddress

function withdrawERC20ToSafeAddress(address,address,address,uint256,bool,bool) nonpayable

governor-or-guardian-only method to withdraw funds from a pcv deposit, by calling the withdraw() method on it

Params
Param Type Notes
pcvDeposit address the deposit to pull funds from
safeAddress address the destination address to withdraw to
token address
amount uint256 the amount of funds to withdraw
pauseAfter bool whether to pause the pcv after withdrawing
depositAfter bool if true, attempts to deposit to the target PCV deposit

withdrawETHToSafeAddress

function withdrawETHToSafeAddress(address,address,uint256,bool,bool) nonpayable

governor-or-guardian-only method to withdraw funds from a pcv deposit, by calling the withdraw() method on it

Params
Param Type Notes
pcvDeposit address the address of the pcv deposit contract
safeAddress address the destination address to withdraw to
amount uint256 the amount of tokens to withdraw
pauseAfter bool if true, the pcv contract will be paused after the withdraw
depositAfter bool if true, attempts to deposit to the target PCV deposit

withdrawToSafeAddress

function withdrawToSafeAddress(address,address,uint256,bool,bool) nonpayable

governor-or-guardian-only method to withdraw funds from a pcv deposit, by calling the withdraw() method on it

Params
Param Type Notes
pcvDeposit address the address of the pcv deposit contract
safeAddress address the destination address to withdraw to
amount uint256 the amount to withdraw
pauseAfter bool if true, the pcv contract will be paused after the withdraw
depositAfter bool if true, attempts to deposit to the target PCV deposit

⬅️ Contracts