1.0.4 • Published 1 year ago

huff-deployer v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Huff-Deployer

A Hardhat Plugin To Test Huff Contracts

Installation

npm install huff-deployer --save-dev

Requirements

You need to have the Huff compiler (Rust version) installed in your machine. To install the compiler go to: https://github.com/huff-language/huff-rs

Usage

Add the following to your hardhat.config.js file:

require("huff-deployer");

If you are using TypeScript, add the following to your hardhat.config.ts file:

import "huff-deployer";

Then on your test file, import huffDeployer and deploy your Huff contract:

import { expect } from "chai";
import { ethers } from "hardhat";

import { huffDeployer } from "hardhat";

describe("Owned", () => {
  it("should change the owner", async () => {
    const [owner, newOwner] = await ethers.getSigners();

    const owned = await huffDeployer.deploy("Owned", [owner.address]); // <--- Deploy the contract
    expect(await owned.owner()).to.equal(owner.address);

    await owned.setOwner(newOwner.address);
    expect(await owned.owner()).to.equal(newOwner.address);
  });
});

It will automatically generate a Solidity interface file for your Huff contract, under the same directory.

huffDeployer.deploy accepts 3 arguments:

  1. targetContract: The name of the Huff contract.
  2. constructorArgs (optional): The constructor arguments.
  3. signer (optional): It will default to Hardhat's signer 0.

Check the examples folder for a more comprehensive view.

License

MIT

1.0.4

1 year ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago