This PR adds a Refunder contract that reads the state of deposits in the JobsManager contract in order to determine the amount that an address is eligible to withdraw.
The Refunder receives ETH via its fallback function. The total amount sent to the Refunder will be the sum of all outstanding deposits managed by the JobsManager
The withdraw() function accepts an address as an argument. So, a third party address can submit the withdraw() call for another address
If the provided address does not have a deposit with the JobsManager, the tx will revert
If the provided address has already withdrawn its refund, the tx will revert
See the upgrade plan for more details on how the Refunder contract will be used.
This PR adds a
Refunder
contract that reads the state of deposits in theJobsManager
contract in order to determine the amount that an address is eligible to withdraw.Refunder
receives ETH via its fallback function. The total amount sent to theRefunder
will be the sum of all outstanding deposits managed by theJobsManager
withdraw()
function accepts an address as an argument. So, a third party address can submit thewithdraw()
call for another addressJobsManager
, the tx will revertSee the upgrade plan for more details on how the
Refunder
contract will be used.