4.0.199 ā€¢ Published 8 months ago

@truffle/artifactor v4.0.199

Weekly downloads
2,080
License
MIT
Repository
github
Last release
8 months ago

@truffle/artifactor

This package saves contract artifacts into JSON files

const Artifactor = require("@truffle/artifactor");
const artifactor = new Artifactor(__dirname);
artifactor.save({/*...*/}); // => a promise saving MyContract.json to a given destination

šŸ‘

Features

  • Manages contract ABIs, binaries and deployed addresses, so you don't have to.
  • Packages up build artifacts into .json files, which can then be included in your project with a simple require.
  • Manages library addresses for linked libraries.

The artifactor can be used with @truffle/contract, which provides features above and beyond web3:

  • Synchronized transactions for better control flow: transactions won't be considered finished until you're guaranteed they've been mined.
  • Promises. No more callback hell. Works well with ES6 and async/await.
  • Default values for transactions, like from address or gas.
  • Returning logs, transaction receipt and transaction hash of every synchronized transaction.

Install

$ npm install @truffle/artifactor

Example

Here, we'll generate a .json files given a JSON object like @truffle/contract-schema. This will give us a file which we can later require into other projects and contexts.

const Artifactor = require("@truffle/artifactor");
const artifactor = new Artifactor(__dirname);

// See truffle-schema for more info: https://github.com/trufflesuite/truffle/tree/develop/packages/contract-schema
const contractData = {
  contractName: "...",        // String; optional.
  abi: ...,                   // Array; required.
  metadata: "...",            // String; optional.
  bytecode: "...",            // String; optional.
  "x-some-dependency": ...    // String, Number, Object, or Array: optional.
};

artifactor.save(contractData);
// The file ./MyContract.json now exists, which you can
// import into your project like any other Javascript file.

API

artifactor.save(contractData)

Save contract data as a .json file. Returns a Promise.

  • contractData: Object. Data that represents this contract:

    {
      contractName: "MyContract",   // String; optional. Defaults to "Contract".
      abi: ...,                     // Array; required.  Application binary interface.
      metadata: "...",              // String; optional. Contract metadata.
      bytecode: "...",              // String; optional. Contract-creation binary without resolve library links.
      deployedBytecode: "...",      // String; optional. On-chain deployed binary without resolve library links.
      sourceMap: "...",             // String; optional. Source mapping for bytecode.
      deployedSourceMap: "...",     // String; optional. Source mapping for deployedBytecode.
      source: "...",                // String; optional. Uncompiled source code for contract.
      sourcePath: "...",            // String; optional. File path for uncompiled source code.
      ast: ...,                     // Object; optional. JSON representation of contract source code, as output by compiler.
      legacyAST: ...,               // Object; optional. Legacy JSON representation of contract source code, as output by compiler.
      compiler: ...,                // Object; optional. Compiler "type" and "properties".
      networks: ...,                // Object; optional. Mapping of network ID keys to network object values (address information, links to other contract instances, and/or contract event logs).
      schemaVersion: "...",         // String; optional. Schema version used by contract object representation.
      updatedAt: "...",             // String; optional. Time contract object representation was generated/most recently updated.
      devdoc: "...",                // String; optional. Developer documentation.
      userdoc: "...",               // String; optional. User documentation.
      "x-custom-property": ...      // String, Number, Object, or Array: optional. Custom property. Keys must be prefixed with "x-".
    }

artifactor.saveAll(contracts)

Save many contracts to the filesystem at once. Returns a Promise.

  • contracts: (Object | Array). If an object is passed, the keys are the contract names and the values are contractData objects, as in the save function above. If an Array is used, the members are contractData objects as in the save function above.

    {
      MyContract: {
        abi: "...",
        bytecode: "...",
        // ...
      },
      AnotherContract: {
        abi: "...",
        bytecode: "...",
        // ...
      }
    }

    or

    [
      {
        contract_name: "MyContract",
        abi: "...",
        bytecode: "...",
        // ...
      },{
        contract_name: "AnotherContract",
        abi: "...",
        bytecode: "...",
        // ...
      }
    ]

Running Tests

$ npm test

License

MIT

4.0.196

9 months ago

4.0.197

8 months ago

4.0.194

10 months ago

4.0.195

10 months ago

4.0.198

8 months ago

4.0.199

8 months ago

4.0.192

11 months ago

4.0.193

10 months ago

4.0.190

11 months ago

4.0.191

11 months ago

4.0.189

12 months ago

4.0.188

1 year ago

4.0.185

1 year ago

4.0.186

1 year ago

4.0.187

1 year ago

4.0.184

1 year ago

4.0.183

1 year ago

4.0.182

1 year ago

4.0.178

1 year ago

4.0.179

1 year ago

4.0.177

1 year ago

4.0.181

1 year ago

4.0.180

1 year ago

4.0.171

2 years ago

4.0.174

1 year ago

4.0.175

1 year ago

4.0.172

2 years ago

4.0.173

2 years ago

4.0.176

1 year ago

4.0.167

2 years ago

4.0.168

2 years ago

4.0.169

2 years ago

4.0.170

2 years ago

4.0.159

2 years ago

