{"_id":"@0xcert/ethereum-erc20","_rev":"6-a14a637ba1d837f2a80c8bc16082eafb","name":"@0xcert/ethereum-erc20","dist-tags":{"latest":"1.2.1"},"versions":{"1.0.0":{"name":"@0xcert/ethereum-erc20","version":"1.0.0","description":"Fungible token standard implementation for the Ethereum blockchain.","main":"truffle.js","directories":{"contracts":"contracts","migrations":"migrations","test":"test"},"scripts":{"clean":"rm -Rf ./build","compile":"truffle compile","console":"truffle console","flatten":"mkdir -p build && truffle-flattener contracts/**/*.sol >> build/bundle.sol","lint":"eslint './**/*.js?(x)'","migrate":"truffle migrate","networks":"truffle networks","postpublish":"npm run clean","prepublish":"npm run compile","test":"npm run clean && truffle test"},"author":{"name":"0xcert"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xcert/ethereum-erc20.git"},"bugs":{"url":"https://github.com/0xcert/etheethereum-erc20reum/issues"},"homepage":"https://github.com/0xcert/ethereum-erc20#readme","keywords":["ethereum","blockchain","eth","contract","contracts","smart","smart-contract","smart-contracts","token","tokens","fungible","fungability","eip","erc","erc20","erc-20","standard"],"devDependencies":{"truffle":"^4.1.11","truffle-flattener":"^1.2.5"},"dependencies":{"@0xcert/ethereum-utils":"^1.0.0"},"gitHead":"996b93ddce5b5e2b026894d632e5e049e1a86463","_id":"@0xcert/ethereum-erc20@1.0.0","_npmVersion":"6.1.0","_nodeVersion":"10.0.0","_npmUser":{"name":"xpepermint","email":"xpepermint@gmail.com"},"dist":{"integrity":"sha512-vE2nKIX4gzOTm+vXQH17BvLc6yAzwh7gytlpTLbx+W6BUyPo+UMl0YdyArY4xcgdpv2lGrAGhB8DVmpzXVwC+Q==","shasum":"b38d5eca4852498fbcc6e0845541cb75a664da2b","tarball":"https://registry.npmjs.org/@0xcert/ethereum-erc20/-/ethereum-erc20-1.0.0.tgz","fileCount":22,"unpackedSize":764328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFoVwCRA9TVsSAnZWagAAGw4P/ibAj4el97c+38YmC6K5\nhkchNpBOMu5LrEWQZMS0w2cVex1NVWBKrIeIWF/On/8wnU0+yNKFAiC9G1vW\naUC73KlD3IJMRMU/Hr+YvKfsjFiWP3lcUdntlJUQqF/gnqav3T5h12Euqd49\nC/rbQOFn3Cz0KYt0eGi5ctOqb2rd+MYhuKS2ekrC/djIVnXaDJ4DZyKxXApV\ntaOyixY9xRq5YDRcLMBwFz2h1E1xVsZTq62szhKbpZtUpZhHvls+i4inESBl\nB1go2HVzgVKblZ1d1We2f+XmxQQ0Wl224IOmdg7oGmWgL0DXqbymzrDjPh0j\n9gT/Ud3deEkVfmjsrs3IGuZ9IECMG3zKy5W2od4RcnweGnkQ4Zc8scw3PQB/\nqQtgSZLeIXy7UeWuCFgA2/y6G6JBlFeaT3xmqIOUOr6oZsQT2nMEJM/UFfxN\n1LR2sk5ytVx1S0AUrqzUjMri1VT78mRV8zBBr8P7PWUNTmKOvHhgG7Z1Zvhu\nhbtqUsK7uEGLsugW3tq5+DBjLnWmF/iE6vhW1uNpRBWz5luHHJ8rlEw16cnr\n9UFubNU+TJvoNFq4mns5X55H72STtw/tlZ+wprhPU55SUG5YfwPxSibManJ8\n9EiKS22TtFpZkoXfaTqBhVgFkHa4M8CwKuZsPs6yBUyPSlhOj9JcB8Xj+FXQ\nH/mT\r\n=Lvtt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDH+PBte3lQ44n0a6tVm0Bhi5mZEEUONqca4CGVtqJRlwIhAN6kwzLikHzyvcWtsFIp1JcShzZ7oYvk47lmCFINoKuS"}]},"maintainers":[{"name":"leonpanjtar","email":"leon.panjtar@gmail.com"},{"name":"xpepermint","email":"xpepermint@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ethereum-erc20_1.0.0_1528202607537_0.22063878206768028"},"_hasShrinkwrap":false},"1.1.0":{"name":"@0xcert/ethereum-erc20","version":"1.1.0","description":"Fungible token standard implementation for the Ethereum blockchain.","main":"truffle.js","directories":{"contracts":"contracts","migrations":"migrations","test":"test"},"scripts":{"clean":"rm -Rf ./build","compile":"truffle compile","console":"truffle console","flatten":"mkdir -p build && truffle-flattener contracts/**/*.sol >> build/bundle.sol","lint":"eslint './**/*.js?(x)'","migrate":"truffle migrate","networks":"truffle networks","postpublish":"npm run clean","prepublish":"npm run compile","test":"npm run clean && truffle test"},"author":{"name":"0xcert"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xcert/ethereum-erc20.git"},"bugs":{"url":"https://github.com/0xcert/etheethereum-erc20reum/issues"},"homepage":"https://github.com/0xcert/ethereum-erc20#readme","keywords":["ethereum","blockchain","eth","contract","contracts","smart","smart-contract","smart-contracts","token","tokens","fungible","fungability","eip","erc","erc20","erc-20","standard"],"devDependencies":{"truffle":"^4.1.11","truffle-flattener":"^1.2.5"},"dependencies":{"@0xcert/ethereum-utils":"^1.0.0"},"gitHead":"714ed2ffb083137a64554815ed44603e9a5c6de6","_id":"@0xcert/ethereum-erc20@1.1.0","_npmVersion":"6.1.0","_nodeVersion":"10.0.0","_npmUser":{"name":"xpepermint","email":"xpepermint@gmail.com"},"dist":{"integrity":"sha512-25fTmjQNEHCS8iGYER6kTEdqcw4B89Wf7df6t7XnwJX5ejy9+fdwPGUrKCqBOBGIIfKy80l1xKtbsNU8Lwg6BQ==","shasum":"2aa5031ab9c436cade56f2d3e0ae1e825ebfd797","tarball":"https://registry.npmjs.org/@0xcert/ethereum-erc20/-/ethereum-erc20-1.1.0.tgz","fileCount":22,"unpackedSize":763773,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGC3iCRA9TVsSAnZWagAAgmIP/jp8SiHhbYFT4Vs7RDGK\n4VQap2d9Zz6LwWtZDAHgiDOkng9cLP4dBFYiCJGidHMc0ZjY2xxJulW5EdUo\nvK2309PupfLLKsGr1PVFLzvRmFj9d7CameVLNG1BLhHBUXXUyGX7AICPOtMe\nFvZ4ow/j+pae+YajoG/X5GtSSe78SkfQW5iywEMzV5kYTuXui8R3DU/lktfg\nMnN7GoXxG+n/KcBhXce3X1QQTGO1P1R397383l7PFDXhpLaocvUEyXQSrgIU\nQe/8lxaGEbMJOZJWxt7x6MuMYuD+qhMPe4DWPr/Lqk0oNrcapeG5KHKSXnFQ\ny+b9F5lWYSDXGULjV3+51xrc6rqy1MsZxfObFhaZV5HnTvgY1WJgXR2zcFOn\n8UbpZAj+2cSfSLj19B4S8LkhZ7lbbQqK6F9P/CMJSFrZ9y/3GGYHYSoGW9Vh\nqwu4iIEZvfENhpwU9eAdAMFsXvAVu4QZ+vmyV83tFFfFCHKs8OUOQCkgJsaO\naYPsi33MC2Lg/YELRuLdINsWMAFtAUOJriVaqb3CqyRA1NJVY3AEZmO+zPq4\ni1KDuHnTM/CP0ZqgWF1c43sL6tZWLGfSZOly7HE3GfKnSAX+a7Fc+TVxgegz\nWh2VdUf/L8Fy59wkMns0NwB/+1AqehhihXKGIVGC98LQ3gQmte9HxNVFoAjV\n1+T9\r\n=mgjD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCFGiJqMj6CKh7l6ZYfmsz4hhgpQYl7vjR/CDM1yzUaHQIgZ6jI5y6eb/b9W3uQ+/nuDYEsmj0s0GfNmbgJnnLMv1c="}]},"maintainers":[{"name":"leonpanjtar","email":"leon.panjtar@gmail.com"},{"name":"xpepermint","email":"xpepermint@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ethereum-erc20_1.1.0_1528311265519_0.3935288073605676"},"_hasShrinkwrap":false},"1.2.0":{"name":"@0xcert/ethereum-erc20","version":"1.2.0","description":"Fungible token standard implementation for the Ethereum blockchain.","main":"truffle.js","directories":{"contracts":"contracts","migrations":"migrations","test":"test"},"scripts":{"clean":"rm -Rf ./build","compile":"truffle compile","console":"truffle console","flatten":"mkdir -p build && truffle-flattener contracts/**/*.sol >> build/bundle.sol","lint":"eslint './**/*.js?(x)'","migrate":"truffle migrate","networks":"truffle networks","postpublish":"npm run clean","prepublish":"npm run compile","test":"npm run clean && truffle test"},"author":{"name":"0xcert"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xcert/ethereum-erc20.git"},"bugs":{"url":"https://github.com/0xcert/etheethereum-erc20reum/issues"},"homepage":"https://github.com/0xcert/ethereum-erc20#readme","keywords":["ethereum","blockchain","eth","contract","contracts","smart","smart-contract","smart-contracts","token","tokens","fungible","fungability","eip","erc","erc20","erc-20","standard"],"devDependencies":{"truffle":"^4.1.11","truffle-flattener":"^1.2.5"},"dependencies":{"@0xcert/ethereum-utils":"^1.0.0"},"gitHead":"1fee940cd83fa61413f9b37a69b0e34c22b679ce","_id":"@0xcert/ethereum-erc20@1.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.0.0","_npmUser":{"name":"xpepermint","email":"xpepermint@gmail.com"},"dist":{"integrity":"sha512-7uqxehZLS16ugUvD2BSLGJEzs71ovRIyet70ycsHNAI9xWKujtDKSVKEcQQELC0RoD1sZL8c5GXEi8x0qaqXoQ==","shasum":"335ddf880c4e624641346571f42d6ed35067b5b9","tarball":"https://registry.npmjs.org/@0xcert/ethereum-erc20/-/ethereum-erc20-1.2.0.tgz","fileCount":22,"unpackedSize":765981,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGN03CRA9TVsSAnZWagAAkpAP/2sypIMcs8w2jzgSCNnK\nF2y5EDwSzI0EEioxv3Y43KCVA/6bw7W83aD6D2KRoCq+sVLHZafzZ3XgxBjW\n/7uf0bs4mh5WIloWugrict9hQuxJoB+9eOAxevlUCHaTxubWqSRFB50XM52K\noUaAl0/VhuvMfNCsPK3P+lcjIhPA5rmp7XyNHU4809iomi0lzjIG29c/Z1og\ntg+3WFPUJHn9mK0gvzzbTaxqfVd0RLekd6JYxa2O4hwMutR9DUGcDzoapDNa\n6YGdqUDCLdA/zuqcUX1V/A7juq8sQSPRn2cpKw7mqsBH/KNjdn+m0XZE4Aw9\nw4+XC3OmRbd399pp6f5xCDwUe+2UGXEeJrzFsOZC8uQjqFG32Xe+ceVtqo83\nIx8rF/YQle7n6c/giO8W+OcUsqh/q4c9+o+xxxMul9Vq5/it5E4Eb6q3DENQ\nHBlKuxAlfnCJxocBfiqdQ8+BYykcWThzh8ESOPe+yR9Firxy9cw0uJ34lOwp\n3pUrYILmhA2OEajmpETkdGUW+Dls8N7AfSsv1OYZjqqSrD+32Tl9ehffzCGC\nvFkw1zB1rVedvGfFVYJzK0fWVCpmWZMU0aJxtdiktcqNq9KPwXGB6NhvTqVs\nV9SXS/yvVv7T4a6Pu9OHk+u4dtBF40oVPfHhDWFunveQbzpnHD7n9PJ44+Ms\n/+vQ\r\n=02SS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgWc1g+KMUEx5I2v4y+FTbMgyfmLD7t7g5L8seWSWQ2AiEA4GdybRMm6l798ptAmeYbUH1IrJUB1VvRBWrrpHynLgI="}]},"maintainers":[{"name":"leonpanjtar","email":"leon.panjtar@gmail.com"},{"name":"xpepermint","email":"xpepermint@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ethereum-erc20_1.2.0_1528356150790_0.1402518576369216"},"_hasShrinkwrap":false},"1.2.1":{"name":"@0xcert/ethereum-erc20","version":"1.2.1","description":"Fungible token standard implementation for the Ethereum blockchain.","main":"truffle.js","directories":{"contracts":"contracts","migrations":"migrations","test":"test"},"scripts":{"clean":"rm -Rf ./build","compile":"truffle compile","console":"truffle console","flatten":"mkdir -p build && truffle-flattener contracts/**/*.sol >> build/bundle.sol","lint":"eslint './**/*.js?(x)'","migrate":"truffle migrate","networks":"truffle networks","postpublish":"npm run clean","prepublish":"npm run compile","test":"npm run clean && truffle test"},"author":{"name":"0xcert"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/0xcert/ethereum-erc20.git"},"bugs":{"url":"https://github.com/0xcert/etheethereum-erc20reum/issues"},"homepage":"https://github.com/0xcert/ethereum-erc20#readme","keywords":["ethereum","blockchain","eth","contract","contracts","smart","smart-contract","smart-contracts","token","tokens","fungible","fungability","eip","erc","erc20","erc-20","standard"],"devDependencies":{"truffle":"^4.1.11","truffle-flattener":"^1.2.5"},"dependencies":{"@0xcert/ethereum-utils":"^1.0.0"},"gitHead":"3c8ac6aca0c9b4895bf4624215b1feb466d9a512","_id":"@0xcert/ethereum-erc20@1.2.1","_npmVersion":"6.1.0","_nodeVersion":"10.0.0","_npmUser":{"name":"xpepermint","email":"xpepermint@gmail.com"},"dist":{"integrity":"sha512-dsfkB5VNI9I4OBRzjpqjSV8zsQsW6bzEHJ35WfNqs0MSl1xfOXkCA5m7JPMfLW93dzNgzNMHumfXE5H9bjgw+A==","shasum":"5aa912e591b2db05a1fc258b4e84f03f671241c6","tarball":"https://registry.npmjs.org/@0xcert/ethereum-erc20/-/ethereum-erc20-1.2.1.tgz","fileCount":22,"unpackedSize":766444,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGPbBCRA9TVsSAnZWagAAS0gQAIfSbm7y3D7suMBuZ+aP\nwELByOF5gruTTdDU2FJa0WDUomfVvW2umHSM5pJsMHqbXZR7oWOk10dgeVhd\nXUTxWhCKNicUt6iiMzOlLhXTkICHpbYgYd+AHBfjmSaHTLUcViybi1ts5CDb\noRofH2DXbMp+DeTBGapwoZ8JuBHfXB+SgL+vGbyXNO0OEIxwF9n6rscbl5CA\nSl6lPuUIxgyko068x12fL67t7LDYKG1tkhvOvpJ7OY1jXj2x6Wrh/m/jDhWd\nlRYJAwEJ/4OXmu/RYItQ7kY0qg+A5+rsQJ7u5k7gC0knN4U694SGBKQVws3T\nOOHS2RpWUZobm/PEWyQHkQy+ccVQd4v9Svxx6mDwHlneYd2LExrXmfK0mbzG\natxpcmgi3/gsbJEzrg2XkdxYHF7S2vwdjYnk7HepF52rBfRstssWmvL6riL9\n4Q03KpUKxa68oOxo6kcQENtTxrqrjPtht6cdWobOH7zPUtEMNZN05D8Wq1ZM\nIZZ/EGLB6BI13h+juzIDSfYt8v38X3UsvWkZKtdJPzdUhnb08P//npQX09lV\nTR25nX1DRbPST1ppRpLk6BeWE9GAcRWALoWlgGwYI3GvN+jVcRLkyEWQnLVo\nDmYrnSWuOxq7dE+rJosky94FO0xV8Js1BQxzXGuaqSwe98O1TjNLhe9HV4Vu\nNSv8\r\n=ZgGn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDIUSFcZuCG2VHySUFHTL7gKZv1NyZxOGMKneecnEM6HAiAz0gyaTXF/s6m3nxkJ123CEWQoQmfaJAGhmj2kj9umgg=="}]},"maintainers":[{"name":"leonpanjtar","email":"leon.panjtar@gmail.com"},{"name":"xpepermint","email":"xpepermint@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ethereum-erc20_1.2.1_1528362688789_0.30410688147742926"},"_hasShrinkwrap":false}},"time":{"created":"2018-06-05T12:43:26.922Z","1.0.0":"2018-06-05T12:43:27.591Z","modified":"2022-04-04T10:28:13.232Z","1.1.0":"2018-06-06T18:54:25.602Z","1.2.0":"2018-06-07T07:22:30.858Z","1.2.1":"2018-06-07T09:11:28.918Z"},"maintainers":[{"email":"vengust.tadej@gmail.com","name":"moman"},{"email":"xpepermint@gmail.com","name":"xpepermint"}],"description":"Fungible token standard implementation for the Ethereum blockchain.","homepage":"https://github.com/0xcert/ethereum-erc20#readme","keywords":["ethereum","blockchain","eth","contract","contracts","smart","smart-contract","smart-contracts","token","tokens","fungible","fungability","eip","erc","erc20","erc-20","standard"],"repository":{"type":"git","url":"git+https://github.com/0xcert/ethereum-erc20.git"},"author":{"name":"0xcert"},"bugs":{"url":"https://github.com/0xcert/etheethereum-erc20reum/issues"},"license":"MIT","readme":"<img src=\"https://github.com/0xcert/ethereum-erc20/raw/master/assets/cover.png\" />\n\n![Build Status](https://travis-ci.org/0xcert/ethereum-erc20.svg?branch=master)&nbsp;[![NPM Version](https://badge.fury.io/js/@0xcert%2Fethereum-erc20.svg)](https://badge.fury.io/js/0xcert%2Fethereum-erc20)&nbsp;[![Dependencies Status](https://david-dm.org/0xcert/ethereum-erc20.svg)](https://david-dm.org/0xcert/ethereum-erc20)&nbsp;[![Bug Bounty](https://img.shields.io/badge/bounty-pending-2930e8.svg)](https://github.com/0xcert/ethereum-erc20/issues)\n\nThis is a complete implementation of the [ERC-20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md) fungible token standard for the Ethereum blockchain. This is an open source project build with [Truffle](http://truffleframework.com) framework.\n\nPurpose of this implementation is to provide a good starting point for anyone who wants to use and develop fungible tokens on the Ethereum blockchain. Instead of re-implementing the ERC-20 yourself you can use this code which has gone through multiple audits and we hope it will be extensively used by the community in the future.\n\n## Structure\n\nSince this is a Truffle project, you will find all tokens in `contracts/tokens/` directory.\n\n## Requirements\n\n* NodeJS 9.0+ recommended.\n* Windows, Linux or Mac OS X.\n\n## Installation\n\n### NPM\n\nThis is an [NPM](https://www.npmjs.com/package/@0xcert/ethereum-erc20) module for [Truffle](http://truffleframework.com) framework. In order to use it as a dependency in your Javascript project, you must install it through the `npm` command:\n\n```\n$ npm install @0xcert/ethereum-erc20\n```\n\n### Source\n\nClone the repository and install the required `npm` dependencies:\n\n```\n$ git clone git@github.com:0xcert/ethereum-erc20.git\n$ cd ethereum-erc20\n$ npm install\n```\n\nMake sure that everything has been set up correctly:\n\n```\n$ npm run test\n```\n\n## Usage\n\n### NPM\n\nTo interact with package's contracts within JavaScript code, you simply need to require that package's .json files:\n\n```js\nconst contract = require(\"@0xcert/ethereum-erc20/build/contracts/Token.json\");\nconsole.log(contract);\n```\n\n### Source\n\n#### Creating smart contract\n\nThe easiest way to start is to create a new file under `contracts/tokens/` (e.g. `MyToken.sol`):\n\n```sol\npragma solidity ^0.4.24;\n\nimport \"../tokens/Token.sol\";\n\ncontract MyToken is Token {\n\n  constructor()\n    public\n  {\n    tokenName = \"My Token\";\n    tokenSymbol = \"MTK\";\n    tokenDecimals = 18;\n    tokenTotalSupply = 100000000000000000000000000;\n    balances[msg.sender] = totalTokenSupply; // Give the owner of the contract the whole balance\n  }\n}\n```\n\nThat's it. Let's compile the contract:\n\n```\n$ npm run compile\n```\n\nThe easiest way to deploy it locally and start interacting with the contract (minting and transferring tokens) is to deploy it on your personal (local) blockchain using [Ganache](http://truffleframework.com/ganache/). Follow the steps in the Truffle documentation which are described [here](http://truffleframework.com/docs/getting_started/project#alternative-migrating-with-ganache).\n\n## Contributing\n\nSee [CONTRIBUTING.md](./CONTRIBUTING.md) for how to help out.\n\n## Licence\n\nSee [LICENSE](./LICENSE) for details.\n","readmeFilename":"README.md"}