Escrow Upgradeable
Escrow
Base escrow contract, holds funds designated for a payee until they withdraw them. Intended usage: This contract (and derived escrow contracts) should be a standalone contract, that only interacts with the contract that instantiated it. That way, it is guaranteed that all Ether will be handled according to the Escrow
rules, and there is no need to check for payable functions or transfers in the inheritance tree. The contract that uses the escrow as its payment method should be its owner, and provide public methods redirecting to the escrow's deposit and withdraw.
Methods
deposit
Stores the sent amount as credit to be withdrawn.
Parameters
payee
address
The destination address of the funds.
depositsOf
Parameters
payee
address
undefined
Returns
_0
uint256
undefined
initialize
owner
Returns the address of the current owner.
Returns
_0
address
undefined
renounceOwnership
Leaves the contract without owner. It will not be possible to call onlyOwner
functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.
transferOwnership
Transfers ownership of the contract to a new account (newOwner
). Can only be called by the current owner.
Parameters
newOwner
address
undefined
withdraw
Withdraw accumulated balance for a payee, forwarding all gas to the recipient. WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. Make sure you trust the recipient, or are either following the checks-effects-interactions pattern or using {ReentrancyGuard}.
Parameters
payee
address payable
The address whose funds will be withdrawn and transferred to.
Events
Deposited
Parameters
payee indexed
address
undefined
weiAmount
uint256
undefined
OwnershipTransferred
Parameters
previousOwner indexed
address
undefined
newOwner indexed
address
undefined
Withdrawn
Parameters
payee indexed
address
undefined
weiAmount
uint256
undefined
Last updated