Skip to content
16 changes: 16 additions & 0 deletions v-next/hardhat-errors/src/descriptors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -694,6 +694,22 @@ Please double check your arguments.`,

Please check you have the correct subtask.`,
},
INLINE_ACTION_CANNOT_BE_USED_IN_PLUGINS: {
number: 417,
messageTemplate: `The task "{task}" defines an "inlineAction", which is not allowed in plugins.`,
websiteTitle: "Inline action not allowed in plugins",
websiteDescription: `Plugins are not allowed to use inline actions for tasks.

Please define the action in a separate file and reference it.`,
},
ACTION_AND_INLINE_ACTION_CONFLICT: {
number: 418,
messageTemplate: `The definition for task "{task}" contains conflicting properties: "action" and "inlineAction". You must remove one of them.`,
websiteTitle: `Task definition cannot use both "action" and "inlineAction"`,
websiteDescription: `A task cannot define both "action" and "inlineAction" properties at the same time.

Please remove one of the properties.`,
},
},
ARGUMENTS: {
INVALID_VALUE_FOR_TYPE: {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
import type { NewTaskDefinition } from "hardhat/types/tasks";
import type { NewTaskDefinitionPlugin } from "hardhat/types/tasks";

import { task } from "hardhat/config";

import { extendWithVerificationArgs } from "../utils.js";

const verifyBlockscoutTask: NewTaskDefinition = extendWithVerificationArgs(
task(["verify", "blockscout"], "Verify a contract on Blockscout"),
)
.setAction(() => import("./task-action.js"))
.build();
const verifyBlockscoutTask: NewTaskDefinitionPlugin =
extendWithVerificationArgs(
task(["verify", "blockscout"], "Verify a contract on Blockscout"),
)
.setAction(() => import("./task-action.js"))
.build();

export default verifyBlockscoutTask;
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import type { NewTaskDefinition } from "hardhat/types/tasks";
import type { NewTaskDefinitionPlugin } from "hardhat/types/tasks";

import { task } from "hardhat/config";

import { extendWithVerificationArgs } from "../utils.js";

const verifyEtherscanTask: NewTaskDefinition = extendWithVerificationArgs(
const verifyEtherscanTask: NewTaskDefinitionPlugin = extendWithVerificationArgs(
task(["verify", "etherscan"], "Verify a contract on Etherscan"),
)
.setAction(() => import("./task-action.js"))
Expand Down
4 changes: 2 additions & 2 deletions v-next/hardhat-verify/src/internal/tasks/verify/index.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import type { NewTaskDefinition } from "hardhat/types/tasks";
import type { NewTaskDefinitionPlugin } from "hardhat/types/tasks";

import { task } from "hardhat/config";

import { extendWithSourcifyArgs, extendWithVerificationArgs } from "./utils.js";

const verifyTask: NewTaskDefinition = extendWithSourcifyArgs(
const verifyTask: NewTaskDefinitionPlugin = extendWithSourcifyArgs(
extendWithVerificationArgs(
task("verify", "Verify a contract on all supported explorers"),
),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { NewTaskDefinition } from "hardhat/types/tasks";
import type { NewTaskDefinitionPlugin } from "hardhat/types/tasks";

import { task } from "hardhat/config";

Expand All @@ -7,7 +7,7 @@ import {
extendWithVerificationArgs,
} from "../utils.js";

const verifySourcifyTask: NewTaskDefinition = extendWithSourcifyArgs(
const verifySourcifyTask: NewTaskDefinitionPlugin = extendWithSourcifyArgs(
extendWithVerificationArgs(
task(["verify", "sourcify"], "Verify a contract on Sourcify"),
),
Expand Down
8 changes: 5 additions & 3 deletions v-next/hardhat/src/internal/core/config-validation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ import {
} from "../../types/arguments.js";
import {
type EmptyTaskDefinition,
type TaskOverrideDefinitionPlugin,
TaskDefinitionType,
type TaskDefinitionPlugin,
type NewTaskDefinition,
type TaskDefinition,
TaskDefinitionType,
type TaskOverrideDefinition,
} from "../../types/tasks.js";

Expand Down Expand Up @@ -183,7 +185,7 @@ function validatePath(
}

export function validateTasksConfig(
tasks: TaskDefinition[],
tasks: TaskDefinition[] | TaskDefinitionPlugin[],
path: Array<string | number> = [],
): HardhatUserConfigValidationError[] {
const validationErrors: HardhatUserConfigValidationError[] = [];
Expand Down Expand Up @@ -306,7 +308,7 @@ export function validateNewTask(
}

export function validateTaskOverride(
task: TaskOverrideDefinition,
task: TaskOverrideDefinition | TaskOverrideDefinitionPlugin,
path: Array<string | number>,
): HardhatUserConfigValidationError[] {
const validationErrors: HardhatUserConfigValidationError[] = [];
Expand Down
Loading
Loading