greet.ts 902 B

1234567891011121314151617181920212223
  1. import type { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
  2. import { task } from "hardhat/config";
  3. import type { TaskArguments } from "hardhat/types";
  4. import type { Greeter } from "../../types/Greeter";
  5. import type { Greeter__factory } from "../../types/factories/Greeter__factory";
  6. task("task:setGreeting")
  7. .addParam("greeting", "Say hello, be nice")
  8. .addParam("account", "Specify which account [0, 9]")
  9. .setAction(async function (taskArguments: TaskArguments, hre) {
  10. let { ethers, deployments } = hre;
  11. let Greeter = await deployments.get("Greeter");
  12. const signers: SignerWithAddress[] = await ethers.getSigners();
  13. const greeter = <Greeter>await ethers.getContractAt("Greeter", Greeter.address);
  14. await greeter.connect(signers[taskArguments.account]).setGreeting(taskArguments.greeting);
  15. console.log("Greeting set: ", taskArguments.greeting);
  16. });