title: When deploying contract using hardhat to Mumbai (Polygon) the address already exists
body: <p>Contract deploys to address <a href="https://mumbai.polygonscan.com/address/0x47c5e40890bcE4a473A49D7501808b9633F29782" rel="nofollow noreferrer">0x47c5e40890bcE4a473A49D7501808b9633F29782</a></p>
  <p>It looks like many other contracts were deployed to the same address by other people.</p>
  <p>Should the address of the contract not be unique or is it deterministically generated or cached somehow by hardhat?</p>
  <p>Why would other people have deployed to the same address?
  I am wondering if this is some bug with Polygon/Mumbai testnet</p>
  <pre><code>const { ethers } = require(&quot;hardhat&quot;);
  
  async function main() {
    const SuperMarioWorld = await ethers.getContractFactory(&quot;Rilu&quot;);
    const superMarioWorld = await SuperMarioWorld.deploy(&quot;Rilu&quot;, &quot;RILU&quot;);
    await superMarioWorld.deployed();
    console.log(&quot;Success contract was deployed to: &quot;, superMarioWorld.address)
  
    await superMarioWorld.mint(&quot;https://ipfs.io/ipfs/QmZkUCDt5CVRWQjLDyRS4c8kU6UxRNdpsjMf6vomDcd7ep&quot;)
  }
  
  // We recommend this pattern to be able to use async/await everywhere
  // and properly handle errors.
  main()
    .then(() =&gt; process.exit(0))
    .catch((error) =&gt; {
      console.error(error);
      process.exit(1);
    });
  
  </code></pre>
  <p>Hardhat</p>
  <pre><code>module.exports = {
    solidity: '0.8.4',
    networks: {
      mumbai: {
        url: process.env.MUMBAI_RPC,
        accounts: [process.env.PRIVATE_KEY],
      },
    },
  };
  
  </code></pre>
  <p>.env file (no problem with sharing the private key, just one I got from vanity-eth.tk and used for testing)</p>
  <pre><code>PRIVATE_KEY=84874e85685c95440e51d5edacf767f952f596cca6fd3da19b90035a20f57e37
  MUMBAI_RPC=https://rpc-mumbai.maticvigil.com
  
  </code></pre>
  <p>Output</p>
  <pre><code>~/g/s/b/r/nft ❯❯❯ npx hardhat run scripts/deploy.js --network mumbai   ✘ 1 
  Compiling 12 files with 0.8.4
  Compilation finished successfully
  Success contract was deployed to:  0x47c5e40890bcE4a473A49D7501808b9633F29782
  </code></pre>