Skip to main content

IFeiPCVGuardian

IFeiPCVGuardian

an interface for defining how the PCVGuardian functions

any implementation of this contract should be granted the roles of Guardian and PCVController in order to work correctly

Methods

getSafeAddresses

function getSafeAddresses() external view returns (address[])

returns all safe addresses

Returns

NameTypeDescription
_0address[]undefined

isSafeAddress

function isSafeAddress(address pcvDeposit) external view returns (bool)

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

Parameters

NameTypeDescription
pcvDepositaddressthe address to check

Returns

NameTypeDescription
_0boolundefined

setSafeAddress

function setSafeAddress(address pcvDeposit) external nonpayable

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

Parameters

NameTypeDescription
pcvDepositaddressthe address to set as safe

setSafeAddresses

function setSafeAddresses(address[] safeAddresses) external nonpayable

batch version of setSafeAddress

Parameters

NameTypeDescription
safeAddressesaddress[]the addresses to set as safe, as calldata

unsetSafeAddress

function unsetSafeAddress(address pcvDeposit) external nonpayable

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

Parameters

NameTypeDescription
pcvDepositaddressthe address to un-set as safe

unsetSafeAddresses

function unsetSafeAddresses(address[] safeAddresses) external nonpayable

batch version of unsetSafeAddresses

Parameters

NameTypeDescription
safeAddressesaddress[]the addresses to un-set as safe

withdrawERC20ToSafeAddress

function withdrawERC20ToSafeAddress(address pcvDeposit, address safeAddress, address token, uint256 amount, bool pauseAfter, bool depositAfter) external nonpayable

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

Parameters

NameTypeDescription
pcvDepositaddressthe deposit to pull funds from
safeAddressaddressthe destination address to withdraw to
tokenaddressthe token to withdraw
amountuint256the amount of funds to withdraw
pauseAfterboolwhether to pause the pcv after withdrawing
depositAfterboolif true, attempts to deposit to the target PCV deposit

withdrawETHToSafeAddress

function withdrawETHToSafeAddress(address pcvDeposit, address payable safeAddress, uint256 amount, bool pauseAfter, bool depositAfter) external nonpayable

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

Parameters

NameTypeDescription
pcvDepositaddressthe address of the pcv deposit contract
safeAddressaddress payablethe destination address to withdraw to
amountuint256the amount of tokens to withdraw
pauseAfterboolif true, the pcv contract will be paused after the withdraw
depositAfterboolif true, attempts to deposit to the target PCV deposit

withdrawToSafeAddress

function withdrawToSafeAddress(address pcvDeposit, address safeAddress, uint256 amount, bool pauseAfter, bool depositAfter) external nonpayable

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

Parameters

NameTypeDescription
pcvDepositaddressthe address of the pcv deposit contract
safeAddressaddressthe destination address to withdraw to
amountuint256the amount to withdraw
pauseAfterboolif true, the pcv contract will be paused after the withdraw
depositAfterboolif true, attempts to deposit to the target PCV deposit

Events

PCVGuardianERC20Withdrawal

event PCVGuardianERC20Withdrawal(address indexed pcvDeposit, address indexed destination, address indexed token, uint256 amount)

Parameters

NameTypeDescription
pcvDeposit indexedaddressundefined
destination indexedaddressundefined
token indexedaddressundefined
amountuint256undefined

PCVGuardianETHWithdrawal

event PCVGuardianETHWithdrawal(address indexed pcvDeposit, address indexed destination, uint256 amount)

Parameters

NameTypeDescription
pcvDeposit indexedaddressundefined
destination indexedaddressundefined
amountuint256undefined

PCVGuardianWithdrawal

event PCVGuardianWithdrawal(address indexed pcvDeposit, address indexed destination, uint256 amount)

Parameters

NameTypeDescription
pcvDeposit indexedaddressundefined
destination indexedaddressundefined
amountuint256undefined

SafeAddressAdded

event SafeAddressAdded(address indexed safeAddress)

Parameters

NameTypeDescription
safeAddress indexedaddressundefined

SafeAddressRemoved

event SafeAddressRemoved(address indexed safeAddress)

Parameters

NameTypeDescription
safeAddress indexedaddressundefined