# Only 2 contracts deployed with upgradable contract

**URL:** <https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441>\
**Category:** Upgrades\
**Created:** [January 16, 2021, 2:33am UTC](https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441 "2021-01-16T02:33:06Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![surfer77](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/surfer77/32/3583_2.png) [@surfer77](https://forum.openzeppelin.com/u/surfer77)\
**Post date:** [January 16, 2021, 2:33am UTC](https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441/1 "2021-01-16T02:33:06Z")

</div>

I deployed an upgradable contract to mainnet but I think it timed out and it didn’t return any addresses in the console however 2 contracts were created:

> **[Contract Address 0x3404e815236ae21711025a39fa23a8adbd5a65a1 | Etherscan](https://etherscan.io/address/0x3404e815236ae21711025a39fa23a8adbd5a65a1)**
>
> The Contract Address 0x3404e815236ae21711025a39fa23a8adbd5a65a1 page allows users to view the source code, transactions, balances, and analytics for the contract address. Users can also interact and make transactions to the contract directly on...

> **[Contract Address 0x78c88712124d31b830b31dcaa17f5c12fd73719b | Etherscan](https://etherscan.io/address/0x78c88712124d31b830b31dcaa17f5c12fd73719b)**
>
> The Contract Address 0x78c88712124d31b830b31dcaa17f5c12fd73719b page allows users to view the source code, transactions, balances, and analytics for the contract address. Users can also interact and make transactions to the contract directly on...

**💻 Environment**  
I am using hardhat and this was my deploy code:

```
 const NFT20Factory = await ethers.getContractFactory("NFT20Factory");
  console.log("Deploying AirFactory... \n");
  const nft20Factory = await upgrades.deployProxy(NFT20Factory, [], {
    initializer: "initialize",
    unsafeAllowCustomTypes: false,
  });

```

I would like now to verify those 2 contracts and see how to proceed.

In other upgradable contracts that I deployed, usually 3 contracts are created on first deploy.

Thanks

---

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [January 16, 2021, 2:58am UTC](https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441/2 "2021-01-16T02:58:33Z")

</div>

Hi @surfer77,

It looks like you have deployed an implementation contract and a proxy contract. You should be able to interact with this contract.

There is only one ProxyAdmin contract per project per network. I assume you have already deployed an upgradeable contract to mainnet from the project.

If you check in your `.openzeppelin/mainnet.json` you should have an address for admin.

---

<div class="post-metadata">

**Author:** ![surfer77](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/surfer77/32/3583_2.png) [@surfer77](https://forum.openzeppelin.com/u/surfer77)\
**Post date:** [January 16, 2021, 3:14am UTC](https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441/3 "2021-01-16T03:14:12Z")

</div>

This was the first time I wanted to deploy to mainnet but I do have a previous admin in .openzeppelin/mainnet.json 0x3206a055d7d2854aAa7eD8F25F6ab4FF3BF101CB .

I believe that to bootstrap this new project we copied the old folder from the other project with the .openzeppelin/mainnet.json included.(can’t think how that got there otherwise)

You can see here the AdminUpgradeabilityProxy 0x14d4D06B8e8df9B85A37D622aA95784a4FCcB130

I don’t think it messed up the old contract right (0x3206a055d7d2854aAa7eD8F25F6ab4FF3BF101CB)? as i didn’t run upgrade, etc before. (I only deployed with commands on my first msg)

---

<div class="post-metadata">

**Author:** ![abcoathup](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/abcoathup/32/415_2.png) [@abcoathup](https://forum.openzeppelin.com/u/abcoathup)\
**Post date:** [January 16, 2021, 7:37am UTC](https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441/4 "2021-01-16T07:37:05Z")

</div>

Hi @surfer77,

It just means that you are sharing the ProxyAdmin for both projects. If you change the ownership of the ProxyAdmin it will impact both projects.

---

<div class="post-metadata">

**Author:** ![surfer77](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.openzeppelin.com/surfer77/32/3583_2.png) [@surfer77](https://forum.openzeppelin.com/u/surfer77)\
**Post date:** [January 18, 2021, 2:14am UTC](https://forum.openzeppelin.com/t/only-2-contracts-deployed-with-upgradable-contract/5441/5 "2021-01-18T02:14:22Z")

</div>

I ended up removing the .openzepelin and redeploying from scratch and all worked well 🙂

Thanks for the answers and always help
