0.10.5 • Published 3 years ago

hardhat-craftform v0.10.5

Weekly downloads
-
License
MIT
Repository
github
Last release
3 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

3 years ago

0.10.4

3 years ago

0.10.5

3 years ago

0.10.1

3 years ago

0.10.2

3 years ago

0.10.0

3 years ago

0.9.12

3 years ago

0.9.10

3 years ago

0.9.11

3 years ago

0.9.9

3 years ago

0.9.8

3 years ago

0.9.7

3 years ago

0.9.6

3 years ago

0.9.5

3 years ago

0.9.4

3 years ago

0.9.3

3 years ago

0.9.1

3 years ago

0.9.1-7

3 years ago

0.9.1-6

3 years ago

0.9.1-5

3 years ago

0.9.1-4

3 years ago

0.9.1-3

3 years ago

0.9.1-1

3 years ago

0.9.1-0

3 years ago

0.9.0

3 years ago

0.9.0-4

3 years ago

0.9.0-3

3 years ago

0.9.0-2

3 years ago

0.9.0-1

3 years ago

0.9.0-0

3 years ago

0.8.41

3 years ago

0.8.40

3 years ago

0.8.39

3 years ago

0.8.38

3 years ago

0.8.37

3 years ago

0.8.36

3 years ago

0.8.35

3 years ago

0.8.34

3 years ago

0.8.33

3 years ago

0.8.32

3 years ago

0.8.31

3 years ago

0.8.30

3 years ago

0.8.29

3 years ago

0.8.28

3 years ago

0.8.27

3 years ago

0.8.26

3 years ago

0.8.25

3 years ago

0.8.24

3 years ago

0.8.23

3 years ago

0.8.22

3 years ago

0.8.21

3 years ago

0.8.20

3 years ago

0.8.19

3 years ago

0.8.18

3 years ago

0.8.17

3 years ago

0.8.16

3 years ago

0.8.15

3 years ago

0.8.14

3 years ago

0.8.13

3 years ago

0.8.12

3 years ago

0.8.11

3 years ago

0.8.10

3 years ago

0.8.9

3 years ago

0.8.8

3 years ago

0.8.7

3 years ago

0.8.6

3 years ago

0.8.5

3 years ago

0.8.4

3 years ago

0.8.3

3 years ago

0.8.2

3 years ago

0.8.1

3 years ago

0.8.0

3 years ago

0.7.2

3 years ago

0.7.1

3 years ago

0.7.0

3 years ago

0.6.1

3 years ago

0.6.0-5

3 years ago

0.6.0-4

3 years ago

0.6.0-3

3 years ago

0.6.0-2

3 years ago

0.6.0-1

3 years ago

0.6.0-0

3 years ago

0.5.8

3 years ago

0.5.7

3 years ago

0.5.6

3 years ago

0.5.5-beta.1

3 years ago

0.5.5-beta

3 years ago

0.5.5

3 years ago

0.5.4

3 years ago

0.5.4-beta.1

3 years ago

0.5.4-beta

3 years ago

0.5.3

3 years ago

0.5.3-beta4

3 years ago

0.5.3-beta3

3 years ago

0.5.3-beta2

3 years ago

0.5.3-beta.1

3 years ago

0.5.3-beta

3 years ago

0.5.2

3 years ago

0.5.1

3 years ago

0.5.0

3 years ago

0.5.0-beta.1

3 years ago

0.5.0-beta

3 years ago

0.4.5

3 years ago

0.4.4

3 years ago

0.4.3

3 years ago

0.4.2

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.6

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.17

3 years ago

0.0.16

3 years ago

0.0.15

3 years ago

0.0.14

3 years ago

0.0.13

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago