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.
Chain
Contract
Ethereum
Polygon
Optimism
Arbitrum
Avalanche
Binance Smart Chain
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
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)