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.
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
Events
ContractCreated(address _seller, address _deployment): Emits when an escrow contract is deployed
Modifiers
stopInEmergency: Circuit breaker modifier
Functions
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)