# Deployed contracts

### Core smart contracts

<https://github.com/antefinance/ante-v06-core>

### Deployed Factories

#### Mainnet

<table><thead><tr><th width="251">Network</th><th>Factory</th></tr></thead><tbody><tr><td>Ethereum Mainnet</td><td><a href="https://etherscan.io/address/0x89E583A67B5FA1B39b8CE7E77654071c3a34cc48#code">0x89E583A67B5FA1B39b8CE7E77654071c3a34cc48</a></td></tr><tr><td>Optimism</td><td><a href="https://optimistic.etherscan.io/address/0x4f2be0244146b4408154504a481c799ba1a9a355#readContract">0x4f2be0244146b4408154504a481c799ba1a9a355</a></td></tr><tr><td>zkSync</td><td><a href="https://explorer.zksync.io/address/0xCE38604C2cF369e9cc67DF75E2Bd5626184D56A0">0xCE38604C2cF369e9cc67DF75E2Bd5626184D56A0</a></td></tr><tr><td>Arbitrum</td><td><a href="https://arbiscan.io/address/0x1A53b3500216D547186C833c35F39a82053B7223">0x1A53b3500216D547186C833c35F39a82053B7223</a></td></tr></tbody></table>

#### Testnet

<table><thead><tr><th width="251">Network</th><th>Factory</th></tr></thead><tbody><tr><td>Ethereum Goerli</td><td><a href="https://goerli.etherscan.io/address/0xE4452a09eDDc633f9f51D8c0a01BFDa18f35441d#code">0xE4452a09eDDc633f9f51D8c0a01BFDa18f35441d</a></td></tr><tr><td>Optimism</td><td><a href="https://goerli-optimism.etherscan.io/address/0x6696d9dFE0a28e5bc9d47C32DDEa0295Fdfb8B27#code">0x6696d9dFE0a28e5bc9d47C32DDEa0295Fdfb8B27</a></td></tr><tr><td>Arbitrum</td><td></td></tr><tr><td>Scroll Alpha </td><td><a href="https://blockscout.scroll.io/address/0xf83A823a57B2C67A71a91BFDe2Ef6CA4c0F5c031/contracts#address-tabs">0xf83A823a57B2C67A71a91BFDe2Ef6CA4c0F5c031</a></td></tr></tbody></table>

### Deployed Contracts

#### AntePoolFactoryController

The factory controller governs the list of supported ERC20 tokens for AntePool staking and challenging and also stores the address of the implementation contract of the `AntePool` contract the factory deploys.

The addresses of the `AntePoolFactoryController` deployments are accessible via the `controller()` function of the `AntePoolFactory` contracts.<br>

#### AntePoolLogic

This contract implements the logic behind the minimal proxy `AntePool` contracts.

The address of the ante pool implementation contract is accessible via the `antePoolLogicAddr()` function of the `AntePoolFactoryController` contracts.

### Deployed Pools

The addresses of all Ante Pools created by AntePoolFactory are stored in the `allPools` array. Alternatively, if you have the address of the Ante Test, you can look up the corresponding Ante Pool address using `poolsByTest(address)` via block explorer, etc.
