IPCVGuardian
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
Functions
isSafeAddress
function isSafeAddress(
address pcvDeposit
) external returns (bool)
returns true if the the provided address is a valid destination to withdraw funds to
Parameters
pcvDeposit
address
the address to check
getSafeAddresses
function getSafeAddresses() external returns (address[])
returns all safe addresses
setSafeAddress
function setSafeAddress(
address pcvDeposit
) external
governor-only method to set an address as "safe" to withdraw funds to
Parameters
pcvDeposit
address
the address to set as safe
setSafeAddresses
function setSafeAddresses(
address[] safeAddresses
) external
batch version of setSafeAddress
Parameters
safeAddresses
address[]
the addresses to set as safe, as calldata
unsetSafeAddress
function unsetSafeAddress(
address pcvDeposit
) external
governor-or-guardian-only method to un-set an address as "safe" to withdraw funds to
Parameters
pcvDeposit
address
the address to un-set as safe
unsetSafeAddresses
function unsetSafeAddresses(
address[] safeAddresses
) external
batch version of unsetSafeAddresses
Parameters
safeAddresses
address[]
the addresses to un-set as safe
withdrawToSafeAddress
function withdrawToSafeAddress(
address pcvDeposit,
address safeAddress,
uint256 amount,
bool pauseAfter,
bool depositAfter
) external
governor-or-guardian-only method to withdraw funds from a pcv deposit, by calling the withdraw() method on it
Parameters
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
withdrawETHToSafeAddress
function withdrawETHToSafeAddress(
address pcvDeposit,
address payable safeAddress,
uint256 amount,
bool pauseAfter,
bool depositAfter
) external
governor-or-guardian-only method to withdraw funds from a pcv deposit, by calling the withdraw() method on it
Parameters
pcvDeposit
address
the address of the pcv deposit contract
safeAddress
address payable
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
withdrawERC20ToSafeAddress
function withdrawERC20ToSafeAddress(
address pcvDeposit,
address safeAddress,
address token,
uint256 amount,
bool pauseAfter,
bool depositAfter
) external
governor-or-guardian-only method to withdraw funds from a pcv deposit, by calling the withdraw() method on it
Parameters
pcvDeposit
address
the deposit to pull funds from
safeAddress
address
the destination address to withdraw to
token
address
the token to withdraw
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
Events
SafeAddressAdded
event SafeAddressAdded(
address safeAddress
)
Parameters
safeAddress
address
### SafeAddressRemoved
event SafeAddressRemoved(
address safeAddress
)
Parameters
safeAddress
address
### PCVGuardianWithdrawal
event PCVGuardianWithdrawal(
address pcvDeposit,
address destination,
uint256 amount
)
Parameters
pcvDeposit
address
destination
address
amount
uint256
### PCVGuardianETHWithdrawal
event PCVGuardianETHWithdrawal(
address pcvDeposit,
address destination,
uint256 amount
)
Parameters
pcvDeposit
address
destination
address
amount
uint256
### PCVGuardianERC20Withdrawal
event PCVGuardianERC20Withdrawal(
address pcvDeposit,
address destination,
address token,
uint256 amount
)
Parameters
pcvDeposit
address
destination
address
token
address
amount
uint256
Last updated