# Solving the TypeError: no matching function Error in Hardhat

It's a bug-fix day. I encountered an error while attempting to deploy my contract to the testnet using Hardhat with the command below.

```bash
npx hardhat run scripts/deploy.js --network <testnet>
```

After spending a couple of hours debugging, I realized that I had followed a similar process to deploy the contract just last week, and it worked perfectly. However, it is no longer working now.

I figured this error was due to the changes/upgrades in `@nomicfoundation/hardhat-toolbox` to version 3.0.0 when you create a new hardhat project.

**The old way of writing the deployment script that caused the error:**

```javascript
const hre = require("hardhat");

async function main() {
  const Contract = await hre.ethers.getContractFactory("Contract");
  const contract = await Contract.deploy(
    "<Your constructor argument here>"
  );

  await contract.deployed();

  console.log(`Contract deployed to ${contract.address}`);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});
```

**How to write the deployment script to fix the error:**

```javascript
const hre = require("hardhat");

async function main() {
  const Contract = await hre.ethers.deployContract("Contract", 
    ["<Your constructor argument here>"]
  );

  await Contract.waitForDeployment();

  console.log(`Contract deployed to ${await Contract.getAddress()}`);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});
```

That's it 🥳🥳🥳

This post explained and fixed the error in deployment caused by the hardhat tools upgrade to version 3.0.0 when deploying a contract to testnet.

I'd love to connect with you on [**Twitter**](https://twitter.com/olanetsoft) | [**LinkedIn**](https://www.linkedin.com/in/olubisi-idris-ayinde-05727b17a/) | [**GitHub**](https://github.com/Olanetsoft) | [**Portfolio**](https://idrisolubisi.com/)

See you in my next blog article. Take care!!!
