V1 Smart Contract Documentation
  • Bondtroller
    • Bondtroller
    • Bondtroller V 1 Storage
    • Bondtroller V 2 Storage
    • Bondtroller V 3 Storage
    • Bondtroller V 4 Storage
    • Bondtroller V 5 Storage
  • B Token
    • B Erc 20
    • B Erc 20 Interface
    • B Erc 20 Storage
    • B Ether
    • B Lending Token
    • B Token
    • B Token Interface
    • B Token Storage
  • Interest Rate Model
    • Base Jump Rate Model V 2
    • Fringe Interest Rate Model
    • Interest Rate Model
    • Jump Rate Model V 2
  • Interfaces
    • EIP 20 Interface
    • EIP 20 Non Standard Interface
    • IB Erc 20 Token
    • IB Lending Token
    • IB Primary Index Token
    • I Comptroller
    • I Price Provider Aggregator
    • I Primary Index Token
    • IPRJ
    • I Simple Price Oracle
    • IUSDC Test
  • Mock
    • PRJ
  • Openzeppelin
    • Contracts
      • Access
        • Access Control
        • Access Control Enumerable
        • I Access Control
        • I Access Control Enumerable
        • Ownable
      • Finance
        • Payment Splitter
      • Governance
        • Compatibility
          • Governor Compatibility Bravo
          • I Governor Compatibility Bravo
        • Extensions
          • Governor Counting Simple
          • Governor Proposal Threshold
          • Governor Timelock Compound
          • Governor Timelock Control
          • Governor Votes
          • Governor Votes Comp
          • Governor Votes Quorum Fraction
          • I Compound Timelock
          • I Governor Timelock
        • Governor
        • I Governor
        • Timelock Controller
      • Interfaces
        • IERC 1271
        • IERC 1363
        • IERC 1363 Receiver
        • IERC 1363 Spender
        • IERC 2612
        • IERC 2981
        • IERC 3156 Flash Borrower
        • IERC 3156 Flash Lender
      • Metatx
        • ERC 2771 Context
        • Minimal Forwarder
      • Proxy
        • Beacon
          • Beacon Proxy
          • I Beacon
          • Upgradeable Beacon
        • ERC 1967
          • ERC 1967 Proxy
          • ERC 1967 Upgrade
        • Transparent
          • Proxy Admin
          • Transparent Upgradeable Proxy
        • Utils
          • Initializable
          • UUPS Upgradeable
        • Clones
        • Proxy
      • Security
        • Pausable
        • Pull Payment
        • Reentrancy Guard
      • Token
        • ERC 1155
          • Extensions
            • ERC 1155 Burnable
            • ERC 1155 Pausable
            • ERC 1155 Supply
            • IERC 1155 Metadata URI
          • Presets
            • ERC 1155 Preset Minter Pauser
          • Utils
            • ERC 1155 Holder
            • ERC 1155 Receiver
          • IERC 1155
          • IERC 1155 Receiver
        • ERC 20
          • Extensions
            • ERC 20 Burnable
            • ERC 20 Capped
            • ERC 20 Flash Mint
            • ERC 20 Pausable
            • ERC 20 Permit
            • ERC 20 Snapshot
            • ERC 20 Votes
            • ERC 20 Votes Comp
            • ERC 20 Wrapper
            • IERC 20 Metadata
            • IERC 20 Permit
          • Presets
            • ERC 20 Preset Fixed Supply
            • ERC 20 Preset Minter Pauser
          • Utils
            • Safe ERC 20
            • Token Timelock
          • IERC 20
        • ERC 721
          • Extensions
            • ERC 721 Burnable
            • ERC 721 Enumerable
            • ERC 721 Pausable
            • ERC 721 URI Storage
            • IERC 721 Enumerable
            • IERC 721 Metadata
          • Presets
            • ERC 721 Preset Minter Pauser Auto Id
          • Utils
            • ERC 721 Holder
          • IERC 721
          • IERC 721 Receiver
        • ERC 777
          • Presets
            • ERC 777 Preset Fixed Supply
          • IERC 777
          • IERC 777 Recipient
          • IERC 777 Sender
      • Utils
        • Cryptography
          • ECDSA
          • EIP 712
          • Merkle Proof
          • Signature Checker
        • Escrow
          • Conditional Escrow
          • Escrow
          • Refund Escrow
        • Introspection
          • ERC 165
          • ERC 165 Checker
          • ERC 165 Storage
          • ERC 1820 Implementer
          • IERC 165
          • IERC 1820 Implementer
          • IERC 1820 Registry
        • Math
          • Math
          • Safe Cast
          • Safe Math
          • Signed Safe Math
        • Structs
          • Bit Maps
          • Enumerable Map
          • Enumerable Set
        • Address
        • Arrays
        • Context
        • Counters
        • Create 2
        • Multicall
        • Storage Slot
        • Strings
        • Timers
    • Contracts Upgradeable
      • Access
        • Access Control Enumerable Upgradeable
        • Access Control Upgradeable
        • I Access Control Enumerable Upgradeable
        • I Access Control Upgradeable
        • Ownable Upgradeable
      • Finance
        • Payment Splitter Upgradeable
      • Governance
        • Compatibility
          • Governor Compatibility Bravo Upgradeable
          • I Governor Compatibility Bravo Upgradeable
        • Extensions
          • Governor Counting Simple Upgradeable
          • Governor Proposal Threshold Upgradeable
          • Governor Timelock Compound Upgradeable
          • Governor Timelock Control Upgradeable
          • Governor Votes Comp Upgradeable
          • Governor Votes Quorum Fraction Upgradeable
          • Governor Votes Upgradeable
          • I Compound Timelock Upgradeable
          • I Governor Timelock Upgradeable
        • Governor Upgradeable
        • I Governor Upgradeable
        • Timelock Controller Upgradeable
      • Interfaces
        • IERC 1271 Upgradeable
        • IERC 1363 Receiver Upgradeable
        • IERC 1363 Spender Upgradeable
        • IERC 1363 Upgradeable
        • IERC 2612 Upgradeable
        • IERC 2981 Upgradeable
        • IERC 3156 Flash Borrower Upgradeable
        • IERC 3156 Flash Lender Upgradeable
      • Metatx
        • ERC 2771 Context Upgradeable
        • Minimal Forwarder Upgradeable
      • Proxy
        • Beacon
          • I Beacon Upgradeable
        • ERC 1967
          • ERC 1967 Upgrade Upgradeable
        • Utils
          • Initializable
          • UUPS Upgradeable
        • Clones Upgradeable
      • Security
        • Pausable Upgradeable
        • Pull Payment Upgradeable
        • Reentrancy Guard Upgradeable
      • Token
        • ERC 1155
          • Extensions
            • ERC 1155 Burnable Upgradeable
            • ERC 1155 Pausable Upgradeable
            • ERC 1155 Supply Upgradeable
            • IERC 1155 Metadata URI Upgradeable
          • Presets
            • ERC 1155 Preset Minter Pauser Upgradeable
          • Utils
            • ERC 1155 Holder Upgradeable
            • ERC 1155 Receiver Upgradeable
          • ERC 1155 Upgradeable
          • IERC 1155 Receiver Upgradeable
          • IERC 1155 Upgradeable
        • ERC 20
          • Extensions
            • ERC 20 Burnable Upgradeable
            • ERC 20 Capped Upgradeable
            • ERC 20 Flash Mint Upgradeable
            • ERC 20 Pausable Upgradeable
            • ERC 20 Permit Upgradeable
            • ERC 20 Snapshot Upgradeable
            • ERC 20 Votes Comp Upgradeable
            • ERC 20 Votes Upgradeable
            • ERC 20 Wrapper Upgradeable
            • IERC 20 Metadata Upgradeable
            • IERC 20 Permit Upgradeable
          • Presets
            • ERC 20 Preset Fixed Supply Upgradeable
            • ERC 20 Preset Minter Pauser Upgradeable
          • Utils
            • Safe ERC 20 Upgradeable
            • Token Timelock Upgradeable
          • ERC 20 Upgradeable
          • IERC 20 Upgradeable
        • ERC 721
          • Extensions
            • ERC 721 Burnable Upgradeable
            • ERC 721 Enumerable Upgradeable
            • ERC 721 Pausable Upgradeable
            • ERC 721 URI Storage Upgradeable
            • IERC 721 Enumerable Upgradeable
            • IERC 721 Metadata Upgradeable
          • Presets
            • ERC 721 Preset Minter Pauser Auto Id Upgradeable
          • Utils
            • ERC 721 Holder Upgradeable
          • ERC 721 Upgradeable
          • IERC 721 Receiver Upgradeable
          • IERC 721 Upgradeable
        • ERC 777
          • Presets
            • ERC 777 Preset Fixed Supply Upgradeable
          • ERC 777 Upgradeable
          • IERC 777 Recipient Upgradeable
          • IERC 777 Sender Upgradeable
          • IERC 777 Upgradeable
      • Utils
        • Cryptography
          • ECDSA Upgradeable
          • EIP 712 Upgradeable
          • Merkle Proof Upgradeable
          • Signature Checker Upgradeable
        • Escrow
          • Conditional Escrow Upgradeable
          • Escrow Upgradeable
          • Refund Escrow Upgradeable
        • Introspection
          • ERC 165 Checker Upgradeable
          • ERC 165 Storage Upgradeable
          • ERC 165 Upgradeable
          • ERC 1820 Implementer Upgradeable
          • IERC 165 Upgradeable
          • IERC 1820 Implementer Upgradeable
          • IERC 1820 Registry Upgradeable
        • Math
          • Math Upgradeable
          • Safe Cast Upgradeable
          • Safe Math Upgradeable
          • Signed Safe Math Upgradeable
        • Structs
          • Bit Maps Upgradeable
          • Enumerable Map Upgradeable
          • Enumerable Set Upgradeable
        • Address Upgradeable
        • Arrays Upgradeable
        • Context Upgradeable
        • Counters Upgradeable
        • Create 2 Upgradeable
        • Multicall Upgradeable
        • Storage Slot Upgradeable
        • Strings Upgradeable
        • Timers Upgradeable
  • Price Oracle
    • Priceproviders
      • Chainlink
        • Aggregator V 3 Interface
      • Uniswap V 2
        • I Uniswap V 2 Factory
        • I Uniswap V 2 Pair
        • I Uniswap V 2 Router 02
        • Safe Math
        • Uniswap V 2 Library
      • Backend Price Provider
      • Chainlink Price Provider
      • Price Provider
      • Uniswap V 2 Price Provider
    • Price Provider Aggregator
  • Util
    • Bondtroller Error Reporter
    • Careful Math
    • Exponential
    • Exponential No Error
    • Token Error Reporter
  • Console
  • Index
  • Primary Index Token
  • Primary Lending Platform Proxy Admin
