This following contract is the OpenPeerEscrowsDeployer and is responsible for deploying individual escrow contracts. This contract deploys escrow contracts for native tokens and ERC20 tokens.

Global settings

  • arbitrator: Address of the arbitrator (currently OP staff, DAO later)

  • feeRecipient: Address to receive the fees

  • _fee: OP fee (bps) ex: 30 == 0.3%

  • stopped: Circuit breaker flag

  • implementation: Address of the OpenPeerEscrow implementation contract

  • feeDiscountNFT: NFT contract for fee discounts


  • ContractCreated(address _seller, address _deployment): Emits when an escrow contract is deployed


  • stopInEmergency: Circuit breaker modifier


  • constructor(): Initializes the contract with the given parameters

  • deploy(): Deploys a new escrow contract for the msg sender

  • setArbitrator(address _arbitrator): Updates the arbitrator

  • setFeeRecipient(address payable _feeRecipient): Updates the fee recipient

  • setFee(uint256 fee_): Updates the fee

  • setTrustedForwarder(address trustedForwarder): Updates the trusted forwarder

  • updatePartnerFeeBps(address[] calldata _partners, uint256[] calldata _fees): Updates the fees of the partners (bps). Cant be more than 1%. Users can pass the 0x address to avoid it.

  • openpeerFee(): Returns the fee OP will receive from the orders.

  • sellerFee(address _partner): Returns the total fee a seller will pay (bps)

Last updated