hardhat-deployed
Version:
Hardhat plugin for saving deployed contract address.
27 lines (22 loc) • 942 B
text/typescript
import { extendConfig } from "hardhat/config";
import { HardhatConfig, HardhatUserConfig } from "hardhat/types";
import { DEFAULT_DEPLOYED_DIR } from "./constants";
// This import is needed to let the TypeScript compiler know that it should include your type
// extensions in your npm package's types file.
import "./type-extensions";
// Import tasks
import "./tasks/deployed-init";
import "./tasks/deployed-add";
import "./tasks/deployed-migrate";
import "./tasks/deployed-list";
extendConfig(
(config: HardhatConfig, userConfig: Readonly<HardhatUserConfig>) => {
// read user config
const deployedDir =
userConfig.deployed?.deployedDir ?? DEFAULT_DEPLOYED_DIR;
const ignoreContracts = userConfig.deployed?.ignoreContracts ?? [];
const externalContracts = userConfig.deployed?.externalContracts ?? [];
// inject config fields
config.deployed = { deployedDir, ignoreContracts, externalContracts };
},
);