# Deployer

<table><thead><tr><th width="228">Chain</th><th>Contract</th></tr></thead><tbody><tr><td>Ethereum</td><td><a href="https://etherscan.io/address/0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1">0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1</a></td></tr><tr><td>Polygon</td><td><a href="https://polygonscan.com/address/0x2016A4efae0694276c6cB866A3b438fE773909d4">0x2016A4efae0694276c6cB866A3b438fE773909d4</a></td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1">0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1</a></td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1">0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1</a></td></tr><tr><td>Avalanche</td><td><a href="https://snowtrace.io/address/0xEa13b6fA1b1Ac3b0951E943fCA37cC29Ed5703Aa">0xEa13b6fA1b1Ac3b0951E943fCA37cC29Ed5703Aa</a></td></tr><tr><td>Binance Smart Chain</td><td><a href="https://bscscan.com/address/0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1">0x491A140c185Feb0C0BbF90Fa4bBF6b0A3CF019D1</a></td></tr></tbody></table>

### 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.&#x20;
* `sellerFee(address _partner)`: Returns the total fee a seller will pay (bps)

{% @github-files/github-code-block url="<https://github.com/Minke-Labs/openpeer_contracts/blob/main/contracts/OpenPeerEscrowsDeployer.sol>" %}
