@compound-finance/hardhat-import
v1.0.4
Published
Hardhat plugin for importing deployed contract bytecode and metadata from etherscan.
Downloads
818
Readme
@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,
});