hardhat-deploy
Version:
Hardhat plugin for replicable smart contract deployments and easy testing across multiple EVM chains, with support for proxies, diamonds, named accounts, and deployment fixtures
34 lines (28 loc) • 920 B
text/typescript
import type {HookContext, SolidityHooks} from 'hardhat/types/hooks';
import {generateTypes} from '../generate-types.js';
export default async (): Promise<Partial<SolidityHooks>> => {
const handlers: Partial<SolidityHooks> = {
async onCleanUpArtifacts(
context: HookContext,
artifactPaths: string[],
next: (nextContext: HookContext, artifactPaths: string[]) => Promise<void>,
) {
let artifactPathsToProcess = [context.config.paths.artifacts];
// if (context.config.generateTypedArtifacts.externalArtifacts) {
// artifactPathsToProcess = artifactPathsToProcess.concat(
// context.config.generateTypedArtifacts.externalArtifacts
// );
// }
if (artifactPaths.length > 0) {
await generateTypes(
{
artifacts: artifactPathsToProcess,
},
context.config.generateTypedArtifacts,
);
}
return next(context, artifactPaths);
},
};
return handlers;
};