@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,
});

Dependencies (5)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @compound-finance/hardhat-import

    Weekly Downloads

    70

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    10.8 kB

    Total Files

    15

    Last publish

    Collaborators

    • arr00
    • hayesgm
    • ajb413