6.0.6 • Published 11 months ago

@airdao/deployments v6.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

@airdao/deployments

  • hardhat plugin
  • ethers v6

Install

  1. Install the package
npm i @airdao/deployments@^6.0.0
  1. Add to your hardhat config file
import "@airdao/deployments";

Usage

Deploy

import { deployments } from "hardhat";

import { MyErc20__factory } from "../typechain-types";

// deploy contract "MyErc20" as a UUPS proxy and save the deployment to the deployments with "MyToken" name
// or load already deployed contract (if "MyToken" exists in deployments) 

const myToken = await deployments.deploy<MyErc20__factory>({
    contractName: "MyToken",
    artifactName: "MyErc20",
    deployArgs: ["MyToken", "MY"],
    signer: deployer,
    isUpgradeableProxy: true,
    loadIfAlreadyDeployed: true,
});

Load

import { deployments } from "hardhat";
import { MyErc20 } from "../typechain-types";

const myToken = deployments.loadDeployment("MyToken", chainId) as MyErc20;

Sourcify

To sourcify all deployments on the network, run:

 hardhat sourcify --network test

Upgrade

import { deployments } from "hardhat";

// upgrade contract using openzeppelin upgrades and update the deployment in deployments
await deployments.upgrade({
    contractName: "MyToken",
    signer: deployer,
    opts: {
        // unsafeAllowRenames: true,
    }
});

In order to upgrade the contract, it is necessary to have information about previous implementation, which is stored in .openzeppelin folder.

If you lost this information, you can generate it again:

  • compile the version of the contract that you want to upgrade FROM
  • import it to the openzeppelin registry by running
import { deployments, upgrades } from "hardhat";

const prevDeployment = deployments.loadDeployment("MyToken", chainId).address;
const factory = await ethers.getContractFactory("MyToken");
await upgrades.forceImport(prevDeployment, factory);
6.0.1

11 months ago

6.0.3

11 months ago

6.0.2

11 months ago

6.0.5

11 months ago

6.0.4

11 months ago

6.0.6

11 months ago

0.2.5

1 year ago

0.2.4-v6

1 year ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago