hardhat-etherscan-abi
    TypeScript icon, indicating that this package has built-in type declarations

    0.1.1 • Public • Published

    hardhat-etherscan-abi Build Status npm hardhat

    Hardhat plugin that fetches verified contract ABI from Etherscan.

    What

    This plugin adds extra features on top of @nomiclabs/hardhat-ethers and allows creating contract instances without manually downloading ABI: ethers.getVerifiedContractAt('<address>'). It supports Mainnet, BSC, and most testnets.

    Installation

    npm install --save-dev hardhat-etherscan-abi

    And add the following statement to your hardhat.config.js:

    require("hardhat-etherscan-abi");

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

    import "hardhat-etherscan-abi";

    Tasks

    This plugin creates no additional tasks.

    Environment extensions

    This object has adds some extra hardhat-etherscan-abi specific functionalities by adding new extra fields to hre.ethers

    Helpers

    These helpers are added to the ethers object:

    export async function getVerifiedContractAt(
      hre: HardhatRuntimeEnvironment,
      address: string,
      signer?: ethers.Signer
    ): Promise<ethers.Contract>;

    Usage

    You need to add the following Etherscan config to your hardhat.config.js file. Etherscan API key is optional but without it Etherscan allows only 1 request per 5 seconds.

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

    Then use the function:

    const contract = await hre.ethers.getVerifiedContractAt('<address>');

    It requires only contract address and will fetch the ABI for the contract automatically from Etherscan

    Install

    npm i hardhat-etherscan-abi

    DownloadsWeekly Downloads

    456

    Version

    0.1.1

    License

    MIT

    Unpacked Size

    32 kB

    Total Files

    43

    Last publish

    Collaborators

    • semenov.roman