Powered by GitBook
On this page
  • Methods
  • beneficiary
  • beneficiaryWithdraw
  • close
  • deposit
  • depositsOf
  • enableRefunds
  • owner
  • renounceOwnership
  • state
  • transferOwnership
  • withdraw
  • withdrawalAllowed
  • Events
  • Deposited
  • OwnershipTransferred
  • RefundsClosed
  • RefundsEnabled
  • Withdrawn
  1. Openzeppelin
  2. Contracts
  3. Utils
  4. Escrow

Refund Escrow

RefundEscrow

Escrow that holds funds for a beneficiary, deposited from multiple parties.Intended usage: See {Escrow}. Same usage guidelines apply here.The owner account (that is, the contract that instantiates this contract) may deposit, close the deposit period, and allow for either withdrawal by the beneficiary, or refunds to the depositors. All interactions with RefundEscrow will be made through the owner contract.

Methods

beneficiary

function beneficiary() external view returns (address payable)

Returns

Name
Type
Description

_0

address payable

The beneficiary of the escrow.

beneficiaryWithdraw

function beneficiaryWithdraw() external nonpayable

Withdraws the beneficiary's funds.

close

function close() external nonpayable

Allows for the beneficiary to withdraw their funds, rejecting further deposits.

deposit

function deposit(address refundee) external payable

