Skip to content

Latest commit

 

History

History
109 lines (87 loc) · 3.29 KB

README.md

File metadata and controls

109 lines (87 loc) · 3.29 KB

Bandada Hardhat plugin

A Hardhat plugin which provide tasks to deploy Bandada contracts.

Github license NPM version Downloads Linter eslint Code style prettier

This Hardhat plugin provides simple tasks that can be used to deploy the Bandada contracts without any additional configuration.

🛠 Install

npm or yarn

Install the @bandada/hardhat package with npm:

npm i @bandada/hardhat

or yarn:

yarn add @bandada/hardhat

📜 Usage

Import the plugin in your hardhat.config.ts file:

import "@bandada/hardhat"
import "./tasks/deploy"

const hardhatConfig: HardhatUserConfig = {
    solidity: "0.8.4"
}

export default hardhatConfig

And use its tasks to create your own deploy task and deploy your contract with a Bandada address.

import { task, types } from "hardhat/config"

task("deploy", "Deploy a Greeter contract")
    .addOptionalParam("logs", "Print the logs", true, types.boolean)
    .setAction(async ({ logs }, { ethers, run }) => {
        const { bandada } = await run("deploy:bandada", {
            logs
        })

        const Greeter = await ethers.getContractFactory("Greeter")

        const greeter = await Greeter.deploy(bandada.address)

        await greeter.deployed()

        if (logs) {
            console.log(
                `Greeter contract has been deployed to: ${greeter.address}`
            )
        }

        return greeter
    })