4.0.160

2 years ago

4.0.163

2 years ago

4.0.164

2 years ago

4.0.161

2 years ago

4.0.162

2 years ago

4.0.165

2 years ago

4.0.166

2 years ago

4.0.157

2 years ago

4.0.158

2 years ago

4.0.153

2 years ago

4.0.156

2 years ago

4.0.154

2 years ago

4.0.155

2 years ago

4.0.149

2 years ago

4.0.148

2 years ago

4.0.152

2 years ago

4.0.150

2 years ago

4.0.151

2 years ago

4.0.147

2 years ago

4.0.145

2 years ago

4.0.146

2 years ago

4.0.143

2 years ago

4.0.144

2 years ago

4.0.135

2 years ago

4.0.138

2 years ago

4.0.139

2 years ago

4.0.136

2 years ago

4.0.137

2 years ago

4.0.141

2 years ago

4.0.142

2 years ago

4.0.140

2 years ago

4.0.128

2 years ago

4.0.129

2 years ago

4.0.130

2 years ago

4.0.131

2 years ago

4.0.134

2 years ago

4.0.132

2 years ago

4.0.133

2 years ago

4.0.127

2 years ago

4.0.126

3 years ago

4.0.125

3 years ago

4.0.125-alpha.0

3 years ago

4.0.124

3 years ago

4.0.123

3 years ago

4.0.122-alpha.1

3 years ago

4.0.122

3 years ago

4.0.122-alpha.0

3 years ago

4.0.121

3 years ago

4.0.120

3 years ago

4.0.119

3 years ago

4.0.118

3 years ago

4.0.116

3 years ago

4.0.117

3 years ago

4.0.115

3 years ago

4.0.114

3 years ago

4.0.113

3 years ago

4.0.112

3 years ago

4.0.111

3 years ago

4.0.110

3 years ago

4.0.109

3 years ago

4.0.107

3 years ago

4.0.108

3 years ago

4.0.106

3 years ago

4.0.102

3 years ago

4.0.105

3 years ago

4.0.103

3 years ago

4.0.104

3 years ago

4.0.101

3 years ago

4.0.100

3 years ago

4.0.99

3 years ago

4.0.98

3 years ago

4.0.97

3 years ago

4.0.96

3 years ago

4.0.95

3 years ago

4.0.94

3 years ago

4.0.93

3 years ago

4.0.92

3 years ago

4.0.91

3 years ago

4.0.90

3 years ago

4.0.89

3 years ago

4.0.88

3 years ago

4.0.87

3 years ago

4.0.86

3 years ago

4.0.85

3 years ago

4.0.84

3 years ago

4.0.83

4 years ago

4.0.82

4 years ago

4.0.81

4 years ago

4.0.80

4 years ago

4.0.79

4 years ago

4.0.78

4 years ago

4.0.77

4 years ago

4.0.76

4 years ago

4.0.75

4 years ago

4.0.74

4 years ago

4.0.73

4 years ago

4.0.72

4 years ago

4.0.70

4 years ago

4.0.69

4 years ago

4.0.68

4 years ago

4.2.0-tezos.13

4 years ago

4.0.67-next.0

4 years ago

4.0.67

4 years ago

4.0.66

4 years ago

4.0.65

4 years ago

4.2.0-tezos.12

4 years ago

4.2.0-tezos.10

4 years ago

4.2.0-tezos.11

4 years ago

4.0.64

4 years ago

4.0.63

4 years ago

4.2.0-tezos.9

4 years ago

4.2.0-tezos.8

4 years ago

4.0.62

4 years ago

4.2.0-tezos.5

4 years ago

4.2.0-tezos.6

4 years ago

4.2.0-tezos.7

4 years ago

4.2.0-tezos.3

4 years ago

4.2.0-tezos.4

4 years ago

4.0.61

4 years ago

4.0.60

4 years ago

4.0.59

4 years ago

4.0.58

4 years ago

4.0.57

4 years ago

4.0.56

4 years ago

4.2.0-tezos.2

4 years ago

4.0.55

4 years ago

4.2.0-tezos.0

4 years ago

4.2.0-tezos.1

4 years ago

4.0.54

4 years ago

4.0.53

4 years ago

4.1.0-tezos.2

4 years ago

4.1.0-tezos.1

4 years ago

4.0.52

4 years ago

4.0.51

4 years ago

4.0.50

4 years ago

4.0.49

4 years ago

4.1.0-tezos.0

4 years ago

4.0.48

4 years ago

4.0.47

4 years ago

4.0.46

4 years ago

4.0.45

4 years ago

4.0.44

4 years ago

4.0.43

4 years ago

4.0.42

4 years ago

4.0.41

4 years ago

4.0.40

4 years ago

4.0.39

4 years ago

4.0.39-micah.0

4 years ago

4.0.38

4 years ago

4.0.38-next.1

4 years ago

4.0.38-next.0

4 years ago

4.0.40-micah.0

4 years ago

4.0.37

4 years ago

4.0.36

5 years ago

4.0.35

5 years ago

4.0.34

5 years ago

4.0.33

5 years ago

4.0.32

5 years ago

4.0.31

5 years ago