{"_id":"@3test/ethereum-utils-contracts","_rev":"1-afa212ee35915c64fac70a7e747b4c3c","name":"@3test/ethereum-utils-contracts","dist-tags":{"latest":"1.2.0"},"versions":{"1.2.0":{"name":"@3test/ethereum-utils-contracts","description":"General utility module with helper smart contracts.","version":"1.2.0","scripts":{"build":"npm run clean && npx specron compile && npx tsc","clean":"rm -Rf ./build","lint":"npm run tslint && npm run solhint","sandbox":"npx specron sandbox","solhint":"npx solhint 'src/contracts/**/*.sol'","test":"npm run lint && npm run clean && npx specron compile && npx specron test","tslint":"npx tslint 'src/**/*.ts?(x)'"},"specron":{"compiler":{"build":"./build","match":["./src/**/*.sol"]},"test":{"port":8505,"match":["./src/tests/**/*.test.ts"]},"require":["ts-node/register"]},"repository":{"type":"git","url":"git+https://github.com/0xcert/framework.git"},"bugs":{"url":"https://github.com/0xcert/framework/issues"},"homepage":"https://github.com/0xcert/framework#readme","keywords":["0xcert","framework","protocol","asset","value","values","currency","token","non-fungible","fungible","erc-721","erc-20","blockchain","javascript","typescript","nodejs","vuejs","nuxtjs","npm","libraries","smart-contract","ethereum","zxc"],"license":"MIT","devDependencies":{"@specron/cli":"^0.5.6","@specron/spec":"^0.5.6","solc":"0.5.6","solhint":"2.0.0","ts-node":"^7.0.1","tslint":"^5.12.1","typescript":"^3.1.1","web3":"1.0.0-beta.37"},"_id":"@3test/ethereum-utils-contracts@1.2.0","_npmVersion":"6.4.1","_nodeVersion":"11.1.0","_npmUser":{"name":"moman","email":"vengust.tadej@gmail.com"},"dist":{"integrity":"sha512-x4pW7ZyvAu6ujGIRXSby6MxTlhpztnDEdN5lT3+nvclUkDhfxTt2wb1KbylCr3OmNKb7E3k+INkAQ0GMude99g==","shasum":"ccc020f5054760a6bf9e6fee8e2638ba9fd53a34","tarball":"https://registry.npmjs.org/@3test/ethereum-utils-contracts/-/ethereum-utils-contracts-1.2.0.tgz","fileCount":48,"unpackedSize":958549,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrdTNCRA9TVsSAnZWagAAOwMQAJiDVOWeiQXpQsIGUiHc\npwGcPa08BGsxVaOUa1kUDcNIPijv/ShahDv8lZYUpgfqPKlyu2trPgab2G21\nAjBh+q8ZEph5x3ILl4jPPT39T2Ury09UwNm2/eZIeHO3W95RXj0BC1SVM5XV\na11iueaKgNtq5KlYpi2gD9ZVZt4jJ+svjcn1X2wdcBQbXwdNEAyPsBDk/je8\nTl3SQqikoISJ6GpQ3aHJhchIomJ4zG9TF7przyU2wFHD2Ern7amy+HQjZZ+j\n4NEMYxMosv73uIqwSmKqoSMRT8wQBy01cmO6BBfSce87ZZnxDCdjRjb/H/ia\n2FhMAEzM71QTy6MPn5tU19EK3WTjK1898lS7o5PxaZdxEhIEwcU+d0ic7HVq\nEiQ9ZAovdWJ3y52TZlQvs1rcgirCERhCNW+UqW5O1gB8RpMyEL9t2hnsPF5+\n2uPc5CLcXMnXUxe1tdBTDBY995M+Q6V9kA0KhiOSZ99ipGSspCAE29KVsTRR\n58GuNupJJoE8wMZvxky161Tewx7xDFpNIiMwSehbzO7hEVFCBA09tqMtCui8\ny+OJmlPLAwoK+7QRKT56BLqHGLI5xx9/bw1de4dszJujH2nDrJ7LQ9fmWBQi\nbapIG6wx0keLhDXr18A4d3/g6KU3uaLJ2BbEqPky0evCaY3i8Z5MnAnx4pC2\nsat3\r\n=pjVq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWpC+PHr1OlzTA7Y6Zv2m6XezbB/4m7KsvWpyVuI7trgIhAJAUJmUKU92FGWhA2vaHfPFyhoO+muAlJ+lvRYHpV/w8"}]},"maintainers":[{"name":"moman","email":"vengust.tadej@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ethereum-utils-contracts_1.2.0_1554896076938_0.26108429482824436"},"_hasShrinkwrap":false}},"time":{"created":"2019-04-10T11:34:36.758Z","1.2.0":"2019-04-10T11:34:37.049Z","modified":"2022-04-04T10:45:25.930Z"},"maintainers":[{"name":"moman","email":"vengust.tadej@gmail.com"}],"description":"General utility module with helper smart contracts.","homepage":"https://github.com/0xcert/framework#readme","keywords":["0xcert","framework","protocol","asset","value","values","currency","token","non-fungible","fungible","erc-721","erc-20","blockchain","javascript","typescript","nodejs","vuejs","nuxtjs","npm","libraries","smart-contract","ethereum","zxc"],"repository":{"type":"git","url":"git+https://github.com/0xcert/framework.git"},"bugs":{"url":"https://github.com/0xcert/framework/issues"},"license":"MIT","readme":"<img src=\"https://github.com/0xcert/framework/raw/master/assets/cover-sub.png\" />\n\n> General utility module with helper smart contracts.\n\nThe [0xcert Framework](https://docs.0xcert.org) is a free and open-source JavaScript library that provides tools for building powerful decentralized applications. Please refer to the [official documentation](https://docs.0xcert.org) for more details.\n\nThis module is one of the bricks of the [0xcert Framework](https://docs.0xcert.org). It's written with [TypeScript](https://www.typescriptlang.org) and it's actively maintained. The source code is available on [GitHub](https://github.com/0xcert/framework) where you can also find our [issue tracker](https://github.com/0xcert/framework/issues).\n\n# Ethereum Utility Contracts\n\nThis module includes Solidity contracts which should be useful for any smart contract project.\n\n## Safe math -- `safe-math.sol`\n\nThis library includes basic arithmetic operations for unsigned 256-bit integers. This is a modern, gas-efficient implementation which also includes error reporting.\n\nThis implementation is based on the [openzeppelin-solidity](https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol) however the documentation and readability of code is much improved. We hope this will help you to write more error-free code.\n\nExampe usage:\n\n```solidity\npragma solidity ^0.5.5;\nimport \"https://github.com/0xcert/framework/packages/0xcert-ethereum-utils-contracts/src/contracts/math/safe-math.sol\";\n\ncontract MilitaryStrengthAdder\n{\n  using SafeMath for uint256;\n    \n  function add(\n    uint256 _addend1,\n    uint256 _addend2\n  )\n    external\n    pure\n    returns (uint256 sum)\n  {\n    return _addend1.add(_addend2);\n  }\n}\n```\n\n## Abilities -- `abilitable.sol`\n\nThis is a permissions model where you may assign different forms of permission on your contract to any address. Typically these permissions will be used to allow administrative tasks on a smart contract.\n\n## Ownership -- `ownable.sol` and `claimable.sol`\n\nThese are two ownership models that you can use for any smart contract. Ownable uses a single owner model which can be transferred unilaterally to a new owner. Claimable extends this model to a two-step transfer process, first the existing must send and the new owner must receive, the ownership privilege.\n\n## Address utilities -- `address-utils.sol`\n\nThis allows you to check whether any address is a normal account or if it is a smart contract. Please note that a normal account can become a smart contract (`CREATE`) and a smart contract can become a normal account (`SELFDESTRUCT`).\n\n## ERC-165 -- `erc165.sol` and `supports-interface.sol`\n\n[ERC-165](https://eips.ethereum.org/EIPS/eip-165) is a standard for publishing interfaces which your smart contract supports. If you are implementing a standard interface then it is best practice for your contract to identify this with ERC-165. This makes it simple for other contracts to detect how it works so they can cooperate as expected.","readmeFilename":"README.md"}