{"bugs":{"url":"https://github.com/trufflesuite/truffle/issues"},"dist":{"shasum":"b437564ad87a946ee0ba6874dc4c8051e3d6efa9","tarball":"https://registry.npmjs.org/@truffle/artifactor/-/artifactor-4.0.125-decoder-beta.0.tgz","fileCount":20,"integrity":"sha512-9/IZiijAhIizvU3m8P5LgsmBwUfSoTjvtHmkrqPgS1CSJBEPZC3uTFH+dO7IJexAsHiRppTrXGjGYU98Jxe9/A==","signatures":[{"sig":"MEYCIQDNsdPxEeJpIyBDXLHQe1jyh6i2V3M2Y5ZQTvm6eCa4MgIhANBOmiglMNAhHctGsp6WPQRSQcYSAkISJv06PrccxDBb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38964},"main":"dist/index.js","name":"@truffle/artifactor","types":"dist/index.d.ts","author":{"name":"Tim Coulter"},"readme":"# @truffle/artifactor\n\nThis package saves contract artifacts into JSON files\n\n```javascript\nconst Artifactor = require(\"@truffle/artifactor\");\nconst artifactor = new Artifactor(__dirname);\nartifactor.save({/*...*/}); // => a promise saving MyContract.json to a given destination\n```\n\n👏\n\n### Features\n\n* Manages contract ABIs, binaries and deployed addresses, so you don't have to.\n* Packages up build artifacts into `.json` files, which can then be included in your project with a simple `require`.\n* Manages library addresses for linked libraries.\n\nThe artifactor can be used with [@truffle/contract](https://github.com/trufflesuite/truffle/tree/develop/packages/contract), which provides features above and beyond `web3`:\n\n* Synchronized transactions for better control flow: transactions won't be considered finished until you're guaranteed they've been mined.\n* Promises. No more callback hell. Works well with `ES6` and `async/await`.\n* Default values for transactions, like `from` address or `gas`.\n* Returning logs, transaction receipt and transaction hash of every synchronized transaction.\n\n### Install\n\n```\n$ npm install @truffle/artifactor\n```\n\n### Example\n\nHere, we'll generate a `.json` files given a JSON object like [@truffle/contract-schema](https://github.com/trufflesuite/truffle/tree/develop/packages/contract-schema). This will give us a file which we can later `require` into other projects and contexts.\n\n```javascript\nconst Artifactor = require(\"@truffle/artifactor\");\nconst artifactor = new Artifactor(__dirname);\n\n// See truffle-schema for more info: https://github.com/trufflesuite/truffle/tree/develop/packages/contract-schema\nconst contractData = {\n  contractName: \"...\",        // String; optional.\n  abi: ...,                   // Array; required.\n  metadata: \"...\",            // String; optional.\n  bytecode: \"...\",            // String; optional.\n  \"x-some-dependency\": ...    // String, Number, Object, or Array: optional.\n};\n\nartifactor.save(contractData);\n// The file ./MyContract.json now exists, which you can\n// import into your project like any other Javascript file.\n```\n\n# API\n\n#### `artifactor.save(contractData)`\n\nSave contract data as a `.json` file. Returns a Promise.\n\n* `contractData`: Object. Data that represents this contract:\n\n    ```javascript\n    {\n      contractName: \"MyContract\",   // String; optional. Defaults to \"Contract\".\n      abi: ...,                     // Array; required.  Application binary interface.\n      metadata: \"...\",              // String; optional. Contract metadata.\n      bytecode: \"...\",              // String; optional. Contract-creation binary without resolve library links.\n      deployedBytecode: \"...\",      // String; optional. On-chain deployed binary without resolve library links.\n      sourceMap: \"...\",             // String; optional. Source mapping for bytecode.\n      deployedSourceMap: \"...\",     // String; optional. Source mapping for deployedBytecode.\n      source: \"...\",                // String; optional. Uncompiled source code for contract.\n      sourcePath: \"...\",            // String; optional. File path for uncompiled source code.\n      ast: ...,                     // Object; optional. JSON representation of contract source code, as output by compiler.\n      legacyAST: ...,               // Object; optional. Legacy JSON representation of contract source code, as output by compiler.\n      compiler: ...,                // Object; optional. Compiler \"type\" and \"properties\".\n      networks: ...,                // Object; optional. Mapping of network ID keys to network object values (address information, links to other contract instances, and/or contract event logs).\n      schemaVersion: \"...\",         // String; optional. Schema version used by contract object representation.\n      updatedAt: \"...\",             // String; optional. Time contract object representation was generated/most recently updated.\n      devdoc: \"...\",                // String; optional. Developer documentation.\n      userdoc: \"...\",               // String; optional. User documentation.\n      \"x-custom-property\": ...      // String, Number, Object, or Array: optional. Custom property. Keys must be prefixed with \"x-\".\n    }\n    ```\n\n#### `artifactor.saveAll(contracts)`\n\nSave many contracts to the filesystem at once. Returns a Promise.\n\n* `contracts`: (Object | Array). If an object is passed, the keys are the\n    contract names and the values are `contractData` objects, as in the `save`\n    function above. If an Array is used, the members are `contractData` objects\n    as in the `save` function above.\n\n    ```javascript\n    {\n      MyContract: {\n        abi: \"...\",\n        bytecode: \"...\",\n        // ...\n      },\n      AnotherContract: {\n        abi: \"...\",\n        bytecode: \"...\",\n        // ...\n      }\n    }\n    ```\n    or\n    ```javascript\n    [\n      {\n        contract_name: \"MyContract\",\n        abi: \"...\",\n        bytecode: \"...\",\n        // ...\n      },{\n        contract_name: \"AnotherContract\",\n        abi: \"...\",\n        bytecode: \"...\",\n        // ...\n      }\n    ]\n    ```\n\n### Running Tests\n\n```\n$ npm test\n```\n\n### License\n\nMIT\n","gitHead":"3eb505da95c5c876e57303e6dde7401c8145c060","license":"MIT","private":false,"scripts":{"test":"mocha","build":"tsc","prepare":"yarn build"},"_npmUser":{"name":"eggplantzzz","email":"pobol234@gmail.com"},"homepage":"https://github.com/trufflesuite/truffle#readme","deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/trufflesuite/truffle.git","type":"git","directory":"packages/artifactor"},"_npmVersion":"lerna/3.19.0/node@v12.22.0+x64 (darwin)","description":"A contract packager for Ethereum and Javascript","directories":{},"maintainers":[{"name":"gnidan","email":"nick@gnidan.org"},{"name":"haltman","email":"harry.j.altman@gmail.com"},{"name":"eggplantzzz","email":"pobol234@gmail.com"},{"name":"fainashalts","email":"fainashalts@gmail.com"},{"name":"seesemichaelj","email":"seesemichaelj@gmail.com"},{"name":"rkalis","email":"roscokalis@gmail.com"},{"name":"cds-amal","email":"cds.sudama@gmail.com"}],"_nodeVersion":"12.22.0","dependencies":{"fs-extra":"^9.1.0","lodash.merge":"^4.6.2","lodash.assign":"^4.2.0","@truffle/contract-schema":"^3.4.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tmp":"^0.2.1","chai":"^4.2.0","web3":"1.5.3","debug":"^4.3.1","mocha":"8.1.2","sinon":"^9.0.2","ts-node":"^9.0.0","typescript":"^4.1.4","@types/node":"12.12.21","ganache-core":"2.13.0","@types/fs-extra":"^8.1.0","require-nocache":"^1.0.0","@truffle/contract":"^4.3.37-decoder-beta.0","@types/lodash.merge":"^4.6.6","@types/lodash.assign":"^4.2.6"},"_npmOperationalInternal":{"tmp":"tmp/artifactor_4.0.125-decoder-beta.0_1632927558807_0.003506718520873253","host":"s3://npm-registry-packages"},"_id":"@truffle/artifactor@4.0.125-decoder-beta.0","version":"4.0.125-decoder-beta.0"}