0.10.5 • Published 2 years ago

hardhat-craftform v0.10.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Hardhat-Craftform

For consistent smart constract deploy environment

Installation

npm install hardhat-craftform

Quick Start

  1. You should add some compilerOptions in tsconfig.json
    tsconfig.json
"compilerOptions": {
    "experimentalDecorators": true,
    "strictPropertyInitialization": false
}
  1. import hardhat-craftform at hardhat.config.ts
import "hardhat-craftform"
  1. then, import craft directory at the top of your scripts. (not in hardhat.config.ts)
import "../crafts"
  1. if you compile your solidity files, Contract Crafts will be auto-generated.
npx hardhat compile

4-1. Or you can manually generate crafts with:

npx hardhat craftform

Deploy Contract

import { craftform, ethers } from "hardhat"
import "../crafts"  // Here: you should import "crafts" directory

async function deployMyContract(){
    const [ owner ] = await ethers.getSigners();
    const myCraft = await craftform
        .contract("MyContract")
        .deploy(
            "MyContractAlias",   // if set null, alias will be set as contract name.(in this case, "MyContract")
            // deploy options, typescript fully supported.
            {
                from: owner.address,
                args: ["Hello, World!", 41]
            },
            
            // your custom config for contract
            // you should set config props at {root}/crafts/contract/../your-contract.config.ts
            {
                message: "Hello, World!",
                magicNumber: 41
            }
        )
}

Reuse deployed contract with saved configs

import { craftform, ethers } from "hardhat"
import "../crafts"  // Here: you should import "crafts" directory

async function deployMyContract(){
    const [ owner ] = await ethers.getSigners();
    const myCraft = await craftform..contract("MyContract").attach("MyContractAlias");
    console.log(myCraft.$config.message)        // Hello, World!
    console.log(myCraft.$config.magicNumber)    // 41
}

There are 3 ways to attach deployed contracts.

// default attach : alias will be set as contract name
const myCraft1 = await craftform.contract("MyContract").attach();

// aliased attach
const myCraft2 = await craftform.contract("MyContract").attach("MyContractAlias");

// address attach
const myCraft3 = await craftform.contract("MyContract").attach("0x0123456789abcdef...");
0.10.3

2 years ago

0.10.4

2 years ago

0.10.5

2 years ago

0.10.1

2 years ago

0.10.2

2 years ago

0.10.0

2 years ago

0.9.12

2 years ago

0.9.10

2 years ago

0.9.11

2 years ago

0.9.9

2 years ago

0.9.8

2 years ago

0.9.7

2 years ago

0.9.6

2 years ago

0.9.5

2 years ago

0.9.4

2 years ago

0.9.3

2 years ago

0.9.1

2 years ago

0.9.1-7

2 years ago

0.9.1-6

2 years ago

0.9.1-5

2 years ago

0.9.1-4

2 years ago

0.9.1-3

2 years ago

0.9.1-1

2 years ago

0.9.1-0

2 years ago

0.9.0

2 years ago

0.9.0-4

2 years ago

0.9.0-3

2 years ago

0.9.0-2

2 years ago

0.9.0-1

2 years ago

0.9.0-0

2 years ago

0.8.41

2 years ago

0.8.40

2 years ago

0.8.39

2 years ago

0.8.38

2 years ago

0.8.37

2 years ago

0.8.36

2 years ago

0.8.35

2 years ago

0.8.34

2 years ago

0.8.33

2 years ago

0.8.32

2 years ago

0.8.31

2 years ago

0.8.30

2 years ago

0.8.29

2 years ago

0.8.28

2 years ago

0.8.27

2 years ago

0.8.26

2 years ago

0.8.25

2 years ago

0.8.24

2 years ago

0.8.23

2 years ago

0.8.22

2 years ago

0.8.21

2 years ago

0.8.20

2 years ago

0.8.19

2 years ago

0.8.18

2 years ago

0.8.17

2 years ago

0.8.16

2 years ago

0.8.15

2 years ago

0.8.14

2 years ago

0.8.13

2 years ago

0.8.12

2 years ago

0.8.11

2 years ago

0.8.10

2 years ago

0.8.9

2 years ago

0.8.8

2 years ago

0.8.7

2 years ago

0.8.6

2 years ago

0.8.5

2 years ago

0.8.4

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.7.2

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.1

2 years ago

0.6.0-5

2 years ago

0.6.0-4

2 years ago

0.6.0-3

2 years ago

0.6.0-2

2 years ago

0.6.0-1

2 years ago

0.6.0-0

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.6

2 years ago

0.5.5-beta.1

2 years ago

0.5.5-beta

2 years ago

0.5.5

2 years ago

0.5.4

2 years ago

0.5.4-beta.1

2 years ago

0.5.4-beta

2 years ago

0.5.3

2 years ago

0.5.3-beta4

2 years ago

0.5.3-beta3

2 years ago

0.5.3-beta2

2 years ago

0.5.3-beta.1

2 years ago

0.5.3-beta

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.5.0-beta.1

2 years ago

0.5.0-beta

2 years ago

0.4.5

2 years ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago