@compound-finance/hardhat-import
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

@compound-finance/hardhat-import

Hardhat plugin for importing contract bytecode and metadata from verified etherscan data.

Installation

Add to your project via npm. If using local source, first build the project using npm run build.

Add the following statement to your hardhat.config.js:

require("@compound-finance/hardhat-import");

Or, if you are using TypeScript, add this to your hardhat.config.ts:

import "@compound-finance/hardhat-import";

Tasks

This plugin provides the import task, which allows you to import contracts from all Ethereum networks (test and mainnet) supported by Etherscan. The result contains the deployed bytecode and metadata.

Usage

Add your Etherscan API key to config hardhat.config.js file:

module.exports = {
  networks: {
    mainnet: { ... }
  },
  etherscan: {
    // Your API key for Etherscan
    // Obtain one at https://etherscan.io/
    apiKey: "YOUR_ETHERSCAN_API_KEY"
  }
};

Lastly, run the import task, passing the address of the contract and the network where it's deployed, and an output directory.

npx hardhat import --address <CONTRACT_ADDRESS> --outdir <OUTPUT_DIRECTORY> --network mainnet

Using programmatically

To call the import task from within a Hardhat task or script, use the "import" task. You can run the subtask like this:

const importRes = await hre.run("import", {
  address: contractAddress,
});

Readme

Keywords

none

Package Sidebar

Install

npm i @compound-finance/hardhat-import

Weekly Downloads

121

Version

1.0.4

License

MIT

Unpacked Size

10.8 kB

Total Files

15

Last publish

Collaborators

  • arr00
  • hayesgm
  • ajb413