Stores funds that may later be refunded.

Parameters

Name
Type
Description

refundee

address

The address funds will be sent to if a refund occurs.

depositsOf

function depositsOf(address payee) external view returns (uint256)

Parameters

Name
Type
Description

payee

address

undefined

Returns

Name
Type
Description

_0

uint256

undefined

enableRefunds

function enableRefunds() external nonpayable

Allows for refunds to take place, rejecting further deposits.

owner

function owner() external view returns (address)

Returns the address of the current owner.

Returns

Name
Type
Description

_0

address

undefined

renounceOwnership

function renounceOwnership() external nonpayable

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.

state

function state() external view returns (enum RefundEscrow.State)

Returns

Name
Type
Description

_0

enum RefundEscrow.State

The current state of the escrow.

transferOwnership

function transferOwnership(address newOwner) external nonpayable

Transfers ownership of the contract to a new account (newOwner). Can only be called by the current owner.

Parameters

Name
Type
Description

newOwner

address

undefined

withdraw

function withdraw(address payable payee) external nonpayable

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

Name
Type
Description

payee

address payable

The address whose funds will be withdrawn and transferred to.

withdrawalAllowed

function withdrawalAllowed(address) external view returns (bool)

Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a 'payee' argument, but we ignore it here since the condition is global, not per-payee.

Parameters

Name
Type
Description

_0

address

undefined

Returns

Name
Type
Description

_0

bool

undefined

Events

Deposited

event Deposited(address indexed payee, uint256 weiAmount)

Parameters

Name
Type
Description

payee indexed

address

undefined

weiAmount

uint256

undefined

OwnershipTransferred

event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

Parameters

Name
Type
Description

previousOwner indexed

address

undefined

newOwner indexed

address

undefined

RefundsClosed

event RefundsClosed()

RefundsEnabled

event RefundsEnabled()

Withdrawn

event Withdrawn(address indexed payee, uint256 weiAmount)

Parameters

Name
Type
Description

payee indexed

address

undefined

weiAmount

uint256

undefined

PreviousEscrowNextIntrospection

Last updated 3 years ago