{"_id":"@polymathnetwork/contract-wrappers","_rev":"111-cbd3da980408ba1318a9ec64c056081f","name":"@polymathnetwork/contract-wrappers","dist-tags":{"beta":"3.1.0-beta.1","latest":"3.1.0"},"versions":{"2.1.0-alpha.2":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-alpha.2","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-alpha.2","maintainers":[{"name":"shuffledex","email":"federico@polymath.network"},{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c14c1f30a467370d7725873b1ab1c544f1d3ce43","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-alpha.2.tgz","fileCount":22,"integrity":"sha512-4UbVB6PMPlKQ1tvcYxCBO08BBw4IA4d6MFQsTzPn5i+O5wNf+QHoCB9+ccJF/yFtvPOzglrKl0RHX82YBRPJtQ==","signatures":[{"sig":"MEQCID4DREoh0tLvH2dEFCb+iYvAcMomS4ZBDnidFzhAM4TBAiAW8CtRcgPtop8jjpAckFnzR5id9ob88ghiCdxjyyQQtA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17543679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcau6aCRA9TVsSAnZWagAA/coP/1LMfFGuOETE5lOvkANo\nOqjcs/lwbMDOZPLI7zuwbxpSzvbPvdsy6vJdiuL5G71q8QJx+Vd5nFrxWX78\nxlq9nS/Tg0FiCAh7sD8xwAMVY2Zs1GhGKB7wPj25kHGYVzuHl+1fitbTZD0T\nlt4VKJQF5zwG7mz5MgVAyS2ke0vXxXoIqZh8ZgZ5c8qWfqglqo3C/EPeXb78\n+ssBVsEmowPgQtmmIbmgkClHMLUTBpdlt36YZEFrNN3xIdj68fs5Y/1VI3yp\nyVmTWc0p8gCwvdGN1aPMIrAJyDv7ll4uw17QCzXsa+J0gpFHLPGFHS2NRs8G\nMhYIaJlWnJ1hyYseG1QL0CYkHOkOCxZvB8mpfgaCqkposzqEudCjA+CeyMvu\neTXek8P0NDvdb1JXLnfwIjQarLTEuhJ4ArnRiPSEoqu+b3y+1yjjUgE2Nve2\nQD4hIh+FYUd5MmRaQqZztDME8/RmNjAw1m9fvc7r3udapdRim0Lcm0V45vt/\ntc4/4ks/vzQZNNtmVF8vXmXbaUhstdCH2D6+sw0z+XkqUFr4AGd8hhpoSUCh\nQZZZJvW0jV5IhYi5d0u058/wA4vaTI6GELy+bOaYnDaotYuKjiUCgYRWQzM4\nglNVah4yW8PCQEHw04pLAvzGi3ZkqDo5lDPxf40aUvTljWzh41BqOyCCXiYS\nvoOW\r\n=hfbK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/src/index.js","types":"lib/src/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"3cfbe3783c9d7a991538808ef994e654c23f521c","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"shuffledex","email":"federico@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.4.1","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"10.11.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-alpha.2_1550511769656_0.06931893403536349","host":"s3://npm-registry-packages"}},"2.1.0-alpha.3":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-alpha.3","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-alpha.3","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"f8da3478404516c1dba88ffe825a51972b95b6fe","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-alpha.3.tgz","fileCount":22,"integrity":"sha512-uDiWEXJAfF6auWKcUCnNCrBB/TDW9Vxrpy35B7mUCp3v3bUBZDjAlTaYFruWKyWu9CJnJhMOsFDBkWKO1gkG5g==","signatures":[{"sig":"MEYCIQC1pG8fBaT14tULZupEpvUEsdJ6oM4XGwz6ImHCAP/CFQIhAIaODEMpOmFLBeb8VmFles9l7yU28Y4XFeR7JnwdUMKV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17543671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcavpnCRA9TVsSAnZWagAA0mAP/jbjXElUN7RQnLsk4Sgv\nqra6P8N3NWT0lr6+KdfZ36KOSQptipeZND5y44dl3te2UIMkbkOREMs9hATD\ndpv3ZggrjCwZ0Jm1lgWxqluXLMus1fJ00a02ZPxWazse/hsAjE8HH9k9KH9G\nYQfGpqv1Nl0tyAL9TBN6YnNh5hG3cenREKYt3nyW83Fxk1PBJF68JEY+vaAD\n0XgXOz7PnN1dQbwFffEGBi/ork1u/yq2ZMQ5lB3jx7DE7kvBoXV4MxDbMGQm\n/ZEGiPpgrzV6x87A6LKFHtKQQVyH+3Ljjgqml+J6Z+ww4465RATd5c9ZilhN\nZHIkEYyhLHF8ongp41wkEbwoeJXQt166INQ1QkDaI6wbEQmixr80YZnoZai8\nZFj2TfaSTDUmdX+N4gStjNzvUnkoMoAiMlJJljoT6+j6ZcGRDHIDJMxMWpln\nt0nOHSPCbtBP3zntTYD4ZxAlmnj1T0C+VAq0QXwM1BeDnSBXTu8Pk3MNU9mV\nbgxSZC5vIHfzXyn9TxH4tMcPb4/ExaeJ7+8UtSj4mmbO2/LG3k0eF2oQN69j\nYEgE9qfLBAd/WqOgGslJNNYnDN7bJu1ourdOOrPqOoiCkhqTppHGfJjKV+nT\nPrOh7R9Ci2k3YOdGiGsbUwXFDI1M3iSkt3XB6SbrzBIJhlVcvhokj81msp+p\n35/i\r\n=dneF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"553ac45ddd0cc5fe0460fdd1f936146d7f6c47df","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"shuffledex","email":"federico@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.4.1","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"10.11.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-alpha.3_1550514790710_0.559314597380812","host":"s3://npm-registry-packages"}},"2.1.0-alpha.4":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-alpha.4","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-alpha.4","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"7fdaadc824da0f861792111d2da32c47cf682cae","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-alpha.4.tgz","fileCount":22,"integrity":"sha512-T88kwrdlTtmNksf6t55y8Crr3KEDw+EMHbIjWxPVMnbzWGDNq0QP99azzASujNEq2kD6YEdt3Cmq3bOZBVM1Wg==","signatures":[{"sig":"MEUCIEbHP3id0FwnEVXgXJOnrylnG2GkEuicVjLe9LWZE3VFAiEA6mr9sgEFCMYa15ZJoKlcFI2WIozhnH6slMp7GKCPKeM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17543862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcawIxCRA9TVsSAnZWagAA7o8P/3m5OezfktnLndD84mkx\nud7Btj3ws9Su/JsKlRDBJGGW3v5h8DUn4XW+bQZhh8jAyESGfAuyX5FpqSyC\n37tzIqSKL1p42epenHv1oeYvfo/1NfW4bkH5D7C4RqF6HRycY9fk8Zuux3Dz\njQqGN4xXepF0hFDos3Ncl89N/8cCkTEwv2TgCn1ScI+TmLedpRAtsvaM95xe\no4sTvsxgd7MEW1nUdmI7XJ1i/TeUna0iBZaRTw0uDPgcWk7x4c/qP8Mitci2\na9IJU7rPcWAtMvrhelYhG8eJk3T+pZjad/18zZ5Zys4ka0AvYW68R0TfphUt\nTnvHatIKW04wGIikzXE/0SvExxWf78cXa1Hz7izcK09NnICkqKh0zbaBhAd8\n0adE00pg7a9vXkFKHy7eCCk88yPU+T6Hg+H3l+tB+f2Dqr0x8q0yQ5IzK4Nj\nBcpdzpOhiP45brucgkJ+dAO1TuChdxmRg/DPRoLy7rEYLj2I07uWvN/ePBEM\ng5iUJe7kRriU/CqrXQ8ocSHjdevWigoueku4E2YzXuXmWEkIx/zcqX7gmqSs\n3hp+BPa874+1WCFZkLPzQmLYO0ienHEGW9VZdtof4G4YlRjY7QRgzbb12x1T\nCDAZjk8BDD+w+YafzhgpxU/BTW5x4RlaC90JWclWWE5vCQ8cbq0C4Uhp0vS8\nocRL\r\n=/M99\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"8621281130f24b4bbacffd5072aed04acd32b69a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"shuffledex","email":"federico@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.4.1","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"10.11.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-alpha.4_1550516785126_0.5558386164967939","host":"s3://npm-registry-packages"}},"2.1.0-alpha.7":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-alpha.7","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-alpha.7","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"445056d29b00ab3364ac6224fff264fbbcfd0a84","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-alpha.7.tgz","fileCount":20,"integrity":"sha512-3i1g/Df6VA1r/KkW9x4zxlUIGbkC3Jw12MoELGKvmA6pdqopM+lOm6nd9wrJ3AvJ8ErTx7549xArq4VGc9ECYw==","signatures":[{"sig":"MEQCIDuMllH5cOwLOMuzTjkc/cxOHPLrxQcvLPFtt7KDy1JeAiBNN2H+PfPhMsSo/zwMx3B37nw+nMeLpNU5TQ+k5xk+QA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17545757,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJca/NsCRA9TVsSAnZWagAAhWQP/20bKKPuoUcH/XNEDGbv\nl5s2HER1ET7pYJRN6B4ZD7cXQWifpUR2ulyJykxVexTXF5IZM+xqoYM7LQlZ\n1gGPVdPl9JCIRv8NOLXMP03oIM5CSEjOeEP1FY+5zUyW/GEBGW3JlnSiS6RM\nzLibk6k4bZxD0hqbTtWx68l/gtyk+kIk8mjohf4RrZFEvbfmI1xlLL7KjFK0\nQBpC5+PACpq2fDcrwkrnsYCCszP1XAN6UF6VA9XVDHmIQxf0bol5/nMKhaWC\nxux5ESU5hYYCNj5xfgHRX3r+V2QwmxClYWHvGZb2PhhKQOAPiGqiMwWIhKUF\n6Bk+V4OCtolcTLmNmA12MSazOYFs1sUTlGuXPapw/RaWkSoZy9F+vV7vnzvt\nXCyQJr7it8tNMeSb6iC5xK+cgiYo6I0fUZHiYsPj0AJOj517Cvnw/iTlKusl\n8J/V20uUG4DSQSkaAIJ49PUOxrx1dCtVpBMlXWe8U/fgu1xXhxz+fKjgeOZk\ni48/OxNANlzg7vxZ3h7mEJAm0mFKFWC7ElNWonybqEOK37/5U3Kpywj9oQTL\nhqffe7zUzESO+nwXapzZpg9VdVLhGy/M+7HjIq5bS0lOfG+v9oDja3d0Px0b\nE8K0SLcy5L8ms1tagbNdchZ9lEN6dZGGKxaK8CPXyfkDwehwxEmLfKWWVUk1\n9jWs\r\n=Jw4s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"c9f9eb2cb926b1d90e411ac60507908fb22ab37b","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"victorvicente","email":"victor.g.vicente@gmail.com"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"11.9.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-alpha.7_1550578539938_0.7905084619185996","host":"s3://npm-registry-packages"}},"2.1.0-beta.1":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.1","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.1","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c405972b0709c0da0bb4a17aed8f7e1a0dc3c297","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.1.tgz","fileCount":119,"integrity":"sha512-HIVqX53VnKxhvFXvjACID4skIfqlvrnDlCEna9H6StZgFzwfAtkNT+i5TtZL98VxYSE3aAR7GiC7CPvpJ9OQHw==","signatures":[{"sig":"MEUCIQCDEMpslGm3z9VqPoeeIKth6ehJlTohvAELQBX9MoVo6wIgRdcV+1m6t73D8wew0fgiuO8Gz764Droil02+79kV6sE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19522418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbW/FCRA9TVsSAnZWagAAKYAQAJlRrHBAmMzz91Val+u5\nfEsYpspmyNYYeSaWiG7mn9MaQworwzT6o1Goe42KIrhuuVgZR3vufrr3dYfF\n38CzyDyqKxoGNsSUUsaCmS8jtW0igUQDk2VpS+CZIXTnSdFw1fB6v7hBgEbB\npoUSlFauiCbp2h6UpCuwDUHWn/MQf2EhWl6StoC2/6oAM/D9NZag1SsRdzbd\nT7WRBIkcD1kvYp/GoX/bsy6HkZxzbp1FVBTryTYFRh6Bj1UdQQ+cCABrikiA\nMorQRFGpN4hz4n2iIIbsiOIuwxZImPUgiwOcKr6//U8DkFeax2vyE7Um29q4\n2wrsRvd8W9aRa7HWP5mHRxoRoelbz0bN9y9CRn2lGIKwWbbpVAkOQXNHIF+K\n91yuvBfmod5UBjq5pF7HK/JnInlbS00E+iV9oE0mxYNmXAGAtyAmb3HJKEgj\no2CubhTTN7s9d8Zbk9YVoCQU0bRkY1L9F5Ati/Du9m5rQtfRfD291PrnOd3Q\nQiJDlEsaPYM9zIUf/C8It57ruck0HWaxV43nB7DjRiViZP0kwiDCSVOwpQ54\nqKoEcusjFBONMuFZsNhVcOgz1zXYan++6o+fGPi4jISJe0GHxoby6II6HMb+\n0qSjnHvhjNBPLGvsJzrxGnCMaO8W7aL1/LRyNSZldYnxeSEz1d0pMLCstEbp\nMFEl\r\n=FnS9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"6dbbcf7316f179009d3d3d527686e7717f4d5069","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"victorvicente","email":"victor.g.vicente@gmail.com"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"11.9.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.1_1550675908718_0.9525176681747076","host":"s3://npm-registry-packages"}},"2.1.0-beta.2":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.2","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.2","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"2b97d714fdcddeefbdfa042921e5f04d25efa918","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.2.tgz","fileCount":119,"integrity":"sha512-WhaJs07u0a60EALrUGJAhXN2T4DELG8S51x1OQbdi/0dgJwAInJs4Sjcs1X+gxNRGOVQta1AHqzthc6fGgHIMw==","signatures":[{"sig":"MEUCIFSxgvmHEaCoDuuF710QZv4WnJwrUXhBLoVQSsAnsZYdAiEAhaxUhOADPMo3yCm8Ab/6yptqV/mQ2ozIESmMIguNtqM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19539399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbXIECRA9TVsSAnZWagAAHXEP/0uVl5xRgRr/Qfvt/J+J\njliXCCakWep7puqnjd+jiSRY9ob/MakN1eTCoaLLHKGHxv3ZIJpbXGMjacWk\nmwuL0FlqVz5dgUXHs8H+pF4vmsybdrLxRA9XkEpSdIFRCFfBshWBkHT9zDNK\nC6kAJfoPm+Fhm15M89NiqWZRk12hAbbxjjt3YfvQFoNDiTrONMZdhqzha+sn\nNiUrO30pGg4U+ZxadX0ytwgsjzdtu001J1h9ZnZqC0a2JQ5qyzTVPvoNN36r\nyS+qR8XO5/LcgG1mcS7lcZNdSlJaknyx8UWNYbnnF0eHdbsYFlXqUYEN0Rve\nzkksQB7D0QW7gwpTHM8tLBnEmpRaDM3tD0gUmGDI4sQrc/wv4MpYATZVxr7e\nIG1mUZR0U45yxPZE0jmTBzb1dxGpMJifKe4Uoq/099dEBy8q6/TZ0rhhAdbx\neYBfVGOX2r0hA10VCzvg2WZlj+AcpDm28yUoz9f8h2Jnx8aZjGe7DGeOstof\n6ugiJbscW6rjh3/bRP0ztXf6iuBDWhwmLoR39+dKCOCMAhdKMrEwCoU4R3TO\nUH6Bqt9lUxHHpASLs3BqyF7k00PGWI8GIkhe20/sVfl1QVE8gPtrqEUN1QTd\nA4pGiGQpOQlpKg3ppMltnYbOIdpTrPefztOog/xa7aVbU5fD0pSWtysECZu/\nHtwk\r\n=aw7T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"6dbbcf7316f179009d3d3d527686e7717f4d5069","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"victorvicente","email":"victor.g.vicente@gmail.com"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"11.9.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.2_1550676484336_0.4219374353019434","host":"s3://npm-registry-packages"}},"2.1.0-beta.3":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.3","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.3","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"bshevchenko","email":"bshevchenkoweb@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"0b6cf9582bd3ff14ae54a2bf75066c2c59a6fbda","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.3.tgz","fileCount":123,"integrity":"sha512-HHh9gRJ3V/tJ3YmmWGVaV4MFLQh8cXXOc3Mqayd6DGzVxW8or8z9AJLEe3IHQzCtfRmun624UUR+8g7sgUqMsQ==","signatures":[{"sig":"MEUCIDlRXw0qwZsEEGDfw8fBKHq+nzmPRCameZDzVTyOg2ljAiEAuEqdhQLVCNWXobLFZ0Dr0Ewgb/NAr2R8OM4WBpFUGho=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19550422,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccFxpCRA9TVsSAnZWagAAMogP/3djmY8E7qlKR7sL5dgC\nIig4ZZil5x+vGlao8l/UysB7g3Coo+DwMfdIeV3NyGlz2u9GL8m1VlIRcAu5\nZe5zemGu1+69OdzmibH2c92G770zIcKMXLUL9jxtM52pAdZJhFU/82fgU4+J\nAW5HOIy9QA4ESusQty3ZDT4/LlqPsjNUxXtWIwftVGastwpCT2lXyqUlegyG\nW2LLTiE3Xd9l+7yH8ssGL0QWH4t1q+e0jTml8El/61B7UFogYgEK9pG3WnJT\nz1m/jmWhoxjKcWdGE6u4csATvm5iebD6w7G9Cp2GDEZprKA9FsAvNBEWj7yA\ns22uhcYXNlu4sFhr2YuMmLOhWJiXAF/3mQbituq5aP9gVKdiGZ12DjbMlB55\nm4BI0kKCjCSb/5TJyx8ZgZqP0dEw9WEUUXwRaH+rZRa1G51KUhC705qI6HPq\n/AQUg6Bir5y4y4UZ5EPdWtO4DL9J9vft+/BC1F4A95cTg972jThzK7/DvgKK\nAL1S00DuMVcjB+6hkFpVjFjZ0wE9Xj7n7UapK5tVwImnGEyft/cfpoSvmkYD\nb/1QWT/P4Xzqa4ycrTjY0I546HXVp59fghd7GLkeslg5CW0d6YjHBBbyrFzr\nx+adDZNwvgyzTeX2egvxQ3bFuH5wjUuge/lxSdeRqFEt2CKJ4R1un8T3ohdV\nX71o\r\n=2BtY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"7a8957d706e400ae7c31a1b855a9379971446f6a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"tslint --format stylish --project . --exclude **/lib/**/*","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build"},"_npmUser":{"name":"victorvicente","email":"victor.g.vicente@gmail.com"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"_nodeVersion":"11.9.0","dependencies":{"lodash":"^4.17.5","@0x/types":"^1.5.0","@0x/utils":"^2.1.1","@0x/assert":"^1.0.21","ethereum-types":"^1.1.4","@0x/json-schemas":"^2.1.5","@0x/subproviders":"^2.1.11","@0x/web3-wrapper":"^3.2.2","@0x/typescript-typings":"^3.0.6","@polymathnetwork/abi-wrappers":"2.1.0-beta","@polymathnetwork/contract-artifacts":"2.1.0-beta.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","tslint":"5.11.0","typedoc":"0.13.0","webpack":"^4.28.4","typescript":"3.2.2","@types/node":"*","@types/web3":"^1.0.14","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","awesome-typescript-loader":"^5.2.1","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.3_1550867560884_0.1838237903888471","host":"s3://npm-registry-packages"}},"2.1.0-beta.4":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.4","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.4","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"fe5484b04025be203e0cfda50d3c988dbee7486e","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.4.tgz","fileCount":146,"integrity":"sha512-LUwp63k2vTNu2Ld0lCn4u/ToAqugfEZwevO2onXWQinHtvH9eDk6zxhxiidoi0IezrZtc8HoUec2UOnK0fSGmg==","signatures":[{"sig":"MEUCIC6mcFruyrjCNtXpRRt1XH5tEFbMM5R+GIT+dc5rrHk8AiEA9OBEgHkpkKDwNIN+9vyGIUZ3MbqIxeOhP6PP+fqkzwk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2914399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdC41xCRA9TVsSAnZWagAA3tIP/2Lf94GPcuYMrAGcnyj0\nOh151a2/DWt+vYNAU83oAQXRDN4Ji6y0OioOS40wOLuOPqFnHBdQGRVQGpX6\nREFMgmvVDYZNg6RFirtSZYnzYjZsbmoHGgbPiduvkb4d+0C0lavSK86TN/oI\ndBEmBtnjSTGYbWkd/GLiGOvckU9LK60a18+AFLOEyu7XaS4IxUG4tKIdbysB\nFb8Azq1MfBJkqiC08XP5HdTXYxM0sLyZFxKmMhYm/Nb5D/EKnNJQk92qEwS1\nz0rDrGQ1YE6z91ptP7NLoltnH6gARbAAJSiZGFf/CIHmmx+gZ4SFZ1FR2pJB\n4lTtas1KUwxB8PsyHgNCYeiBahYKK29Cm7r6ZbYEEQKYHvE/rfk5lICH/UCg\nfCifXfX8h2Os5Rh9kKSWrVVpNIUmn5vvGw3ryhLIu5xA4tePdTdJ80YDUct0\n78175ctw36GcnajltcRDr+ABI3oFp/Dc10Lvv0pguyScD9QMGGVSw3YH0puc\nnoHn/vuXOKQBItF5KvBexWnxFBX92x/0J5IGjrcToeOTmU1+aJVtGRuHXpQP\nLjrqhBwwuQrwf9SngKjk9Nt+yQXk6aKJrfltAsuUgZEvsds3WbLVqL0xQMoM\nuFUkZzVa5XmbkS2K/SFa2rUEd8XtfbosVJ/opiBWwzw901gpAvqouJSwNJz1\nb8QS\r\n=KmyV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"75a9f15b3bb046659a3553e75f63ced8cefa0e94","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.9.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"^2.1.0-beta.13","@polymathnetwork/contract-artifacts":"^2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":">=1","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","web3-provider-engine":"14.0.6","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.4_1561038192618_0.003273117345624188","host":"s3://npm-registry-packages"}},"2.1.0-beta.5":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.5","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.5","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"b2873efb9c2b43a81a94c21c2c78141877c11693","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.5.tgz","fileCount":186,"integrity":"sha512-8uLhTmdszbT4k4JUfAEIlqubUBGXnplq217IgFdC5g8M/O4klPEZ/VHys1C7J6PpCrxEx9s6IImidI+DMpjEmw==","signatures":[{"sig":"MEUCIQDxkcZeN/3grc+YAcO9DBrvUlrtgS47iJ7iZjsglfn6hgIgZI8iUV+sHBkiVfEAR8HfBDzjpe++41TNAAsZp9UkNBo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12170840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHXRwCRA9TVsSAnZWagAAiaQP/jQiM8fj+1uzAstA/kPX\nBjnNpMdjJwRzKFs1023YgMGnF2Iy4HFRaMG3P/3K+wY5JMPbEyTMEW0ewEfW\nua3rt5JoCIxBtuBRJoxwJkih0d/h1XmuHYDT/0xlrU8r0UEsvNAWz3V7f/5b\noUZfznP/w6LAHwL/iaIBbyP53GP5HeyN7Cr6JKkpy8VVAjs372v8gnjDUJrg\n+H2Rw8rr8eFa4s+plJiOHjufYFrkb4crffzDj/YxPW/QYOy2RsqxBlA3Iye/\n7B3MxUqK0xBtVlWgdnPL8zgQq3DzMkREqiM478HwzGFferej5WmtqN5MLLHr\nXX8BBddNjzUzHZ4tj+Yxh4oUNWVbdTvrKQkX7NEW2NuyxbfV7yc342xs85XL\nOEZ9YD0xpF4pZ8s49q5Y8MWG8XDmnSZFP5SWipfb+eEYHiXwYDbvdy5jKxra\ntrLsWmBXqPusqWf2MySzZTWWzG7N8etqPao9j0TSfE+91+2xHmA03XHhebpy\n1nweZEUxwvkvhx33YdXEFcc9gPn4tfLropP8XSJXwAh4NHPdIILb5EFsHy6J\nYYXT7TuSYO7+ubX+7KATFlSpGeLOAHrSxpBYb1FdhCg9gRazzs0rcB6Thxvp\ndX9DozSDKieeUaG0EIVK1Td3hDJ4qOk6eH6r47hYc0Q/aVOQBig1fbrO6FB3\nV6Tg\r\n=8Eow\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"lib/index.d.ts","engines":{"node":">=6.0.0"},"gitHead":"d0ce417dc252f87ebc93f9b7b1b2db7ae9adff2b","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"5.6.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"8.10.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"^2.1.0-beta.13","@polymathnetwork/contract-artifacts":"^2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":">=1","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","web3-provider-engine":"14.0.6","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.5_1562211440009_0.4461272454990195","host":"s3://npm-registry-packages"}},"2.1.0-beta.6":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.6","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.6","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"9a5effbe40c52e4694c3b2e72e8b26701e881011","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.6.tgz","fileCount":186,"integrity":"sha512-+xaf0dBt9fuz01KyW5T6e6xgqxKcMy/yr5Qvm2TwkLiB8N6VbqL5CCluUqM80+xKDyyWYGv6JY84Mhac+xvErw==","signatures":[{"sig":"MEUCIFzy58zKANJEUHsQSVd6O9A51SXZ2BvzAXoSTwD9FpYkAiEAtCXVx2LexWVfNFa4zHvSpEdCDOETHoWVcDIkahXg82Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12172146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdH5MDCRA9TVsSAnZWagAAsf4P/jZWikOb1pj3BDGI5lhl\nbwL5zphRoRk4amxURyXb982GsTs45oAtkdJB0E6gA5a7xkXvJoB9pGDWq6sv\n93T3iaHHtJz6g5IqByxOy3CDkZ+osEasOHPLIbn6cv3/pu8VooG9mxVZoVL+\n+9oJNN6rAO8FwKp47R4FEP/s8SU6L5NFusRmRTjWMIUmCViU4Mn2gvWA/sJi\n515fuow1blMmyfPLWea4O/mtQYpBYf4265Anclxnw9uZIE8A0MdAmikUmiiO\nphbjp88xmHe+QWm5BgLD9JIe/sZ5l6qhEuREwXkw3Q/kAZDfQAX22J/EzwEJ\nNY7HdG4p+R2c11mZR3uPviXMYOP9BzM+a/w6slK3nDTPS36Za4Au421t4F6V\npeagSC0svbfmtG/6CwoN04t3pGsXuPUGMe+uac0s5ZqEZVNICyF0B4pH8RSs\nDsfhCTB9diCLkDymmc5TZhLchVGfSC6uWMPmDHIEIG+kNxKy3tthX01ezSVc\nlFxk3zuesAeJ/SZ3c31bkHzv2FEiZYwyabfv1sz3jKkw+sUVany0GAQnIlqk\nxJkRrjX6R3qu+kHUkiokHL5YNGyGJDQJv2/nEFj8yWH1hhJzWY4R4vwT+4BZ\n46UcMkDQCT1HMB0NtGni/VUxMXlWL6mjxtH4HPoWudQUycjKj29tub4yccpB\nG3TF\r\n=90Jd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"lib/index.d.ts","readme":"## @polymathnetwork/contract-wrappers\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\n** Pending, should run a prepublish script on CI or use Semantic Releases**\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"4bb0312675cc367ad444417599b7bef36a70d7e5","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"5.6.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"8.10.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":">=1","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","web3-provider-engine":"14.0.6","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.6_1562350338880_0.7968382492150503","host":"s3://npm-registry-packages"}},"2.1.0-beta.7":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.7","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.7","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"d70a5e91681130b844b91ee33f21222811f17fc8","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.7.tgz","fileCount":40,"integrity":"sha512-L769cRbvsL+ldlKt21V+oY1zQFxdlNchHgrxMwshb8Q+opy+MDA6aNywoCfOkFAGO1BZ8bj0nrnAAFu6vZtIJw==","signatures":[{"sig":"MEUCIQDI/4miJKJ5c2fxLpMxkivhx8r94Kc50LqNTdkSxCeRLgIgYxtP3iYrpDy5Eu9brA5U+ifghjxyZpqmMDXr9V3mJ+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8822948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdI3POCRA9TVsSAnZWagAAtiMP/26K2KPhsMY6IZZXLPxg\nXJot53MfiQ00wXwu6fXCz/9C9z4cNrwwcNnoMuBNPVlG3nQg8MVCS3jNiomq\nDaISG/0i5gHYlsT3sfGOlPdkx/ECuetW87pTmLrYPpV/WBd8byG+hy6dkKmP\nlFEhVSYV6gB/h6JnTVuELcGcH7OvQ6jjsNXQv0HwaUwH5Gy4dRdh9H8l/t9Q\n/YUcOTkUZFPfKryp13ctFua20VIu0gWD7wGKwH+M2iHSAzf4gm7RrEbZgIU3\nN685KAojIfsz3lnOKwuRsNw2YKAVCPQ56cjZ8B1G++mD2P3o1hpxhfIITTCF\ncUZzm/Lh2AHv2qAGgergV/AQ3Jl6nTPL4VJl+WV73fo2lbCeyOAGbDF8TBFj\neUPbiKSDJWsQNZgABMwvWalzrtVmxJ+udR8V85KMceWIB+zoo0ZzHwUTvgga\n+LoPVjAUcwGSxfJcptVxhpdIfDIAo3iSUkNa+Tm2+qA/PTEls7FFEgntqHsx\nnlTYERn3tiMXB7FJ/Zx7BfLl/sIAF6OLtG7fqd3zRT64cikCq8XxXIsMds2d\nMufX3wxkTobvFNOXRswsbK4+IMZ4QDbYx5jCg8yIGGhPAigYP/TFCujdX2CW\nMY7lgEsm2aHfjLIAbhQNfJ44ygUwBQ57CEYHnNeFl62hAiJkFsPBZuopWW2s\nyvq4\r\n=FAyi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"lib/index.d.ts","readme":"## @polymathnetwork/contract-wrappers\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\n** Pending, should run a prepublish script on CI or use Semantic Releases**\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"bed79cb6b3a6a226b6e1c6407dddd0e2e68266db","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"5.6.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"8.10.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":">=1","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","web3-provider-engine":"14.0.6","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.7_1562604494039_0.9321171192825817","host":"s3://npm-registry-packages"}},"2.1.0-beta.8":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.8","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.8","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"ca8c69bf7ecb0a98b8849a2fc96cfe8e38ef86c7","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.8.tgz","fileCount":40,"integrity":"sha512-5pGGULSMPPegX5xRuk96Afo8bqaTcR/KLi6CqkTW6IYu7BgvrMte4GDyZuNQ01Ay0TzdeaPCE5Gxenbvioo+bQ==","signatures":[{"sig":"MEUCIQCJnxKP2RETPjMaBdpEh4Xq7OMWmNYqZj7F5rLNVQNM9wIgdrP4rW6cG3pmupKT/e+gY/HfeGsmUbQ4aEAgjy9UC4o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8826196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdI34jCRA9TVsSAnZWagAAl2UP/00rWCa+u3PXhaWr5NuV\ngJ2lUYXS5eEDsFt/nzPUxaNwYC8f8xB7gwbr1+Z6Qum2YW5CzcjRLS78kJQ3\nVRhbRXspwXV5OXxdwwMCTnr1aF7b8Q6F3VFuw86RwR3XZpB++FVV6e2wt2pn\nCAq2IqGXjCp9WLsll3EG1Pgygj5hj4OZggJfFD9yqoo7Rwoog+HgUeDJlY/X\nuPY/zWWMJVFMC7FmBURmL7hOVffww7ruPLLIdQp+iSG39uhA5hfX1eryu4Hj\nL9JW1OLyX5FVeS4pHvUHat2+8S5vTRd78Ppp8odver2ZsBb+eJ0DMi7Y32MD\nk1/v3Bgp7iTPGZATQi23pqiAWZRTKZmSwyY8cH6OiYpGQCHs7ZuMk9EqgoJC\nbqwvgTF4Msccmkf0FujO5cLEM2FjjmaVrjaEugaHaoKp2D9ohwWOPFxdz8L4\nGN1uRHGfAqxs/QSwT9Yz0kuXroJ+r9yj+SR21zDX1UwjnY+lnl+aRitJfyeY\nDfJrBsa2FvyNujXfLAao4i5Ktb7fz+wdXLwMtU+rqkJAilIcVl3RNK8BjlhA\n4XkZkyKW5IgTv2Am+KTquUAk1CfGchSBdzHTOI/ZCL9GcoZNHjiVCjhTRsUG\nagL6p8asQFrMZ+UvlsNi2bpnUQK8k9uelSC7Sh+4btktnpDKahUpeFl61oqW\nmmDO\r\n=XMzv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"pre-commit":"lint-staged"}},"types":"lib/index.d.ts","readme":"## @polymathnetwork/contract-wrappers\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\n** Pending, should run a prepublish script on CI or use Semantic Releases**\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"7bef67eeaf88a2101e07774b71009cda3a378cec","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"5.6.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"8.10.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":">=1","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","web3-provider-engine":"14.0.6","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.8_1562607138762_0.9916655902791687","host":"s3://npm-registry-packages"}},"1.0.0-beta.1":{"name":"@polymathnetwork/contract-wrappers","version":"1.0.0-beta.1","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@1.0.0-beta.1","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"53930bf8129d3acc52670fdbd89329a185f32f67","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-1.0.0-beta.1.tgz","fileCount":2,"integrity":"sha512-prxrw/L6pQ3ZviATP3E/AR0rzFa71WUXaJN2HLKjjoO5/N5YhoF3QM45SQUntG4P6l3czln/HUtCW9jbV34l2A==","signatures":[{"sig":"MEUCIHEQYLarRssHRht5by3S2leXYLMFDLIRZPt19Z9M19n7AiEA8bV8q4cVp50bW75sMPkiuyIMHQTFQYc0QI+eiY83bSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJdvVCRA9TVsSAnZWagAALxAP+wfObBtyXzvdUAZOJO20\nzFsbnd4JmTCEDSK/ZOa1YcTtebUnX/wZo9fItMbgTYHxlZ2ganDD45p6DL0S\n6FwbUuEQm2YcYXcqIUy/kcmeaklBMitJLLwi2PldLqrSxAtb+sw3GBxJZpeu\nbUV+E7ZkrE7Zov0StI45j86Xf3EmyKq5Kma31gxl7LimlDm6daJ+LYGttHZE\n1hFDZHzUxcBXx09Ib++Zl3P8XHjK+lzoZogRjizfxtNnde4e8UlPzghlu/RI\nHEI2iW1ZVArdh6OC7HuY+SO4YPMQc9N/0xez/SYY78CJxRxN+Mf8d20e2XXF\nQ7UxKFhCp2N52upLEX8ESSMMN2EicQLXSzIIw97mx6ZkxxtO2VeG4LS3OwBK\nT7U73ymov+2HSixgUBFm++9ti923DLyDvWpGpka/Ex30kD3TG99JMhNLZ2kO\na2W6QlRRXFGPY8QM1HuFRyOXvtZuvxhNfncT5b1JJa+22MFNkm+HQ8zxBFf+\naYFkwLQ9XhTAFAd2i4xvQL6wF+dVfwRS+KUEUmo0tUJKXT7Of46zBplpVc2P\n4ywpVqqlF5nxMRdlHO+naT+lrXbE16D2JMY9sXUj1Bgc0UBlDGUcO4Hy1WPG\nsHJfqWI7lsPvE0w6KWKQ7hHWUamNmxTkr395kQKLWL9byzZbtOr8TAEsNThs\ngQHc\r\n=5fXo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\n** Pending description of conventional commits and semantic release**\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"4318d0c559c129595203c391d9e557b72b23e57c","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_1.0.0-beta.1_1562762196376_0.9923187840290806","host":"s3://npm-registry-packages"}},"2.1.0-beta.10":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.10","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.10","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"92a04733e5f20721f855de983ec792039bd1f34d","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.10.tgz","fileCount":2,"integrity":"sha512-lHIUZI3Nd7IJnP8AXJiywW/wrIrxrUcUN/5VPki2QuSAA1WFQJAcdM/VigJVN0gDP67qAim1NKLk+tGhEp8teQ==","signatures":[{"sig":"MEYCIQDW6jlO6jn7HLE2d/CYxJOvqWGldPx8Y+hNaemmng0fVAIhALvH9bPNxji9v7llItLTXbtSjWteQlFUJdlTkJH7z62o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9481,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJeQwCRA9TVsSAnZWagAAYncP/3w8vg52865eOViuQ7+h\nbLRE80VoE3CaskPHUma1oXc8dd51iUSToCJVCnSXz4w7tgQZZGdPo7DDxZbS\njtN6n+8qNLbB9EVxQuAmfMmy2rSMLOqnOsOWClAyR4Tkeq2pa+v6jHoO3F68\nNVHKJcljCrGIpQKYRnPDn2Cxcis4kRLhiADO2ZB8lj4Bh/kvg0NnSTztkjtE\nK//U92GyQZD0FhGh+uq+ELYpoHMex3AxA3X9t1/eQQhpmf57rYGuYEa1f5yc\nWT0p+qJhChoiHlIbDRnm+5u4pduKodu75wgzFktc3HQM6UakmDKuCT5AOFhH\nQ2K7B3tvTgUsDEOS8L57+YvT81nBXGKoCF4xSCXp2UOmcja8I96ezxz+aduC\nVGTozQiKCXFMB+22qN4163Oh+R3Op9n8v5UYLOirQ7WMTrZngfRSisEd/z82\nONQqsG2bIwbt4mabzVWWoE6neENbU36dyJ92++qA/YaGNypf6+1Mbzu6Y88a\nFgwR9JXqF84AN/9yMt6kUNiTcuWj4b5yU0+p5tmHl7i7UJ5zSNc/Or/ph66d\n4ilTqB0LT6sR4bDMo94YjnzDiXIZFR/naIwU7RnadaCDiL020YXWt8qbD6Ff\nmhRUVq+xqPlnkbZxen6W+qQPLPb+q5F1ZVqylxMhdMCVnWm95nTxXrL/HgPZ\nIIDu\r\n=KD7h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\n** Pending description of conventional commits and semantic release **\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"1fa7e2b658fe093763933c015b43520ca51d2aea","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.10_1562764336399_0.39017651189605007","host":"s3://npm-registry-packages"}},"2.1.0-beta.11":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.11","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.11","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"0d442445b73fa06c99596125a259307f99a2369c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.11.tgz","fileCount":2,"integrity":"sha512-SCE493yadBeaFPS1dFWy0fgT3qXR12kTtjz1WvcIwYWug6CYS5uUwWbeyFw9pjCXlwKc8zg4KRjtG5OcIV9j8A==","signatures":[{"sig":"MEUCIQDhNjrI3qExzmONUxXhpSWgSx1kYP5hEbptJ7LMyoZwMwIgS1TtuckPvhs05Y2eTNIiIe4fh5UhKc33Mbcw3oOQrsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJgt6CRA9TVsSAnZWagAA+uYP/3jDj0MusMFvsWVbLuJ7\n+3L1di77dAihqSBqXWKokFxLrPSviCY/SbciU70NFoHGJKE4QYCJzNM/AXI5\nfaZYAzGU2/r4cvIjhcMdr8lvXe3mwmjBSshqG9kKr95kBfdn8bc1H0nSWHON\nWlRvczwKu+PR0k9BINSmoEFAu/QTDU+m45jLXvDtyQVPi9grcRsA02HWDWDy\nQNh8E75ArZPFrppsqgLXorAOmEHJfPNQn6B770D6WaNQIwcCxrze+KOvKcvw\nFSKn4j0xgsC9aqNJlJO9od+GpBMvFk93dip0L7bN2aRjPmcBnnMQDekbOeVq\ngkYv6ulKl3K1XM4FJiBsEmFfWAVmMRfNM4EdgqE6y4XawnIgB6fm4m+al7Wp\ntdgJjlMiD+JrSrlIQNORlrcXtawbsOpgBiEqoPsLEThxCj7oLD5ZDEIhfdyL\nmyJutOtwA9LHFDPJ39yk1ip45oEbOBUNC22a2i9x0c3r/rNWnC9LVuRRchxE\n059u7GOpAxYDG61iJ0OzkBV/dymEZCKBOyslfZpRE2RcyALwXy8oOf76phi7\nWJwvJNWaqXlFJFiMxyTf9r9En9vNy8D0z3NgCLVidxRG4zMjhlxvO2dNNF4w\nN3+wldSEnQiVIUaEeIN7S0XKINc5/rlVmdjvKySQIE6l+lQV5bLuARVZkGPT\nSCqE\r\n=8HG8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\n** Pending description of conventional commits and semantic release **\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"dd5429da71023476460166f4af1ea4e42e327821","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.11_1562774394199_0.4924498671629338","host":"s3://npm-registry-packages"}},"2.1.0-beta.12":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.12","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.12","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"af3b42f49358e63b3ba7c2fbf14909b401f71d0d","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.12.tgz","fileCount":40,"integrity":"sha512-Bs+IDsj1U7XqTJ7Og4gsfhph29fMaT//999c6JQFNE/RU91gobGoooGzGTLi57hUfgjBC4PZRijShrulFVVSBw==","signatures":[{"sig":"MEQCIGc9UDM5w0Dysf5ySGRzegbJYLWpb3MZp5tTnhe0omcaAiAWkf5MVaJ0aScNs8h2RWTb6WrToBl1XF1Z9W0buyEQrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8828091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJsWVCRA9TVsSAnZWagAA3WwP/3GFZjOnYExKk1sdZs02\nUx02It3c8Sizx4pG8lo3Qf3ny8oXaT5jX+Ffq41erRgmRuBIhAgnDqpEUTH2\n67XiEMb1ur5pQcFZdaF86m6r78zkOorGgTsqMUz8G3ZeIwsB9VkHBi2V502V\nRFwM5qinbM16Ks77uj44kM3BxyO9oUL2sYTAVo2oIe3DmU13LSmt772JI4fB\n/o2H+KFzdsDkKWfplveXOwBbwlEtearg+oAMEso3XROMZQtT+vi1xdf5yvD+\nxE7gjxlBFMLYNunbd+iJk3EoPiazK8LH+rK+SMHAJlAkX79Vt0vYrorJWpOT\nbsdPFgvc5YzA291nReeQV/QFTAG30HeEfL2rVOknmfXmBfjWpUtpXVLgH3vl\nW9ynY6tOf/jzY5iTZ0i+HrMVamzc+a4WrPD4NPAzC3i3lEbojeRD4Pi9kPgq\nAs5hZ/YSkhvsRceYnRrWNMyYMAWQyUw9yLVgivbvr+EVKTXN0UaPZ5vWFLja\nad7UkScdmq4mwkUNxYepWAL18YjejW7H2smog71v8t7GP+e7nI/WORXwg0K/\nGBuvIQcr/SWtl7Cs4+D+jHYCCoS3FEtQ5JN9eMCZif9xxa/1YJJzNmvIDa3Y\nO8blPfTL5q1en6URehcXfGXaBXwvRLT4l60hhEfhnWh/0WhfHjMSSVtTJh3I\ngSmQ\r\n=kAmq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 2.1.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"60b3dcbd74abcd985ea04eeabf4dbcf29941c51c","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.12_1562822036136_0.7316937763099369","host":"s3://npm-registry-packages"}},"2.1.0-beta.13":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.13","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.13","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"b82129b07e4eeda558cb6b591221613e82d4add0","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.13.tgz","fileCount":40,"integrity":"sha512-bjfxF85JiQqO0CfY5O4cdevoWn+7/4k5W6nNN8mbqvY6qVYYKtt6lRKB8z3k2qOayJw+BblzTvPCfXUNS3nkoQ==","signatures":[{"sig":"MEUCIQD6xZS8LVNutlcOkxZKll6lUh4D0Fj69f4hW1ElnC/FdgIgLZ5+nHdX6cxi2WPRCZtGJHXfnpJqppBQpDf7A90h7K4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8786820,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMO+4CRA9TVsSAnZWagAAa3AQAKQHuleeVbIk2IkJpjxy\nKW+cXKv/CTW4N/5fJ8kbjdXGKrmZeyJITd0o2voq7HbUOrparqSXz91M5EQd\nWtvvE8NgDlUTFKtovHxH9ICICD+5pLaScvt9R+uSmKC9L/8IHWFtRB/S4ICm\n4OpUClJfK7j1TH70VSklESgRkWapk4BTjRZTWt7lGh62obk5KfVthIgGfkkU\n5Kl0+c2erHx30jkjwRcBG8wdfDNYo3aLvPP7lQPayy8R81wiiiwlURAP3rlK\n67EHGRFsLb2ed5VwQysidbUxop3UNMiFBJTq2Oal+m29toEZy4e8j+iJualz\nJME7wJ3k8xqyCiaNHDESbht9f+PnHkdkrZXnPXCpgA3NmqaYo3b3C4CjsjyO\nPwsgB2dlSLDDIqCvjH3t3hjw5Pz0DPHnyV52cI2KMdAXQRXZGtL1ROmpS5vV\n1Rg4rtaw6szYabNRZH3Xz9aKRCHVM5SDjYFQ+lXZ6UAPnGji9EBBqqdmppmP\nzoKY+u4X7g+obm7rvovimStxaGbUObctsBEBNDFXwFRQ87Z2ByvdWxxzg3pm\nGznSeZegedYv8HqeU3Kmark8eN5QsepFoeSizv5EyHdQFcD1EZct/6kjFD8M\n7v4mezhnqNnFGUGOLmPdPRSdtcM6ew+vc+LSWfUQ16dU1OXZVFpAKBmWmyyY\nprLf\r\n=ksdq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 2.1.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"e0069a63c694c4cfa5cf09c241e8f382253604c9","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.13_1563488183321_0.13706605391361815","host":"s3://npm-registry-packages"}},"2.1.0-beta.14":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.14","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.14","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"9e8c6a803def15c9220a900948298ab1f977a3f7","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.14.tgz","fileCount":40,"integrity":"sha512-vpYFkhThaeqWfX9MRshs4+zuK93r5R1RlZCxTSxid5jkWnnWnCy/Vs+mub8dYsjxBE9Xl9iKvkbGYisPuChyhA==","signatures":[{"sig":"MEQCIElrAIQEdxXtJlDvsuyCo2lpo5aLQB+uJOBxtqTxeFWrAiB8AEwf0cYSwelZjIV3sWOr/+Mv/DAuN10Ph+r8fIXjyw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8787000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNkbNCRA9TVsSAnZWagAAygUP/1gYTJFL11f42qH6xMa4\nnd0Zl7V9y2CtAOsOXQ0NTHC9bJx521uky7bkC8OOjAU8Xs3D13nE4njkM4e4\na58AKR+jviXl4y12jxp6fFSiDgFpjJvbkoF2Lc/z4W82h8sbpOnT6uHQjMsf\nVQGYc0UNcHH/lUOSEHeLEmyaLnrSguuAPzmEwI5fz+zMHk+2/5aKS+VzF098\nWs0WnpXv0VTWG2qj5tKZvlFx+SY9V5RsE6OZ3lxp9RfT/0lr7rmPrMrMbmZB\njY5/9RnyCfXkRoYmZrUpv1abNVCKgiEfWoQ4G1ocWhlVbQJRTPhJAF5UOpiY\nLVTfEOpofy5eb1y4SamiOQkpsqv7dI8ZMU41werMIuBXGXxpsPvq8ES6Tq1M\nMMmCpbzPv1RySnU+eAFeEIIuUOluLg76tlEo4YQa1Qv2dVtL1SXHhTC72qTV\nXwbLhWY4wcRrd9tsG8SfrRW6iPZZB1pssGtUNvS/5CZbpKyNJ3szI1HaqZpZ\nPP8tVricRb5gkcuy7X8RQ4FXFcm7jbS+txYGakGt0QuS5OFWImnbr1uQPffB\nrzSae+wGM8UMHaOzzHtBPtxXzTbp9VibG1cpzPN9iAS2QmxByCYUxQ2x1Ydz\nLV+8wmuFB3OVqS5rkhqcwU/BvCACeFvShvYLOtiIjCNLsgOSE1sJdvFfPHNu\nNOHE\r\n=t4yb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 2.1.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"258be3f18e4887d7b1d22f0d1f69351a2afc31d8","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.14_1563838156776_0.507725471546675","host":"s3://npm-registry-packages"}},"2.1.0-beta.15":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.15","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.15","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"03ef1feab73769b7612360582276aadadf48c62b","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.15.tgz","fileCount":40,"integrity":"sha512-CBGptTBLfqMqujbzB/v82DdbvkBP6Nz+C9B8+N0ID80B7YE7pJf8ydgmN/OWAWjdu0lsvpUsohwA8OMEygRYMg==","signatures":[{"sig":"MEYCIQCzfYo8YrzTjsLqttd8D/W6Ty2AKr4J9UvqFgV2Dj0IDAIhAPD+lyegm0WgS53bsFbJSRpfT6AZugwMtK9COSkGcTXL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8787539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNlSzCRA9TVsSAnZWagAAZCgP/RLIO3fqq/qt4T1uvqe3\nWNHB5RT61m2Wf+j+BgaibOPcZ6R/8/8dUhvC4WMFornm4y2poEJzrJiP4aTs\nfAmSGJwYKRy5jw4IO+tNjatC9XrFhuSFzdGDBLH66f4cXOGEc2A4aSQ2rJbg\nO7UXFbfAtmbRMk20hjbvuBF7IRTJ8urcWC8/plWYu8GjOcHdMsELy9h/FJ7l\npsp2UzTIrFTyXBVJSjJPquldbOyP0BoXPI4CQxo6s//av2rDpnCBJtL7iX7Y\nGHNzR8NHXVUe88hkLBsuZ4yutD7vCj5JLjm3zkip2k+4+wIKCEu8qr1KA1MM\nJo8kb+kPKVBBHuosYNkk7ysDOhTCcODAsW4kZmfQqtt1+c4EKcmZTnObFdQw\nj9l0CRv/DOzKSGikaSMibfAP/lnpm0W8ObXjV5JgU2GBnGKdWRcsaiCXi2E6\n2vJTBVmy3RbYoHla/xDyXbGLXzO6ZeCcjCYLR0TuV2FhS5RZWVBNJS8EhKiN\nkk6yVoDXQ0ABvOPCd/V9+z8zXRyQQwAZE4uW8O/5eeiKiVIcUNKQYJ5BB5AY\nV6vNhzY3yit7+BPNMctmutFUB5MffeRMktFtRnTjMSxU0tGqAe5b95C1YR4E\nFvru7cs5GGSPRWNQinVy1u/9TFMcV4BJszh3Rj+P0OTVs+5IP9XgqTnF577J\nkm6O\r\n=tRPb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 2.1.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"21a37a2686b0412eda3ae6c7e1be4fdf9546e009","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.15_1563841714958_0.9417004112799765","host":"s3://npm-registry-packages"}},"2.1.0-beta.16":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.16","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.16","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"176b391aa09471cecfc5ed1c2f07c7d8feda4e7c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.16.tgz","fileCount":40,"integrity":"sha512-ZdtnaetY3Gpg7+F7Dxw/9wrkQoBVkube+1hKnNq8BsmlqrJNB/lyvYCTc/F6hoP48PVzo7tnnMMSv0tH4/YUEA==","signatures":[{"sig":"MEQCIDwCPytUF9J0b8pljhj4Q/GygDoAHEdV8EBw4gAjCT5+AiBvDFjBxN76jyJbJDYEmid5mN65Rk42k+Q6YlZljhQtFA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8787680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNoAbCRA9TVsSAnZWagAA9CwP+gIgkd7T4ACar/VSrDGK\n5K9POpJlGYaFOZgBAt/MAlEWTqZFtQ37K8Hbk2nKHoM/ede4X2/uoXzYZOr+\ncD4D+hDRg4jhffH5hJjpQ8/Bof6MHkyavCM2K/QnPmRZMGfhoABJeW2tD7ZN\nvCxMaXFtXkMWPG9PQPmzw1eDnUVB8Ty0LsL0guKIvGjgv12d06o73vJGxZsM\n3LaGBZ/GWmeMJ7DB2tGCnu08yylJFQpGh0vJn6gviNvObFXzYxlN8q0Y91IK\nIIaansY3/piJqIEqtyTqXZFzokKVd01D2sMcgWn9ItQc9qcOWw+iVBnOjn8p\nQCL005W+mP7CanApVXjHFAFVGlOANzyVpZgaPjbgn62vBFMFR1/ksUH/Lhau\naMrwkQtP0+Kxtwj4/9KWNgV297qy8A148mW0AasoNDeFaJ2l21J8/+fFlGKP\nM8SqBK5XqUwvVEQ8ht1c05wv4UcZzaEJvVD46fmISJwDHQeSFbTsqDQU0Vfi\nGZihu4CuGnqmUeSHUybacZ3UWXW+a/H2c17ZlPuCxCYT9hbhRx13rniKP6R9\n5P18VIY14qgoDcPF7i9zOXaAaL9Dt/DLRf7KKkqApRiaWbHUDCZvLT6p1yIl\nh4OReDJeQJBmi5ykk2vnQtYr9aFLhXM/Q3zzqFolxEx5lmsbWPOe8kHcFRBp\nOe7N\r\n=Vho4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 2.1.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"f4f556ec70ebcc1fa11d2a8f2efd78e0c924e579","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.16_1563852826845_0.5080790661362224","host":"s3://npm-registry-packages"}},"2.1.0-beta.17":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.17","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.17","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"e2887eadc40b4745bf34b5bb25e4768904a11a35","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.17.tgz","fileCount":40,"integrity":"sha512-Q5o81GCPnTMmnSPwte+lz/jkdrU+RaTPkWHl2IvJuONi/iEbuJjO906VvF1DAKFBZbgRgAeLbbrx+aOE2/2W/Q==","signatures":[{"sig":"MEQCIBDcK0pRHqN61BtuUzXGOH7jSXdkFveu3zYAaeuHW8MpAiAE6PnZ6LsecNPhhSDO+BtbmEkUwjtG3awv+1Ov98Lhvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8787594,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdNyH8CRA9TVsSAnZWagAAAtkP/j4eyKZyLU+rGw0KzlDa\nyW42wr1iFrRUwaSTl6RLORU+XToj41Y0LK7073zQ0BCeGQsiJXNokKSKMUpQ\njwr9pgLJbV/NRIUBAJwwXg2wX73/t01WUlQqluKSxLlGwLfu8qhvG63+B7KT\n9dafzo7FSUpJus/zw27Rp4qMC5Bq6pMoEcwDvlRweoZ9hhdFvGp7PQLCUYXv\nVsnUIKctFDcNFRoU/Lc32K7eNoOdQD3XK592taBfbhfnpPUH2Z7rTXBiYm5K\ncsy0T6peQpQX6dwxSzvI3Pm4sMOZjcOH4b7ASfh2cvVelUPR6rOiZ9Gje6Hz\nMvBauUO4AVQk6Ugh5CuWc4mAWg1bBxOsgM1Osk9wtdyo49dApNsRZHSk5ZGS\nOkeJxQtPeUB+NHqjlf7qdw29vpXdZCrgIGihi97AukE7c6S1gRtW1CS4Bz3O\n/G16Ckd/rel499JnMa3rvOxQMz5UxD5guzxU2pBTQNOC682BWmonwJc0B7Za\nayM2v3VbXIrii1ZWJQ/ZusrccopN1bOms0pXgdT/lR1JBrqBxsTWayGY8wIc\ns+HTHYOEKnrlnew6rc+YODWWrS3DqcmcK5V2Tt8AxtzES+54kgfmhg0r0ibL\nluw75kdSxQhSdwpY0xtzJILN/lA6tZYa8qOMqGDBhNr141+QSLWg87fre+Bl\nOfeW\r\n=0mWL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 2.1.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"8ed3e2feb40dbea6f6e71458b91f1a45d2e6d9ff","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.17_1563894267251_0.8702053794748617","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@polymathnetwork/contract-wrappers","version":"1.0.0","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@1.0.0","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"b7fcae0cf52d71ef36ede41ff647bf7ab40e5b0e","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-1.0.0.tgz","fileCount":40,"integrity":"sha512-uc4e+wZXPT6Q1hSrCH2RZlXvenzvU9xYBVUsZX5XH86z3tPzuqi54Lfq5bkQ29ZU0iU/IqN/lhbTC+oMQ4p/RQ==","signatures":[{"sig":"MEUCIQCud110EA+L+dGsgZqi3N/KTTdKpssT9nGyP1fGpiD6lgIgQFwAqRHvjz3Yp2QFTsNZjrNC55m2H7vfIWzkR/2H3Yg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8787586,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOG90CRA9TVsSAnZWagAACAUP/07hqfHSGmqACXypITbY\n+CCtdYtH/7GdUeNAnOAlPK+CpR5ydKqLv15PnKdj8rhwt2cJmXCTyzV4In24\n6xKvlGMsQOBKq7zfQU0EuQb6qEDSNsVkIFdKnA6sZlrE2OQ/XLx/EoRFUt0X\nZgH3xXJ04j1q2eL3EWUCUvbrjdYEeSBK2wBzIQtMe2hlZCJf2rta+Z8fstnA\nvkxm50EoujoeSztvgXc8dyf6dEmdJccX8+DKMPeBWPtE5CrzaDaXn1dqFqTd\ny2jSkkIA6ZWScJYI21C68p/aJeLZe0OXDrOxIwTJy5hJmDaYADSRbAneUTFg\naHPnffRTwQXcjE2ztCytl8o47h8kBVTRlB8Of+YPEmE5Hiq+Hai/ASy2+kuO\n64Xs4JqMv3vpiFKBAkQm5/u8EXKLQ6rjd98+ZNvdZ3y6WJrA/eGoYeBYRqUX\ns0wd3NrV0oSa8JApWmavarv4saMtpOyoEoFdviRWXSQ8Izu/jiYgWnEUf+TS\nPQuEzVuY/fCkdtaIKOdtQVD8yACiUXORQTIkvPHqTFS+2R+hCXH3etVEZl8A\nxEaI7ok9qczIabXJWSd8jjN/tbtjjdF/o5ShGBlMw9k0eQkTX62XipMYXwPF\nFmstjjyeZBQyw3FY2KR8Wi0lznzfXZp1x8wfsq+5uokEidmG/YTVbKpz/jIC\nEK3q\r\n=11YU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=6.0.0"},"gitHead":"9088eb919f71338ae05c96481019965fc27e3c2d","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_1.0.0_1563979636145_0.7646323897825706","host":"s3://npm-registry-packages"}},"2.1.0-beta.18":{"name":"@polymathnetwork/contract-wrappers","version":"2.1.0-beta.18","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.1.0-beta.18","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"45baea4b7695ec54430577968b4ecf1409596005","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.1.0-beta.18.tgz","fileCount":39,"integrity":"sha512-B9xKqmXTAwgxYmVG8yuSBDvl8lHiDrupyhMHsUSVUcOeZCIvW62e36lNIGeLqkj9vZPUFHTVHCHpkJecl8utCA==","signatures":[{"sig":"MEQCIG7bvBwyIK0O8uZMhz5YrD3JrEOHMF2QN6rsZpC7IAy6AiB0izflOhbX83umAeo4bUzIsIZ3zL6e4ZdIHBn8QpUmFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13019758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOIu/CRA9TVsSAnZWagAAxvwQAKNcQmEX+425zSop99/v\nvHUc/tIgK+Nv39DEknpFRnzcmiTbwGXPb6oiWRM4/dxmaUamSKEztP8zwdu9\nNAWdSW+b8b0IGIGmfSs0d0Ym3Sbo4TFOeVLb44XEeESkMe8KijksMzrB/Qog\nlv2/5vvNFYsVEK7A/8AvbZ/HP0YQWKWIFM37/n8ol6MIX7u8klHMHpRzxqkI\nkZ9TEjKazIJmn2IQ6iKk6Ja3P8YDd95/wKEIMV0qu6W/ENnemQarvwhdJ66l\nYDy6oXPS6fJTb0dH9ZOvqY96leocUHUlDCuzIRM/INxSY2akL39RXN/8IrHV\nzWul4F8xgvIi9zohPfxIdGS81bkDMgL4XiuVRSgKbqWX0XujEkLYdNjavLCJ\nKFDU4Tt8m4W4bqWEr3VZN+AiCD6HXTdCoBe4uIKjCk81qzUZOGIN65R+AdQ+\nxbuqZtJ48/iFV7Mspzjk7h5Td1lGw/J5xQninqADJWG2+r3rrYBgH0bYxl/o\n3ZsoW565LCN0rz+6whTAHZqqqIpYeMVYNAi7poMeReDFpgn2HOhKXso5G1Y/\nJVfUWmlm9lJB7EpN19N/8v1n/EYDOlcNOn/b94STVlo6EIIYHDOxuKAGHWhI\nvN1FqG1jC52HjuG6JU64l8vdZMETX1mGgUo1Y2xcyigCtzL/+YA3JRNC7azr\nai2x\r\n=dAVJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"6e84e1898cd6a8f99e24d24a73d7a0a992773c4a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.1.0-beta.18_1563986878909_0.06669322854134685","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@polymathnetwork/contract-wrappers","version":"1.0.1","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@1.0.1","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"6be7143a547b01904745838cbe989599d01de142","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-1.0.1.tgz","fileCount":40,"integrity":"sha512-wQ60FDJtAP5tghVwPy3mACAPnGMe94GuqyQG3iAVPDipg55RK3PYGGgGMQATbyHfG6MyVZdzeOeVjm3pbtMPow==","signatures":[{"sig":"MEUCIQCfyVBlL+kkYCxQ4+EDvFB2FAoqOL0O9NI73DVjDe6iDgIgFLtTZmoZV7f/0hT9bd+VL6gzZlrhJ/AtW7RV6eYIrdM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8787593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOJZ5CRA9TVsSAnZWagAAlKQQAI9OMHkx/i0Z70RLFQtJ\nZT4cJvZVcKSJ30yzfoaTpu23fNVUdnmR408rEWFQ5KEI2QiU1vg2ry1zdQ29\nwXplT8xlotFQ4Cxpa2Who2g0sg/vZQCkAwcqaAoOMcTz1G89ZrJ7p4bhXe33\nTLuUUTBRV1enKkySe7O5PHk/Tcdt/82U/6CeU7X+txJAlEXdxKmIbWXGkWc0\n+O8VR3VYM3sm+3YJwZbluc9JeOXjrisiEjBOa/EMkR5JtZqW3hEex6eVGhIt\njBROjL7QoxVf5UMl3A+SfTJyAu+ldjdbs0Vib9VOedU5gnUh5oaWC2QokRB7\nfh/zArV5NxrhftxvWBwxiwEhHNONR8lFNOhhLgp7aWTX9kdAYL1ze9iozmBe\nrJiiaAqoUhsgzD+3mJnzLLHF7c2LpiOYKlvc3+j6X7B+UPOdkNBwUWIXkUL4\nKRJ7GIeQwUQ0sVDhubXmrR5uKdHhng/7rLD1TBMpT8LSO/1FqZBmjMXTTOyL\nTzWJ562suf4WAeweYJsjsqQKsxKIosulAUJHburNnhNUu9OfeqZtJAyCV5vi\nNZQzrcgi6RJvSa1zVx3FAaUzbwRi2vAGuLdGZd5GMLoi8y6gEyUJqR+RHveM\n/yUJ5Vof4B1i2zLnstJ2xzPJO0yNj2trFv2xwOahULiaG4Bwq8JuPr9W50Hy\nVDiv\r\n=C773\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"engines":{"node":">=6.0.0"},"gitHead":"8a048b2df520af38f6a2c1c6082f19309f2b9607","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","ethers":"^4.0.27","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.2.2","@0x/utils":"^4.3.1","@0x/assert":"^2.0.9","ethereum-types":"^2.1.2","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.9","@0x/subproviders":"^4.0.5","@0x/web3-wrapper":"^6.0.5","@0x/typescript-typings":"^4.2.2","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"2.1.0-beta.13","@polymathnetwork/contract-artifacts":"2.1.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_1.0.1_1563989624395_0.16219705232809223","host":"s3://npm-registry-packages"}},"2.0.0-beta.2":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.2","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.2","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"a1df1359648a8b2692517d6bdf051204b6ce1c86","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.2.tgz","fileCount":39,"integrity":"sha512-y6/TpiwXImrn1qqOtMOFebC4EL2FHTjdTWIS+tM3Cq2MAbgQDyjd3g0VubkWcGBuu64NJFo3BD2ngrfXdJlLyg==","signatures":[{"sig":"MEUCIQCRJknD3T8xip0b8TYaq1QsauFgqfKzd36c7SHn6+H29QIgG63NWwLWncBcDHe7VswNxCGHsR7P6VWUzV4Cczyl3Xw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13019802,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOL59CRA9TVsSAnZWagAAMq4QAKMBgsMzivRp8wlwiXQq\nSBpGXFEKPYUvkB5soN6LYjZQuQJeNai+UNruiRvIAaTkiTZ9xQn6z5cSGyLA\nlgoaBXrqRZkBVpRC9OGN7r15kmQb16zCctvlN9lJ2TGF4CIY4rTusSRyqXoM\nkidmtNmMKKJxO/i7xM///asvF93Qhzf3wvVUuhDPR7F8ntGgfjO3RFbu+TXR\nZaKMFZueG4nT5x7CdxoNAvMe+OR6jeDTaRXVDFR5Hau2gVs4sPJaWhmDZxyo\n0OVCIv5e4dB0J6w1lNvR4e8z8oErmF4jOLWPfaMpDcGWVynpWI90VLZ0XC8/\n+lC1tx6wPrNFk3jT/lobUOpiZx/fwNR8jgQrM8CXnFTHD/+lrmsl2XECUm2k\nTEc1EyIHEwOUsOgehXmibSReK3DHgZYw1hvqqSlHYRKg2XvRYhgGq6K2eCs+\nUo4vQLDlxYMeLvivL4GO+8sFDq5lBrCGfImnRBDVf9uf5jQ3/hVzzVnz5QgK\n5Fh1OA+15N0THqSTmOgoBffm2Qpdp5w9AzQ2uHyDwRtDf4oww9GwHK7MNmoU\nCWU7XWPBZAj0Ug6s7JtSFOQsUM1DTbEkpHSe2lOmgP5O3HHtacbKtPDmnjjR\n6QKcFvU9cdAbKBqmTWNXbGU2lKW4pc5DO6p4z+0HFhGtdVpF/x02QFMJHyde\neYoF\r\n=LDh3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"22455b660eed82f0359caff9ef634fc4f983b926","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.2_1563999868427_0.5401708787777042","host":"s3://npm-registry-packages"}},"2.0.0-beta.3":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.3","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.3","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"645ac997795592f18602a0766ba09d8705604a47","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.3.tgz","fileCount":39,"integrity":"sha512-gCqbCtbKbxh2a64OpTcw6oJCW8buqPrlvuk3j5SmKZp0VfQGRiJQdsyZor8+CE5LshfBrqhn5yHj+PBkmlOEaQ==","signatures":[{"sig":"MEQCIH14BioZjGVM2MoZExxcAgGGzNNJEP3AJXOT3tAntYYfAiBBIAa7zHQt8qHbC8uyjbFKHAkL1EiSDm4u/BBLCasjUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13020089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOMZZCRA9TVsSAnZWagAAV/EQAKKKSwuC6xcbU2/OjE2+\n+ImtlaWeKbJWA/fS72moObEKMQMm2ewn3fP3uKEJAmR2330pJGX8DpKdaLW+\nhkG1f12SAPx7qhZuDY8H2sB7e9C+SERUBQAcUXl353dNZzk8LwDtATUR58Aa\nMgrssdozWKldyPTyF1IPPo3/dEb1Mh+Y7gtG7J/LdMJDFUXHpoNFHhJeIt3X\nKpBXukhTA6FsHcM9oN6rckzTkf02SAdkA/8dYo4Mif1lcJBZPbLx4Ynywnvu\n3bzqUFszxBNS8KoaXF69rodVjcn1rvR9giQvkJVHurhlwAVbBpl2q5+oMxKW\nAmlSjX6vHBbhYNJWlyQWdVfMYw44n6aJDO3v7qloiUG7ELEikVk2JE6FvRuu\ny3TaY1+yWNlGaslnY306uTL/AYy7ctLzM3eXtzd92QXx37grCA5mNlSzy8bm\nvrs7hd3fmiwkhm4mbOJfhdCFtaPIQ9HEFDL+gvoWFQ3E6zFsIvyD0rok/+gv\nmQary+J7xboQYOkHyk6D9t6WiIDnFvARB5o2AsMYkTK4LCM1GpnTjDM/IHSl\n1bCIae/7SyRvN3B5wCWvtdov3AyiecBKr5zvUzBcNblqMFA9c6A9HvBaumAb\nhNs74tDc4tgPlIgoyqmcW+AG3NpgUfanQOszt9THg6S09ndP/zqa2I4gZKee\ngpsj\r\n=pPGd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"844a7e90a9b77b6703011f237fdc1a3935cc3f1a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.3_1564001881153_0.7285198439050515","host":"s3://npm-registry-packages"}},"2.0.0-beta.4":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.4","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.4","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"f6921f9bc113de65f6f4249701fa55a55f152a4c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.4.tgz","fileCount":39,"integrity":"sha512-GXghelj06RBUXfga5mFbeH046TJJCdSu8xQEpU20vppI6q4DHvXkT4sVGvkMJSp0NiYrOgEv9YevjMrtEU7weQ==","signatures":[{"sig":"MEQCIHjzn2RVJjQFqS7HAgIsj+ok3E/Gu0jo6Bm9jrfdoKkEAiBCj/XQo7YM/a8uurkc83snCdgpiaVCwIyijACcCepxbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13028255,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdONo6CRA9TVsSAnZWagAANBoP/RZCEvj6Gm4ufea+eG8O\nsADQ9x7qBhju27j5/ntZrdvQbm6agayqzhilXvumhmWrSzjIOBaoWRR6lssK\nk1Tj1qMWlzmOPA26eBr3y9IoY00VHTi/Mx6OsqoEaIA54tdawsDjCeOKsiDE\ny0arS5/lyQdbftaRBJW9wmBhW3sPmV5KaIxAuy1aUXTI93AciiJ9owx7Y7y3\npKWm6awsZJMq5SyRvPsmB5Q/TjUphh+FBJ/bkyJk1LchLVRdFwkL7SRBjtpd\nx9LgH6KaJkKzQhRpV2QBaFYrAV2Xi5/sJjNlvhnN/9vhL3E4jBVF+2j025Aw\nkOj/ZyKvHNlULrgizs2EqlduP0Vx6xRMULvmVd/fIsiCGmdpSzXtPry3tiuR\nKZSTOih2IlfWpwfpLBX43lv9CN56yIZeIS1uiF9pQLGACVipWIGVbr6qx5W5\nM1z0qSlA7rmi2iys0BhHHx1m7RURhvgcTL3uzBSnFQ88SrOu5RdX+eKPPUHO\nkyhZAT3wy8tMZASJsyLuo8nXvPSwmO/DS3Rw7sQkjg7UOxf8pmHcp2L2ie9d\n2rV75AyZ+mFJcc1j5twopgDXS1KudRKGWUq3p3M5/APOsjZXvnRjDiCp4eWw\niRkXa15ahqSlcDe+QH+LbP/BMUkC99mansllQ+LwTujjQJv5TuD2ILZpj/y0\nKgpp\r\n=Ne9M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"71bb9f916c1f8c47a5762f48250afc08913f8296","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.4_1564006969868_0.5667664173464684","host":"s3://npm-registry-packages"}},"3.0.0-beta.2":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.2","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.2","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"bc11d49ee10855baf6f7483d843faa629bd5923a","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.2.tgz","fileCount":39,"integrity":"sha512-wJk5LJ+HqieIi6+8Kxxt2PfOOHP1r6Vu+mBcwUl/0pD9zYkLQZyqVCFT81JU8rHPWXUWfTSFceHoaLyzKIJp3A==","signatures":[{"sig":"MEUCIQDVr5eY5GshtD6FF+/JJfGbaiLNbmSIkfq0KwxL07KKBQIgfnMR5AAOtckcaPRigQ98Iappy11j6ChpADkYz51DKXA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13028334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOOC4CRA9TVsSAnZWagAA9HYQAJGAEKw1vJiud/2u4kvb\n4xZVJj9SEuMZpDjto3oADGiQP3gJb5aAnML33CwHbZTxzK4/uAe89oRnqiub\nOvBrU4RI5/lK8AF+EmKXfH4hE+MVS8FaExXlaFUAf3yNQvOZi16luxX9Joty\n6mZLGFkUPSOxFZTEyCJ/A8hBp9STbzA7/3TPct0WcOMPr/NDZ6+UjuM8/sW8\ng9R7xOP8PNgzdUCmPe5NfkgThY9jWEfg9eQFG69HrB/+rPKkBaGAW8Zwi1lD\nhJcLwgBfTCkBNi8I14FFMhdP3QrCZZZzOCNG55f/0zJ31w+Mt39JZ7gc9vym\nKs3CryKEjHO9PnMrRFcSw0yez8y3aQin4UTcSkVKALNfXfvDVrlivTljh48D\njOC4vJEczVgbTsFWrFMVLoXfCt2H/UP4Wg9DRZwBjwhBex0eSltU7ihrz0cj\nQlbPFCR6pOF22tofRwbxs+xr3wT0eJ7wvDlOhbFXhMyXQhrPxW05fiaTFfEG\n1/J0PTj16hDtRndSg6aaf/EKv3rgpdk7jHqYT8e0rUOp5pp+GFifahBtmJHa\nl63+YvXFK3C0vvFSQtqOgwr+hxI0vVsw/dnhVOFraiSeOqH8u+1BxQ5ZWLKN\nC+3aZBwqcz6ZytHF1QwzC+6J6AxcuNkU8vZrbEXx9e3QEd8tNRu5ML2km4Nr\nB3QS\r\n=5yQo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"839c928592ad868a930a4b76cdb11b3ceab19888","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.2_1564008631339_0.24871779581102782","host":"s3://npm-registry-packages"}},"3.0.0-beta.3":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.3","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.3","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"1d87b4a440e1dfdebe35520b8c1c8e58bc6cef7f","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.3.tgz","fileCount":39,"integrity":"sha512-KMCCACNkVCiCmVKqjYmdsoI42fOpXmaTIDcYwzmnfpqGc7A5pVV4uTWOCzVLW94sIwYR84LNQ6W7ZJCWPHqGkw==","signatures":[{"sig":"MEYCIQCnzKsKjJScYlIlAkZrMbcCkAFBdqxWbz3W8BbLhpx3JwIhAMGhPsOPbZ5SFRf65J9AS+LImgJkrnrszn4MGUAG7acx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13028334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOOniCRA9TVsSAnZWagAAUIYP/0xXobVWp4Qj4RnoyvHr\nm3jHp1iblh/T8/IKYzX0glyIXFQXciqDgpPBfQsH706any5V+YUqada7sEoP\nCSYy0RADFdS3SxhORN/RruYeI6fv7Ci5dko6zJfc1n7G/VJu4ZkY157924Ud\nQt5s6Yi3zOxvERdY1Yxt0XiA+Q2WbwS2r6q9Rg6xWgqH+xTTjysoWW8Mvh4i\nmNXqFO9RF8jrevhwwpq9Lv+jSUxi8NTf8c7bRjOiXcHdaL2SfS9SlnH8Mbr8\ntt75XAJogp7oWNzZgAXY+drUU/NTjxgcA3kuYyiw4zmVef0o1bwXdcdoGeI6\noXmlfFBnRqOzcLYbDZ6WtvOatBtgcULj/rqBUd+1Aixw7nfE7iVI0B2TCAwQ\nv01rC3VJU7LPgs9a/9ZNe35a0Y6TqJCjnKquueejA73vdYW48PwVKJ3Z7t0p\nj5YkS2F435rR42EU/TrAlTh6TRIn98e15VPQTok6dj+UKA9KAiQYOKSitVX7\nVofA5I/KI4Vi1Qrd6yko/uSFE7ahOUtnmGJFL7t+Km2s+j8hjhGYihYgAZ9p\nUf3PvlKfsJZ2RTA2ZreF+rlyRw2oGqZi8vmBqoh6aqNd5Xgsk9Bqp0hu8y6u\nqULMYVR2akLWPfWm9c5TBaetyrBFfpasHkGMBfJ4BWUaF3gK8o4JFW+rb2JP\n69wC\r\n=lcyq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"d6c7a7472de469d5ce2d5217d710e857ff7c203e","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.3_1564010977595_0.006780699985860172","host":"s3://npm-registry-packages"}},"2.0.0-beta.5":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.5","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.5","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"81904b1978bad77c4859d312a4b21a96edf315fb","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.5.tgz","fileCount":39,"integrity":"sha512-Tg8LNcYS+Qr5kROkoJZmkbriWLRsPOTo2Ugk1TRcEKZ+5JSgw9q/3wlbGvHDopaE9pWUoJdJBqQEP70AhcNGwA==","signatures":[{"sig":"MEUCIQCDEhb/blMlqUZmqmLfP8v7JKpaqzkSqae8LQ11o2S5WQIgF9XuX7J1RcOaBY1u8vYnCGkLzR4SH2jO5AAPvfvnU7o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13028334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdOPGWCRA9TVsSAnZWagAA6SwP/0rWr1/EnpPPb/s4sf++\nybXqQuRneWfyPUqQfQgKLZAfEFHG77/XgCf+5CqZeGsaj6ILZDjsvrWFPIRN\n3ONtx18FIys+hv7A4NDhsYmzk4cs6IrAV/HanMo+I/QHKMjBhZHgBZInH38a\nZjtO3kxci7X4d9WYC5Cqhtq5hQy6li4T+gcjlMHAQuY2dpMHNARCknoDjzOK\n6ccamrqnV10cWJsyPqzYQ3WJqlaovHoFzJOZslh7xl2s29XMClalBkILyLb7\nX5XQ7+ep0D09LIC7tBu53aY0UmlwvCw3zfLHYW/JllJx35HuwSbL47W5DYYB\nxVUiNWZwRSJyes74fk6NJuG2dO0l4jlb6RiGt7YRADIgdQvDuvQA+SYRB5fa\nL7noVhL7E3uxlU5LUTnHszeK4avIj6YM3FEBN47fR4KnaLOgMec0AQ8DALvA\n36Ew7uHTRJ0Mq3rKA4XHXfJbCJoiyeyC2/z4f3owLqRrHx9+WCekv9ZZsLtc\ncOJngXmFN/80/sjaB3IEPE9mR8B0tAE1HE2KqZNlO1l3thQJjvNIxyi7WawQ\ntNqpMHamVlhVpqw6F0M3q2ClZJfsyawyx5jWCUm+y4kEO10lxOfoFnsPEwjg\nehfKaSVEI7Y3UQh0RAGjrGSIOidopWBRxSEO6de9TkdXZpjnNsDG3AqR0Lo9\nGTqR\r\n=m+oX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"ce9525b5e38b55f749461e5d4898c677aa51c9c0","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.5_1564012949760_0.6058807261972996","host":"s3://npm-registry-packages"}},"2.0.0-beta.6":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.6","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.6","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"9f27d982ba1f91fa9f7a907843c34ec150ed713e","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.6.tgz","fileCount":39,"integrity":"sha512-ozkPIGc86zC85iIzlhICCyraKepoI5AsJgnS/vllo43eKcP3/a5oDD/ElpB89/g33KKk66o9mHAoKWroW6goSQ==","signatures":[{"sig":"MEQCIGHFwwjKI4oSPdQTn3Q1wAzmwaZoxXsmZLXqYQ3zAgk5AiAFOQTLL7+rtTTcr9Fnca0EFgdapW/YAgNtvBf0tfubMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13028844,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdP1mwCRA9TVsSAnZWagAAd4MQAJtjV5B0b1lssF2Y9Ihh\nkXVBupWv8SCS/21puBxG4bpIj6EuNu8pnPNxotuYmhpRktJfxR8mmpodr3fr\nhVshFxsiroi1pVrdQ/svO1gI8W6Rrm2TVTH2i87GAUZ4Pd/hjfUgKCRUCqp8\nYRs+ik/Mk9q32dwyYmGgnLHwYTm9VbLDhxtxbRp2CiJrPMWaHL0AGySWZXHd\nyPQJ8Owy3ZurORZloUaXLG2sIyouJLkUVROQRaJ8awbw5oTA/BesKSMU4ZpU\n0WBTAFknxjjUb8kWQqZb4NO5ROMZckigj0TIp6wiuWm9gPLjEVsJb8PWcuvK\nvXPeAKxmo3gV98g/+/v/qmKUbSzGcPkXDlGserdIbUg+KjCWBWGkCU1G2EVU\n1ZX/40MGY6dQciIeWntyUBdkft5YU7tDJB02G9spdY2F9B1rpCovTBG7Jp9c\nVaB5pfSt8FF82gw2ExpKJ6ULW7b2xd/4ST59Pe4i3fbi+URmcR9oX3BcYrKg\nkZOLrYKHlhzBGP3Tp02T0c1tMCTwrPQmBSWgyzl5cVsL8DRwSR02LUh0KRBa\noCD88Qkdgx7F6ARS2wSaLj54KWjPQ/SSr/DLbm8mFy902huTqSBiSc9FGlTh\n8sKhpgsTHKja0OrlyplJhsGhPfCC5sB8mW0Xi1nW5G3klsj8jwJzRNadqhh0\nOayH\r\n=VyGC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"e7c7f52ff10e527e77ddff7f1f818a9511d61020","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.6_1564432815142_0.9642171875455972","host":"s3://npm-registry-packages"}},"2.0.0-beta.7":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.7","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.7","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"780488002a2de5c68dd07da5af4b204b5aa8e98e","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.7.tgz","fileCount":39,"integrity":"sha512-DoCZAs4vG/y5UFu/okBF096JFoc33z1BiYCkjxf7y+M9MHeFFJZu8IqOTXm7l+JLGSieMDGTUQwy7bm1n+k96w==","signatures":[{"sig":"MEUCIQCjtqeylMuXqDzzGcsenJVto7K26kpdl/uaPrjJ8M/COQIgf7xiJmFbBpENG98huRwKtmETHnRqPwTMCPq5u1U3OGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdP5oACRA9TVsSAnZWagAA2PEQAIaHiwtxZLsgPfsaw4ou\nvbfP5xIYWdXfPAbV+ul5J0d5famAhzjJ2gnE5vrK6Kxhyo0qLy1rQzxd7OyG\nQcKYuj5+ELexd0pEm63goKFopUH9Br5S8EQ1FjE1eeZnbzyUfG0iVhGI/hXv\nlWx/lxhuAeRM0vUshrJB7apwjezT/3Zw/ic5wORTg2qiXVcPmEks+JAcOHpk\noaJwDyRDTe2vPdENIL+e23ZOm30liazELeDkQboelJbaohxZUkMTwuzQ7rrf\npQ8tQ8dWjtdACcC2JvGpbharkbcg1Lk/ItJ3jCf6IwxHZSKUFfI7i8s6KNe/\nlnxiG3Y67yqTSTFEKfLIHdCidfi+W96DIYyymqIMXV8oWC847HZxKEqPYM7c\n99Y+fEWwXBj1ZUwTf1Pi73dwLr1k4qx/7Mv+p2QX2pXKdwcnnft0NtTDLDI7\nfKOZ4I4dgA5kLf2utIrL2JZgjThuTm2n9i+Gy/m50pisK/jAiao/ZlJiEoT5\nmPjPcDtCn+EK0qAA0f03b+kiZfxhJR6xdyWXZ7QK3bMcVml0R24+oma/pzSJ\n1fvLuDgTwefmM1qKoDCaG73M3r9r9PscpaqPgTzkWGGyClTBxps945Jf1o5U\nyVklRl7FTmsKXIiKxd+pZIyvGPPfF4CYiLFcgF4/uE2xy4cW1qYVnXuTZC1g\n/1hQ\r\n=F235\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"23a4335657d692c028142f131dc7c9da5234ca04","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.7_1564449279631_0.7552691290968692","host":"s3://npm-registry-packages"}},"2.0.0-beta.8":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.8","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.8","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c48933ad44aa5b528978027eb2286a45445af334","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.8.tgz","fileCount":39,"integrity":"sha512-JfAu4AkwgzmN6v7SpvXksnwEJZXFsMTyjxwEq9nOP3vD51a5VCbPfoLlu9jsgm6yNjxmacHxso8V3BL+VVYOXA==","signatures":[{"sig":"MEUCIQD2NPNTQhVs3xBv7s8WYR7XtO/cFtyDtPWuvgyfvOL13gIga5/BE2hk4hPZosLY3ZWoaoQCoXaWkVjSdCsjVlIKvtE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQFZtCRA9TVsSAnZWagAAQ+8P/1H82tZp9W16aYAXHFiU\n8QrUzQub6tl0pwft3vzJ4pAVIglXCrdzCl/L6qZWU1HL0zqMu42Z8+df3Deh\nTsj4ofCk5OjNorrxDcT5lMichSEg7Kssn31W/gloj2H3LvzRxi9U+7vq6jGX\nkdPIpOWO9/bzMO573iSdbIzNmE/1Y/DlHN02hTO8Qz2F6GnZRz6dLnKlhrVL\ni/pk0RFhHJ8AdEHt5d5MRgOWbcAbpzjyswnrQbEd3UkKV/h3A+gkoiXhcXhh\nTEHnLIQM5HlOal1g025GiDE6Vqid9qSXzt6xm0OjYHQ/lqAYs0+GDbDSV4Av\n7fvGbP/+gDFIzDdiwluKlMzuzgu2K8XirhQD1aZjFIVaySkJ0LZCFdquwaVt\nHCq37X+03qkrgl4s28XgfMvhs51ZenUBHa0OyJe3C6MUfbpVaNoOZiTG/mo1\nBK9+e9/iLX6dbeLx3ANC+6e2MciO231Fu7oVmcSu7g3vQ5IY4+U79UH1uLBI\nxWTwPSZq+lwLkaLUToDndEx4fE/vSTDh36Cg/9wmxsrNLlxvnbet4nitzMBf\nIjLU0UV6VlDkJyFFG06JRFlf6n1dar4zeAiJHH9RdyonD3EuRn4iFok5hexG\nh+xJTrzF45Stw7we8QhzOg8oYUHeQHoDdJ3FKXF9VOLwigrIZEL4+/JmKhX4\nbdLq\r\n=WbUd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"1d654179b2f090a32dc022f87df5068610953c58","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.8_1564497516574_0.7809986563394011","host":"s3://npm-registry-packages"}},"2.0.0-beta.9":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.9","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.9","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"1fb446631afe01ce86bc4be0d71256f1d08b1492","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.9.tgz","fileCount":39,"integrity":"sha512-cBsdQcgrwEELm8WNtOZ/3Nz1PjGhcjndCgBJnZy8Q6ckCbm/NabeDbNnzuHj2n/7sEVl/+CIHHYwr/ntlxGoZw==","signatures":[{"sig":"MEUCIQDgfrBGHZc6W9sQIeQClmSN5q/P+lMQkgSpfmGxYH2TIgIgPyfgjuLKtrbqjDtppzonQmx2GM89lunWSV2Y28/Qh9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041034,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQyseCRA9TVsSAnZWagAALDwP/2T6CbrYz+fgl9uK1cwl\nNmodC0y9vHwWl8CDT7EMr+1xhgrZX+6FVPY4LQd9pCqTY2uuyl18LH3fnP+l\nC2mVY4Gi10MU2DPNnWBXmJf5bXRWjGpRQzNtkzly+KbkVEcDn0rD1g1iaaqQ\nsAz99M08ijKXg8UxdBhuE0lO79ME88a5U/VhtYXq3IqkL2qz/3OfjSAaiCYO\niWRA4mJ+84bI5u6ULgc/ozgVC64hSpCl/bLGS4LYGJ1z2eXJ16/hhikdxXnr\n/wRSggmfC8E9mz8ONvd6QzyR5uQDajklwuJO/uOwSxRBS/jSlRKBNJ33kuBC\nn5YuQD9fpqKki9uhJ2YrFkvq9R7qclSwXsb+NCbAg+nfQZrgP3/K/asBer4f\nw/tVU5jSzxeQILToZREkjUNzD/ovK9u1yDGBAsNISysx11zg+T1IAwJB01pR\nvG582aOfLl59xp+0fwgTRNn2sYEjv5EqDGkZPRIAJRCKr/o1KxXN8btPTI2g\nGYfXLgoNfNWpSOemNg1ZNfiCXNPyy5QkNtJt66Q+lIOiBy+tQoAjTzd4C5Ma\nycpV4IlbTHY4K288b4AhAVAW8GN9H1Sj8+n3u0OctU2lq64lapU2hWwOtnqN\nUV8wnfAGYq6F1LvrZ6SJnM6ssvYLWtD4Nk24c0qwve4ne5amOANtVRD9IEZi\nYxve\r\n=Vwk+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"5cd38dee5f3f2aaf8c301dc11ce801010498f20e","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.9_1564683037446_0.8513111210619413","host":"s3://npm-registry-packages"}},"2.0.0-beta.10":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.10","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.10","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c4a839d74123d00992a7b1cb11d0c5381566e1a3","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.10.tgz","fileCount":39,"integrity":"sha512-a+2aNeuyoec6p5WM78MbdU0aVY5AuB4hvb6Mc7pwtXKYto9uN1LCKF2uiukykTDje+2PRl8uxDjAu8ieqTj22w==","signatures":[{"sig":"MEQCIDdwB2D59VAzgyzS5CygrkmMV94cR4TLgXZsKGf392IDAiAa3v/ZqohuBuzZMbAp0dx4VyDB7e/QrTUTiQN2bIt0eg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQyvSCRA9TVsSAnZWagAA5KAQAJ4ggGuMKQDYURgy1VZD\nWIhmymwf828DFKt41stNiuYdgf1C4qStlQDXBwgPNgWZtFLW66YbJ/Mf6AVl\nKOGAyc8D9RMcuZPWkB9qFih2yqvFV1hXRin6E/F34/canyP3JhnhJQ/750Gh\nGRFyjbesKJbEAfYrKaDmE1r9SAz5Gv3WG7313onDxz2x0UrqkdGTkWE0LDUf\nMdFZhaC6uJOrGnLdfqirvePwsMXrkIMtuqWT4NIIFDBRUSVlR7pRoSajfSuj\nAV5K6KfBLZgr3SSfGdeqzBMFNz4IHDcuFiPRxKBEOYrHSViKQ9lUK3KRJFT+\n7bsDZYGu2UwUIgVHwMYOYzT88DbIhYIHlixkde5hwUiZjK2HwqeSKnNYUOvh\nHmHBto5DOuw+G5F7nlCmB+sT11D/KFP4fWR/jMuRYi5Wv0yH8G4fdU0X9XJw\nIQ1bW7qMPNGnaYpoMfMRZff4ebEZlbsAqYF+0PZ6Tol+TQ5X/xsCGLMQ4frd\nCZ1EHro4SSrd2+z3ta++oZQMujpSPVrN7As3kHUd7mYEEk0qdRIA8GlfrXIY\nc+U7roV7DC1eYCAC8PFVY7Gg8EN915kj4QBCBQMVkFnQWed7qpCoj7IuA+5N\nCkuclrUlDH2Z4hiZI9h+gOlete+sr7adATvH9FLaubW1WwGKGXIwEPbuJiZu\nzHBe\r\n=otDh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"90c58728e5bdf8e9f00acaa8a883696b41edb58f","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.10_1564683217795_0.04846658188561381","host":"s3://npm-registry-packages"}},"2.0.0-beta.11":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.11","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.11","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"325c35aca311c3b8f859ac32bb18975c9606ddfc","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.11.tgz","fileCount":39,"integrity":"sha512-NsaUxJJWdb52taRD0394AyBosxRYl9w3TlbQmRNA721iRsZfTUmTy/7HLpxC23Oo8MNC6pcg23RN7cu53GM3hQ==","signatures":[{"sig":"MEQCICUh2NopFqK4y2F+cO6MpckUpbpSzj8nzttHj4DM6EpQAiBZ41pyQAHTxKKz+5ykwAsOcuJMI2MdqG4sIgReBxl7Vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQyyzCRA9TVsSAnZWagAAT/oP/RCieIlq+W6T7/CBQtgL\nRTKoggWa6Kl2EaI87qpDw0qJhTz9MEvxjiT0oR+FMJfKszbtpN0sFaXs+oai\nXyyU+ljXkIKdg25y/+C8TgymWv5Pabik1mO+lGKKPo9dLm0Vyth2z+w9cKgS\nBo0x9zCxc8e8nODupt8oklxW8gWffJESRpfMcjEXmdpA5gWuzK8j0Z8PXoth\nRdaGI0T6Oyx60/2rxlPrnc05862A/Nq8P3Zaym5VAsqG3/rsx2f4TbvM95+p\nqmkBCbPi3zAGVqycjyTbfz95z9FIQL07YTrrrQ95XZf9X1T6vuOujyT6ujfX\nfZZBt5RmYYGqCKD3lGNABCGnvLN2tjwWv3+MET0wFvu7EQRvcLky3YCGNi1l\nky5UBiCuE95kTbvyFr8KxghPoNnC0dp/6Ld5GebaOZ7Ch1da71EsY2kIJ5v6\nmnVAzjn5rnqmShQLwTJd3bqTPvYScCsuDMrlbN9te8cmrymP6C5FHof/Jdcc\nz+h3/3rnak3tBiFJ12quGo6iwhRKaAe8Q6k953r/qroTgTYsiZioYeB7345E\nExntj4kxcHWewsbYQJfukvAiGYx4z9JUfCElEzsN81u/nFAsG34DizI9QPdi\niTWbsYuAvgI7K85iaeAdedWpNPs5FBiq+xzDmOwOEPUgowSHq1Bf9XACi3ew\nF6HB\r\n=65Ca\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"0ef341282634ac8f35ddfa5b6776dd91acebb438","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.11_1564683442517_0.3504168366179974","host":"s3://npm-registry-packages"}},"2.0.0-beta.12":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.12","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.12","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"21a098dfef9618d3f9ea35fc3bd756254457aac1","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.12.tgz","fileCount":39,"integrity":"sha512-cI54E7zmUqSBBXd+c9rgokMXHs5iqNbiV7ffk/CCpSTyeh3dYkuWgarq2t3n1zi4Y1Cbg5twFOKHwSAv9YnUHw==","signatures":[{"sig":"MEUCIQC5ostnr5zV7SJHhMWNXuMzXqtmrvU/Yq8QHOPhUs4wIwIgXQxgJanGkIuHmojavnp/sCJzrcTYaBndlDFcjRoO/Q4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQ1aqCRA9TVsSAnZWagAA/D8P/iI+yNAHKRkXsl9oDnqg\nbuxUbs/ceiepGGiWAyjGD/HnqJ8NlphZfCEw/3bVOQ7gtS/puG0sIsJ3woT0\ny5YXn4sdh2VxP3T1k5V1kv+eM05nE7s5TE5lsqsoKjbDicohS/lDLCtHcDbr\nC0ZHrS18dUqHmtogOFrlY79+tyUTR/tQ4rX6kYjJhHUhRKmdUXQxxy3kcY1E\ntrs++2DFdOIs+EezhuVHn5tRr/NwsYm19nl4bME5hcbAeYwqg8xk07+vVc0A\n5T9TvovXr+hEOv7INyEdSrd6ryjDVpymoZFGBPgDDY4f1+OxeJ7tf7bDE8sc\nqzeIHMSJDYJyvjDwftmlTEjG9d4m/cIEOKEcyC8YKmgi02W4ehR+k3AB+kyf\nacUqkG8bLqWOXjdl7NgwRBa1z+iV69e1ABRNQXCkLi3QEpOMTH4HBrLghRlT\nk+yQxJ4bdnWL5ENE/sGbDm+huQEs9iIv5WcQvshbjK6CgR0UkEAADNtbuSfN\nLj84J5B0LCNzDdt4AQcc1xhWDwHCxwL7HVh1iW3wFSmXgprofHv3afAiw6zU\nS/7u2+6FMWdD5r2Imkk2CdhX7KgiKz1JyyXnyh4o/2RgvAJ2R2g7MDY9x7ct\nmIpK0Re94lurPdvWdL88dkFAYXKeoF3CyB1gBxC6nZbuAisKVk0UgRGP+tZT\n4/Vq\r\n=mfCf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"b865819e17e2e28aa4c481cd336041435b2e2ab4","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.12_1564694185166_0.10008918091726016","host":"s3://npm-registry-packages"}},"2.0.0-beta.13":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.13","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.13","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"92845dd9962029314569952427d87b401ff2364e","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.13.tgz","fileCount":39,"integrity":"sha512-VMLpxuYhlYRZIjCTRrj4Dro9ElNv2gvgB8EwjkddLH/E1DM13X25/Amil9Q2C3rODQw4RW0nGSqePDUXjiBIbw==","signatures":[{"sig":"MEYCIQCg4iYsYFoAJ5DTJ56VfVPZksQyiKBkI7KTF7OAbmluWgIhAIEizRbZz3d/h5IyYzffQtjVX8u5TNZnn+MjC2hZibK+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQ4a4CRA9TVsSAnZWagAAv5UP/AiVH89QYp8nemEUcF+F\nsTy2CEtT7/VpBW+0vqqx9o6qO8/bLCKtIY2Pz8qI74dZPjgnK9iquvub3zn0\nc8KPJqOxlk7V1YItUfJ3hAmTJP67vAAITnGowu1Y9tw2yPOBPPP0otZX5nIZ\ny1YviKjnrAOhX4aNv2AaZYKc8udnbS4bO3WuEbSGN48LCvusP1tSd0Vz+lHT\nNLi25XTuve064RCyEm9Ka3VRRUSl9Ux1L5jvmVabz41ZHjWpRX7tgaTaixE7\nOdhIfjSjstg+igVaHeAI85rHkN0q0YDMHqVH8Ve1n4s5vlKLlo9KZ+Qvp3lD\nTT2shhWwgyR0SaFFhD0fbjkGHOyBzeoqpkQnnuXNWazWH7AUPxF0bwtoDN4r\n7zTDFfkXZUkPK82kEGcAQAOV1FHSldYAb0uR5kacT+Q2gDcCR1H6NhF3NjJl\nbzDkWNtHssjAL4itZH+PkOx6HPdgRaWO2vn1EGO+AK/vMnKac/3oB3iAPa2B\n1mqYH3NPPTwjHQMko2Iixn1RizJ09YJyqhjXSUvnrVm9ApAb81XOqQT54X3k\nkGeslCHvs6P+fJ2Glt+LYOouuYWT7hT/vzdyYrgjtVl72nG5UwSzqhW8W/dc\nfwYa1tMTGGQeIt1b86/oU1Phzm43n2jP91Owb0+vX6mtxmWBuNe2p7jT7JSu\n2B43\r\n=nbC6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"acd6f74cdbc69122797abc2fffc2fb90f44e2aac","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.13_1564706487304_0.24727918904970525","host":"s3://npm-registry-packages"}},"2.0.0-beta.14":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.14","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.14","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"02517788ab08a13bdc36b7910a95e4e0968d4506","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.14.tgz","fileCount":39,"integrity":"sha512-ct0Eyna6ftAEZRgUMU0SRGlehOa4JD/gEA7UKp7avb2NfeyJfk9PpdvpGSynkfNZTI6fue5YNs2w9u7BghyRNA==","signatures":[{"sig":"MEUCIGE2yDHx2SCK+LenBEt9+Qt4HxegE+oY54ilNrhSTl7BAiEAo0+9Td1Z31utvSKsuyTEE7LD3/kj9XVhdHAgPm9Ezk4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRJODCRA9TVsSAnZWagAAcbgP/iwyhou62Y1Wf0YB1m7T\n65Ae8D8jcqhOAaqydaj1fX98NrTOOqZagqC02jOVR3wWqfOvGUMqylmJt/Y7\nRT7C6WkbvyLylArTMHDbdc/zzZTHzismIvaW4DJr8orry6napqzbGrsKQ/Rm\nfipfWArBEtoteXtHSf/vj9MpZJbKpzq0AFKXIo1gyY78gkEBez+i/TmUDKe+\nzbFdX2pNHSbMx75Qz0Ju1p2w+gtCGI5GButRSLdml0T66u3Q6wqKE7BWNYa1\nQAUxA4R3GwdIQaXVRjX1rf/nyR2wDU36G2MvBf3EcB7SgiUViHQbdtKaTZ71\nS7/uRxuW49aTQt0xkbnBf0GXRYW5eWg0bZlJleT69gkNwr4+uElu8JNmCIbT\np8YhdE7UQ/8sBnWdkq0VwTUs58im/9vGH/6XQxpLc6LMm80XQFziorPp4JRQ\nbhiO9o6IACHzeBnk8AWE4QwGA/avjwe2krJgb3RM9qJZTUT6GNJETE3W2EWa\ns+tiuu+y8PI9qF1t3I9TY+vuG7SczcoETvtjq+v2GMBX8/gvEAL20kDyH8P2\nxTlgbbq+bTYn7tCaz8VLhwByUdt2AlryigaUtaEGXRqx9Gdw6R5itBc/l/M6\niEfBbtpGHgxK9O7IVQspEJkX47q1T5Jopn5Qb35w/ZdtqcPhGRZwBNDsH2W+\nACZJ\r\n=qd6W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"b0160e368e7a669ac15069b5d5493e54d9a81629","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.14_1564775298755_0.4047130619322661","host":"s3://npm-registry-packages"}},"2.0.0-beta.15":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.15","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.15","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"945cd14be2c0b06dc36308bd7f457b128e4d5fda","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.15.tgz","fileCount":39,"integrity":"sha512-UXANKtQbUePY+HsXuKK6H7PNiFIaONOBfIP/A/pSukCgUPxKa9UD05O5H5TgGIPNAnh42P1O+hb9tU0F56XxOw==","signatures":[{"sig":"MEYCIQD8l6KyjINLZHEG67PMCeT+fHcCuTUjSFudmYQLopuofQIhANrhDfAZSp9Fxz+Rg1EJDbTUpoB7/X+E7PiUXCzK6LvP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13041280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRJapCRA9TVsSAnZWagAAg6YP/R08PQYJMPwRGnlBMzo4\nj409xNcdWM8n2+6d12SajtOoiiwLAsVN/13TmI/o/wiB74cXAHW/wDySRCJp\nRM7ktCJf/rWBrMn6fK25GjNoZGUvD3EUfeZHlPsWHf12GLiWxaR0I8ZeTLNu\n4F04rEPy4QxvGx7M8dCa46QU1TzBqG/hMDQLq4OjkYdoPD6HZWb5v0bgUHAy\nUZN+P0oHBOonkWkVbCDvZW+1pAN8VkDWhhwr/NmwIdbC8Y76Kj2+EwqJCwG9\nQl3eIluE0n9sP6oOQQKFypsl9ssm79TruJ22ozYgY9L4yLZUnXOLnjAJKx2D\n+JMIgyfSUacDsvAPOHGYN9Xsnc3ZMM/xNRbUyQmS/HRiU20D76rVGO0ln2Vu\nsx4SSi9Sfzs7qFzx7eM8slAzUX6dib88K6nPCMSXbL5iGTLhSnq8CKVBlbKQ\nzCye+fUXinansOxB+0z5knwRVYIiWP8gEac/A5BxtN1U+E8CRdbgJH3jI5QQ\nx58zwbfE7NcWyUds0CVkXgr7pQfYbEay0mG33APdoOu2fUM7pv1+6uWWZO9Q\nyWhb/x6Ktzlju8wBpAmbYBpMnjv5S67Uvdp/K5mqq/Y+ZUw45CpoJ5pRqzgk\nopdnKhvxufqmhFRcn9yT+P36kdlRUfJLE9iZHZ9xjLkC4Lu6ACEQJVxF1j1b\nqY2Y\r\n=c3Tt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"5cc45c21cd3e10c99c339c17bceda9f83d8777ed","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.15_1564776104759_0.6552913605946933","host":"s3://npm-registry-packages"}},"2.0.0-beta.16":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.16","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.16","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"66b0c6aaae4da7db2e70206ac1e9ea86eec075e1","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.16.tgz","fileCount":39,"integrity":"sha512-AggnsCWqeRzzUbIDxp7QMa1RxLC8uy637vgHcqn1gZDFKTByLqgp1WzKMwDBj+gnoaO3c1Mt0BQ3u+5kGCNRIQ==","signatures":[{"sig":"MEYCIQCRykyysrB4QzP4isBBa5Uo+yMX1qZAQGOcllIMi4mdggIhAMVi8y45mGwRg95JvicfSeqPfOIP/RRLTxaR+B+HYR1A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13046857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdRdYACRA9TVsSAnZWagAAUDoQAJy3OPwb6K6gMrQWNZBw\nb4xWGaiNNdioAvgMoXJvco7r2joH/OwfSx5qsrHrlgjo5d1hE4NWCWixJz6m\n+9yD6H+wnUamRVlv9fBh9h5+dnXs2nJ4GKfGUK/BixWCxTzqH6NRvFxmM7Tv\nRbO7QBQP27boJdqo9bysaQ5CxNf20erwTOUcuonPe+Ipxq/h/WlMhDhYErOv\n7TUgphj8D8UVu9I/W9Y5OV02MVK9GLMn8FnZhwOEt8GrRby0zDcOmWlfQIUY\n78RPwb/OaQ0IZTXHVcajjxYKm1ItktLd5anb2qBZGXzVRuUdX5is2wWpz1RU\n+I7rKEa2aw+0aAdpeWbgv/5aTYgiCn7D2X4efpUFeWFRI0/zhumLCSrng4gk\nXQVmPIGbonz3WJvr9RldvQbcdEPegVQy1KudCJUCdXyYese7ZIuIdCtrJRac\nIinGZGohZszhWXoHPEtA1CISKCt2UBrKYKUs8C6si3ln4+vNnLRnD8OMCq/P\n/ncPmDOQhQGf1CQ6cRr7bOQAdutKDc4fTK4vNjFAXY+nFs3TnLS0gaUThMNG\nszu0Lxdzb2SrYjk/qWSE7FNNMF/dkYSIkVFTnw8o8a8RlJQiSgnzwiqycRub\nFIFalOwPxUxaKAmi2E/w8JayVxYPDXtP59ppFB55MNWOHsIMLf0zxC72xfWd\nKTi9\r\n=kMns\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"d5d455de944256628f974ba659d110239c08b62d","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.16_1564857855159_0.2716245349593469","host":"s3://npm-registry-packages"}},"2.0.0-beta.17":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.17","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.17","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"162c677c7d425f6e8ae79b30129071dd1e9022f0","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.17.tgz","fileCount":39,"integrity":"sha512-TfuINJnDEUFUOuy4YoRAnlrEJ9IRh2uYGRKC6ZyAQYM7gFwgG1B60Lu6rCZ8FuZvuRSoP/GqH4Hfu+hkzE4bUA==","signatures":[{"sig":"MEQCIQCsEdHNtaHzUaPXZlejKVKRuXnvoSnfho+HPERf8+ccyQIfNkjrsj7JEO3YaaK+cGV7BrRiwzncURBaXtQtSyETgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13046857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSEmlCRA9TVsSAnZWagAAOGsQAJOnN9MiXjQ8nlCQF55o\nl2FOTVnkLt8+SvQ61o+K2R0ZIwNmQUt1Lp1C0Gqd/fMWUIuTLc5UGceJNnHJ\nyDQOn+jSBYErf64/4RJbN9my1U2YrCPXQIS4J+2dhrdBz149O1Kkm5kYGZa7\nHHY3YLarU6VHcYPcMN5Z4RGU8nugAxj1eJal9eNfdNnLDuf3ESH/J4yghMRY\njH28pfK2y1Iu1tXmqiwkuvPsL+RafjObz6sRo+quNlSn0WC1jLqBtkYKf5WO\nZXsxKDXOhRO0SZtTy//BLosrYtYcIFkqdzZGiFOvXnwoiyfjO2uiNvFPJbHM\n01nM0PrnqHV5wXsP7P1s7tW3nvw76as2vxd1wwbo6yRpFRlLXLSG81ai7pUy\nlqGK8wM+Ye9g60kAxXD+0CZN0kS/hb19bd3hLx+cDJhVqDuwzoqVJIIil1wC\nkPHx+3I/B3CGIlH69bcmPvtiXABIgmwjuJO5Kci9JFmetzQbF/+I3wkNK+FD\n0p1pU+11zhCkqmYy7+sm9uKs6ZIl+CfGRO9sPxiUJM/WA/tYTZwbRTmWWc7+\n6wx42QKQi3tMLVf2XX+q1w7Zsfa8gLMbbkA/hmtsa1MrGP8w6bwvcw1qwZF2\nuozzr0LmOSnQJKiHKSjSD6EnzkmtJvqzlNWw1ZHciqPcNf5Fwo1oULr/5rZV\n32UF\r\n=KhNR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"58678ebd7ffdde5ab9113510de3182ff544df99a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.17_1565018532966_0.3676897012999123","host":"s3://npm-registry-packages"}},"2.0.0-beta.18":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.18","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.18","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"cdc54abd2e1052229c83f61e156bd460237d7a4c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.18.tgz","fileCount":39,"integrity":"sha512-XnWp7RejKQQMV9cVHrTe350zVyXs3NzuDNDVu8x8RrmKYebcWAWXp60XZm1dInWOMX7PMmnYSZOYqjQYPSFNXA==","signatures":[{"sig":"MEYCIQDs4gfMUZNxQbaYFSanI6OCV8IOciFlK8Xkdrv+nwn2ZQIhAMXqKP7bXeDwqYqF7fuzosVY86SFwgmpGNFD37VLZygx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13160002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdSFsFCRA9TVsSAnZWagAA02QQAJDjBYTHN6Uf7m73f5Iz\nx6bgOknK8TnjdnL8tR30iSN2RYTVBrIF1c5RHBMtKmkE4GWzhGk0Zuz7slkZ\nleCR2MEG4nIPfyImZp7PjjUiigP9EcHG1U6euM88mk3P9kW0sgvqsuaKx7n8\n/y0CFptCh/7elRe9b8DJ5StRnElwtsDRIq3P1HJydiUXBzuM/nG8339ynwM0\nwejY4csMCB8Ob4YdkW0ljKVPgrTcrAHuvGfP7Um45eCng6ZpNYAhXrd5hQOA\nEELbUE9OPwTwtA/0lmUDjqmh2KJP8s0o+17iRGU4Hb7YZC5gk0H8n8ILxOx8\nySlL6p4BvNwuI2pDE9KIK/Y5DAXtCO8KZ+Fcrj2auQXmYvIHbR0i0bn4mZQC\nAFRDvyRJXPFVo55aOQnYmttHlSKF+HKJiVdE+rCsNkzTFRNN0BSNCC5z/OGT\nDjqnIJOG16ezXD4JviFIk+KIG/+peBNJvZ7gAFLsRRwlMb7UbU4phqaUqN/t\nNUNjE4GuKdzgAfMRTV0CwjMNpXs0wADbgvOKuF9WMZrb5MoZRd/KHETOigW5\nc3wxkOkHW/yDnxd8CDylUHIms62AuLopNCI4sYCkg9Q9YqGniBeW4a45Fmb6\nzuhrejKGwXLHMCVy5J5AqRhIynGAcLzihwuwre3lR2zAWHcYdhK8VJhnc/Gg\nNWR0\r\n=HS7K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","engines":{"node":">=6.0.0"},"gitHead":"2aeecc64fbe0b5d6b09cabad6f5315d2406ebfac","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.18_1565022979964_0.9875374395071046","host":"s3://npm-registry-packages"}},"2.0.0-beta.19":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.19","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.19","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"877cb265fe94d289f62b83cf4071c5050939207d","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.19.tgz","fileCount":41,"integrity":"sha512-J3zNbX41DMVo1q+y8oht3GzdhQAiEKkhHC5z5oZJXmDsWTKcH1iGFQH4MqNUmeeUlPsIT/s4JssjqZLbORGCpw==","signatures":[{"sig":"MEUCIFVaWb+qG+0U9rhB6RidyIRVGDK4uu1ItexE8e9M2/aFAiEAuLyfSYwJeeLDj/C0j6U0eLdo1JpzAyhscI1HATFNZ0E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26478600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTO3UCRA9TVsSAnZWagAAxP8P/3WF2yHl1gdPHvkjwmda\nKVwE6MDsdST7dfLsRVRBU57nw9s680hEZjH6H01LrQAz2KOyZdLfWEW+cg08\n7hfJiVFBsmX14PoeLomgxkKpqMKP7ApSTRSvsCFoMxH6Zas7TlWrc7XbB6uH\n76UH5E+JAN2mXAq7iuS1ySqomjK51mcQV5wVfcx48bPNwHLE7zc5rZ/Ojpt1\nO71G3e7DD9JzSt5ElxV1OdwKyH1Mdu0weXhuRCJMhX9eeshM7zUqbP6Lxecg\ng+kcmeXkuJ5QsyjOmq1hmhntdhYTPIqQVhsOF+5yxI2HMmMQbUBiJgX764Do\nBEBy6+34EmOJhbWZEwZSou3uwofy2l1kBeZY+s5d8eJN8FCx64Dzoia1D+uC\nFEEPTm7+ULjd7/+UDYYE74eVHQWkqQ5pTaEp7PG7Q+vF8+H/KJY/HV69d3zl\nePm9w/oc3qPsi/wTty4gKyG9rqai5scAnbWcE0o0aypiKyxIz90cC/BGd31P\n8w4vXjZrTn0Ag5Y1725N9TYgK6pwSEQLEQQR/YcCELjLqywcKQ2Pz5JPWzXd\nizm3Aia/iNZ2qjZiptFT6Gn6d1nxTSnIwGWrOuVZslLXqnGB31yKbTivIiMh\nPYKUnsTtnyXh41eaKeQOnwoyhSae4MpWpUi6vLhw1YN++zB8q/WZ/MXunsHA\n/NY3\r\n=3oRz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"5841cb2e4229846aafbf0cb3f4b91cdba4289493","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.19_1565322707319_0.80398393380259","host":"s3://npm-registry-packages"}},"2.0.0-beta.20":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.20","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.20","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"614f9032e1049c96e6811dc19631276ca6edb440","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.20.tgz","fileCount":41,"integrity":"sha512-Gsbpgcu9/gq9RpLcvt9x8g2lkUtNyfBscGJzPU/75ZkjohWnGPoQzbeSyQyJeKt6ZqZ3LR+VPpPtfXfkC/VsPA==","signatures":[{"sig":"MEUCIGWvEpWbOjAYegujP5TVjsElL1wPpy6oSZCBHYvnuzfxAiEA36woHfFZHiyCb9rVirewDxnXG//D/yCrcEIfK1fpGkY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26501373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTcTTCRA9TVsSAnZWagAAmeUQAINFKKQFTMG/lsv2Sl2k\nZK7Plf1nVb4CtxGVFZQn+RffJ2ztFhUixBJYpdTTxVOK1zOLpyDr0R46d5Fp\nVIim/vNqNihjL2pb4NBl54OzKNBv0iIhOx8oHBYpcTbCIE0DHaftFdiGRx1b\nNikT5xMSidkIEE4jXZyLbHQPF1SBRf5xQv0anXMlXe3E9NPAHTo2ztmdrjXz\nuuLk50jU7Vz/EQhtJlXLqIvarTYpZGlNE/YzS0a1OCiLkwAgyxQQR4XlXs64\nCko6zcilAKCX2cfpgJxL4QPxb6xJKbdpPuQ18Eg2hIuPmMUidc8nD63UBqt5\nbxlY5/ugea6hh+H04UV2TkVfLH3LUugmFNQZkivfi7in9g6lx/uV8WTKWnIT\n5F4BpmoC1Icr82PK1dE8DDSB1V8IGtqo9cUKzYlzidRp8UelgTFT8alZFdWO\nPMqlEtRo9R+THPlDXEnuxWezuhjwHRimNA9drIT/26ubPs5dtkIxN3yar+FU\naWHYhSsl594YsijyqM3hxVQTyrQMvJE8pcB/S5SxO5cfGlk+ZOupNSqxOz0G\nu/BiMvQFmEAIuufxuw1qdMCbC/JqsM/DrRdba0aJdkhjOtYtD+yWRD370y5u\nVWyoUt7Tw0i4Zl44ciQBWHhNpAzoArqMFoU+jzWbxt32qE07UHrGrHBDcT92\nWB4D\r\n=cEpn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"666d1d8c1eb169d8c819d0aed06b486d137fdf08","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.20_1565377746259_0.3120530376023143","host":"s3://npm-registry-packages"}},"2.0.0-beta.21":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.21","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.21","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"6a53f086eba2adc045347ae23d70b5d4a3eaf33c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.21.tgz","fileCount":41,"integrity":"sha512-Ey35hh8Kk55rV1+EHJfZcehwjn80kYThxQJVSGAVo9rDQ++eVp0bYxKYUJYf7yYZUTCDMQlmVi+vO0Q0UYWh5Q==","signatures":[{"sig":"MEQCIEdjz5Oi3GSC/Q2AhZJ0L7eSs4A0hQq5RqzBwQU5uk4VAiATebdPQv8QsTUaBb8WfEigUXnWCT2FH4oYvLuDBUug1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26501589,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdTwg+CRA9TVsSAnZWagAAAFIP/AkqM3Kf46wUEWu0x/+N\nwEZ9nGrhagKKmPIbHpgACNpMBezixjblYh1AJyNbCRlnMWtP1GobqPRWnqki\nV2Ox9Rw6kIz9JX62eNdT4xaQfs0jn5cH5oNqPoJ0rAXcl2uBAlFL/hTcF2sH\nL/adUcRSBc6ZDSjPXyacN7aY8aw99ihJV/os/oM8HN8VlX3NtKj1dV1qWS+B\nSO4MD/i4RR3C0pRJqbY1ZLT2TYYvhFt1oPOtwviwMUoEVlyzsGHu/dxzd6Hd\nVz09I04P6iZj43MzEreN4oQAUahLikIdn7sQXoW9bHOxjFox3Bip+J/Mt9qz\nKcDM43h9VEAzcYDy/YiwfD8VpzOUJ+SpeyHwgwBvTqr5Z5WFjnCFwyZnZRAl\nOqB36/c4PZs744XD2j3BLP4w5McmEsPMQsSaVZvQacrG3SjIPVdLK/UAntMY\ns6wG/H+DQf6LStKY0mMUGlFgVoa1YjfISNb8T/gVabZHoj7/JvIimS2W+WZA\nqwzy77zGSmdER+fj3B9BLZiCwE+9x+9ow3OJGJ1CNvIPqUxgvHSS4+Bn07Gh\nlA9xLw+f72hAE0Ln3bL7XcPVMoEu57yyLv8PS75/DggER26ME3a0+lu4VoRz\nPrsCQbX1c0FzoWHG8gnATzGf8Y2x0rI5b/TGHCZdYT15xkEpus1d/7usfqfH\nLI9K\r\n=5wcn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"ae1ba105dd1f72f1f5661832dc35fc0ff4cc49da","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.21_1565460541326_0.7886742501092272","host":"s3://npm-registry-packages"}},"2.0.0-beta.22":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.22","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.22","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"4397cd624c85394b625c4b43b596b172fde352fe","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.22.tgz","fileCount":41,"integrity":"sha512-8yD5eON58pPQ4yhYIVxUy9cWb5SahhFoqXlTfhyHThCIfJW9W77QUmOUQ6nDnKN0z6ShIeMwCdnrrE+dsvzxmQ==","signatures":[{"sig":"MEQCICOZ+HlI4SnTcr44njqa+0qTTV2kZOHfw+xXnSxxGHOiAiBSDxjW2jcSEDXkv++3IWYz7/OX0dG+d6f6dCFxq1OGiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26518628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUX9nCRA9TVsSAnZWagAAI+0P/AicPnWilOAsyyqxc+LT\nnMZg3w4R1UTfD6A5UKa20djq1Xj4q8xU4HX/GUnFeOgN7IlLLqE27ZUfC67t\nt6+R5XQrU+FcuQ6WoMqf+lamR3XmeZHBwG2jttEBnStPTeqvQRvRA7+Ah4Bb\ngPxicxd7MedfQoJ/yN8+DyFC/O7kzPTOKltP90gO9mk9Ic7PAWD5cp7T0v16\nUT9of4hqWYe4NOGOYcEuqgweHiVA/6lSe2NXOVH/IS28JWGCsU6hJ5+fOyZp\nx3YrSq8UXO90TDLYP20+qV17oawGmvEWHYHuZQygRr+XMcY2Sr6RA+2TXFze\njRg/0Z35U6tIyAiVcH3BaA/4F4EILX8yVtXT+ZXZ2pJ4QeofJGcZPMfDESwb\nRsFIhK0jZTTotrjXcYv+x8+fvWGQZzJ0N3KObZaXSknWVgtDyLFqIMDCSI0w\nmOGx/UAoEeoZ4Kf+okiPEdAsmzicMTO4wAVb15Kgq2fv7JLavzNeOIgXYjX6\ngeRD8UgcidrZOdAQaquinVXwKBK+I6iGcKMpt3yXf+vcsFyKBlp8R9+qTMaS\nNHVp02GHoCZxs53ti6bvdlU5F97LO2savzsKvqjurKcVVT7cEqfh2lk/JlL+\nA2YSsnqW+yQfsXZPPO8zDvxJLOoMZCsPtxhd3I0g893Q6Mkz8vLdfitGk5KW\ncsv3\r\n=ZKfc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"df211e7e7b9f3831d3b0830afad8da30de9cb63e","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.22_1565622118848_0.29194973101117894","host":"s3://npm-registry-packages"}},"2.0.0-beta.23":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.23","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.23","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"b1f501b9f06bcff6f1717444e0ee32cabb05c8aa","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.23.tgz","fileCount":41,"integrity":"sha512-JzH+BdCCXaXLDQFx0R8OwZP9+sEXpIQGELXksfw+epIwFw51FkgdvYhljTYUR11BtrDoZV/dkJXw+jSqR8+bKw==","signatures":[{"sig":"MEQCIHkvBbairBjf5r8AHlglJyia6BjEQ6pK8r1fOCx5bUwPAiAhVLZAufxSZnocHT5+/eC7puBw7kJ8SoAldRAEQgK8tA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26536223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUZ+DCRA9TVsSAnZWagAAedwP/RJeI1N8UcBE5cOxNEEC\nDmhc6JPYH+46LkDh2ewTQNRV+20R/1v9L3hYlH5qwN6XrmY9P9CCDdB96i/y\nazoWBu822a72c9MdBL+NxSwqR66JxjGWVgH1NTeT1CLc1RbikQjC4khCsBOc\n55sn5wyewlL5ii974C3+1bolirkJdi0d4/8dpk6tKbPcDM+bc7iAQ5wuo6W+\nl44G2nUKPgpyCNSQeEgdL4K8jDIvOgTodza4h+wIErc5ep1GJy/wY1wTSP+j\n1suEH6HAIMzscGsQ22YxUGFBLY5BtuBGa+iQX7w5irNm2zyEFshYVIFA293l\n4vDGTAGhd6OvdGQ2cwEfI6EuvNq708RV2f0/9MFl4+c4pRzrWMK7tWbdyTO8\nPar7blEJT/Gmonor3aC/3bxjQeY/FcerI238Sqiovvlu56u8snvIE3qgu86D\nzU7t7xq4UHLo+htipAKQtn60zRb3u3pWarpBR1ILJsc20wd9rvSWXDyqvW8E\neQI/C1mdedltNNNiI/x6q1BTqC59uBEQ3X34Th1tPLEUaM4Ag/dCUQUUIYSe\nV6ZUPUkFFDcCz8TiH6BsjSUl1qUz9TeT2+Y3vWP5DyVTc8D2eaNU0J87NQBP\nOkn7FJk76ELtVupVWF8czkAuHiwXh7gSerybqTrwriOpjPdmDbL0kh6FLsV9\n/drx\r\n=jmvy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"a3836d568d62ae1188270a4bb9ee3bc3310b432b","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.23_1565630337994_0.06137739984075541","host":"s3://npm-registry-packages"}},"2.0.0-beta.24":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.24","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.24","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"e1da05ea0b61137c6211b22985e211d1bd7b5274","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.24.tgz","fileCount":41,"integrity":"sha512-oHO74K6vPxCd4J767U9vZAZHKO8mYu+LlFzcTHzjVGWQp2i7MsrXH8JnP9uXQHTT1FEvcQqrovameIF7S5qmyA==","signatures":[{"sig":"MEUCIQCcW4kjZJrlWTZS/dwM0Qoia4vAYb80fMThLATCz8Hh5wIgfLNwv4Z6/s+NgS3cwnjsa5HH8NTllTDAcgtx5U8UcCw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26534637,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUyh2CRA9TVsSAnZWagAA+dgP/3Y5SaPjznrzpyNgD42h\nA8zchQNwXWrKe6eV/7/EvdXP9r3R3f8GAjTFmGxZ1sPRZLCwhnRPF4H+7ulO\nguvds2j6lSbe76Uh5ByG2gBOPvKHeFyjXCGqdb0UF1/8U1+y0fhgV09Ww8QV\nTytwp02QubqOzxG7GqhffnDfxNVgwWSgAn09Dd0svdF1Z3OkdlfJEZxC6FY8\na1lhmylOW6muXoafzj1ZeZywWqlU5x3fhsbDd8OKweUzbChDACbY4/Zm9Tvd\nbvVxTlaO21WE2MorraV6RrcYd6CGwVck1GXfMLL69fLt+LxPih1r6NXn56u+\nxhmlk019jPqNi0it6cNa/DFGYeQvk3DerI/60hFllTQaqgryorhXo5dYjFOD\nr6+fw/9KeSqeihaTTTBciqkT9Yfzy6p9zDv3Mzv78Ljyf3FJRjL82gSpAVMP\ns3V9f6m5y/n9t3Gsir14GAoaQKAaS3+R25MgXigMWf1HCn/K7WUCG8JLKprJ\ni5p2wtrN9xFIiGJA0cddl+z2Zhw2L5cjLL0Mb8NbEvfd03GuN1KFqOLXu1aG\nktBdBZwDX9oKzcWwRbONoOAFIMyfbCu6h8qQco2RztHtcmKC6Hx9QTmhaS8n\n5VpNVdwbEq3SymoH0lnB50AGQek1wAtUU0BuvVIJIszrG+qp5o+WyP3M72i8\nzY8U\r\n=nt9k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"fd8d6b58f1bfc20303f0173cffb0491ce244ff6a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.24_1565730934094_0.3234637418834594","host":"s3://npm-registry-packages"}},"2.0.0-beta.25":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.25","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.25","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"70c58deacfa7e277354069563982c6102c741eb1","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.25.tgz","fileCount":41,"integrity":"sha512-uI/3lNnQxfnQSKhfP6KJVSZX7NfLfMEcVOyOGqEWzd86n8dQuO2jfwCsVy4FDw5TcF1J72YIkHV27By+T2Y+aQ==","signatures":[{"sig":"MEQCIG63i/pjWBV+x1ybG1tnWTByUWw6wh1Od1CCT8RerWURAiArahBhcFfwy7dL34ts9Ps5rxnTSncRr/kmfLlxI5q7og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26534710,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUzQqCRA9TVsSAnZWagAAZY0P/ArRXIJKW8KaJRf4RZXk\nqJJ+ipotm8+sDlG9MBWDooXJsYrNPohlFbHZVy/TKi8x2u6K7p14y7UvdF0/\na0J4xwl4irA5qZ/seOzo7H2yDQy2pmVN1o3+NRAGi6UOUJ2QukEcMtovtAJV\nZK4PSykaDWS1rfYjY5g1rqLYl2VH20JZm8Z9eBmec0vfDm1sOAE6I3fnTV3P\nal7xOlDMLTI3mMdfMgp20F0SLaWE0L/1STax1clypLpE7n30XSMyWEiIC6WD\nt0Cwyo/2IkXpPNTemDo8rZvJ/e2VW8jIAaC4H/5MlSPLA+6JXvtZ9QXLgUpV\nfzi/F6OyCPNiv6cVd11+0rnaYPNOG5Fvwo43nSR+wVAOh0FNweXY2uDFAoiw\ndIWolhY80Blz4B9mL/bd+9ZwoAZHerLFxInDZV/spUkKIygOGr0ZUf9aaXzL\nI3n/s1ouHxsjUScJLwQnTMDV2KGMiFAZdnOavY6UU2TDlhf7D4ekjErpvMod\noHxx1g0lRvhO1KF14mlAMM9cvUS/iUp+P8jz2qb11GjCc++izoIWVy+YD8RM\nZQICkOVOgpNYFdXyW1KzTTLJ0QJxAsXvoW7oJFyofNlbmTCbR0RMq9bfIUe9\nFutGLepkON/mZ6ZGCX5J1Sugj61jmZDEe9uaVOs9XEzF9BTZPkzYb0BBPisp\n1hVo\r\n=g5We\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"4262cc5ebca011b31579ffdb4f1eaf1a611423ca","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.2","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.25_1565733929934_0.26444578472551084","host":"s3://npm-registry-packages"}},"2.0.0-beta.26":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.26","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.26","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"111cd2e41195c6ddeceae98d64d1126b5a183688","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.26.tgz","fileCount":41,"integrity":"sha512-B4IzdLCmW+xOb6q7JPcRii2EutPN8IYaj9yj8oHJ9NgxmSHa56W7dVg5EgQUirTQeOQkIJd4mWHBalO3yZlRng==","signatures":[{"sig":"MEUCIHceUNQDOQmi43PAtgYqgzSlUDbrqxaI44UJfWVmN4oIAiEAmr9EvXASzZOv5AzNKhbBvno+30kzFdFsniHuZAv4OX0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26521856,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWyaoCRA9TVsSAnZWagAATDYP/3FHxiyfS+HDFxcd8KtB\nhrxO0iwmSkrrhaxMXTqyq0cUYjfydjvQqBqrmB6yHpcAS19CPbbZpkD8k9Bi\nzNqbV83ZzV9/fqyITyxziJqPity6Wr575AvM7ioX0J/1UCz0y/Gvg+BslRxv\n7kDPz8ui2EXDxjkybXqwXmQ2OuMTbbUmvs58R+pLipi7WPxpogkxa+X9SWWc\nnaQ8UhGgTxdjTYy27L8l15Vu7ynPt9rfTI2mKksE9EUa0rkYMJ+UmUFoim46\nJLNTyQyVgUz1gdqdbRajwQzZrFQ3TG2ma/phi8qc3t0yVxo33uv3jAb4+dlY\nQf5kYDcR4YGtfgwanEcv6x78dWaJgvmT+cE+rSbmZoTltJM98VFqHlQGtAq0\nAYf5M2gG8OLLDjzkt6Y95ZMNFiBwlo+RkxT6vXE2m0d4X5K5To84nuvDpvah\nz5MgPnHO0vzN1RVncCIBKXzMcLSq6xXtVVidtISt+/CQXkXACRjVW39nQMjn\nBUIfllZdFmW+ebTKHwEdK1hEOCZoGozh6L9VCEtxBt3+wL5EaWVz8tQk+C3j\n2PUc2W0seQZt/99LDx/5t500mZcdpDZFNRzGiKh3tMlZ7NKFvmcABW2IIsC6\ny9/z9YMwGta4IbhExXqnhyJ2bEeFYWZXlMhkWkHKmQNrUxxL4AsGvnxfjqSF\nnQFP\r\n=uEEZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"db1fd9fa98d9fe1891d11898785fd917f235222c","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.26_1566254759235_0.4859269272880391","host":"s3://npm-registry-packages"}},"2.0.0-beta.27":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.27","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.27","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"cd3363857bd8be017eb4c39c1c04fc014534cd57","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.27.tgz","fileCount":42,"integrity":"sha512-sfkbQ+8GIWT/K5XQupafkfTocLFiKpOck+aeKwFBax2TwCxpk3HhbJrspp2I7GN4KPK0tgS5FlC8RQIa1C3WOg==","signatures":[{"sig":"MEUCIDupk0vaKEa+mSHsrdovPd3P54Qbrxx/r+XEMDPZfQ26AiEAhzaXPNRZovYlaajHCoUFVpIygnGXTQyGshZOzXbUQ8Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26671446,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXAQ9CRA9TVsSAnZWagAAae8P/AryYrNvg++fnYxCM/xL\nkvlhszXsnCMfIGKJfcCulTS9i6bbwWWTVKUdaAOEhEaTzdhWSOeawoO9pHn1\np9JvcbOqp/6+5okQBZNGulJwUQoF2Wz5HGAkLhQEnXJmtuRwYfVlpFc3CQ9/\nGgEyyekTk3HlnfjAhTRInLseIN6x23gxus172RKHrrcXmUVk7vwaIy3qz2Ek\ncvLFGOUy/2ZV+xp35OV+E1PEerlaLhYG185oJdWPXqXuRBwd6SVYzLvBHRp3\n6hMHXkAmM/gZFrTeZcvhyZA8fMz9B1BuWVnPc3mmCcQTkTd1l+SPY/9z6t15\nvKyAekf8kU2TBvGAZE3c4FoRPXizRrWeTTEdNafw048mDia7ePcN3BIXTtDO\nq3aXdytNvFf5E6UkswkxKfB58NJVDPVjq8/HkuXIQbb5NCMBmlXK6WolDU20\niHojfZztChaj822bbyQ9g5iAqY1x6TSDQNm24vUU1w1HY7vwOYJ/bUFaxs6T\nNVwitjPHB2cAguLALJHGzVeLuAZfW8Z8WPAcLnJ/+BkhAQnlPjNDdQaKYOYh\nP+gVOtGj8hKFR27IFEOCe2ZoVI6ZNgG+nYAN4Bv+bcsUc0NJlmsXC0dZBzQL\nzuxfme3T7Tl5qTqI51ggSN2SCO+JED1L9EvJci/VcorkDdnt2owNdLWnMrfH\n4tLk\r\n=kilm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"816f2246d31079cce760bb25d04485c2adbdbbff","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.7"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.27_1566311484760_0.8195772690000136","host":"s3://npm-registry-packages"}},"2.0.0-beta.28":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.28","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.28","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"3fb318443099b3f8903344047bc8aabb075b6c0f","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.28.tgz","fileCount":42,"integrity":"sha512-F9yfGzbZgGNrkveWclaoSg1H517dGZJ79VyNmfxLeJxMg90RCwWXkWwd7bXR7GrWkH3Vru3VWZJrOBURZfZI7A==","signatures":[{"sig":"MEQCIG/kcCPQcbmIIhp1v6dUapsAyhmy0VQJNThvJMpoLLqEAiB4qJrkN5kCTLpf3IGVaz/CiezD63nlMcdrsuudeX2cHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25954043,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXMKxCRA9TVsSAnZWagAAoS8QAJ2VuOhEtWsT8iYEluIq\nWgcOMCeNty72GzC6lS2C1svpiXRka3/bTAA6e7BtomKISMf6QQyaGMbDkUSs\n1tJOEqd1t+WdSQR0uLDtMq1EcNozgsE2C8ix0ONLev6NEEoDkwsn9GsZherh\nOaNM6PCjbaoCcbbPECtN0eFiRGnCRHuTRmNmw3AUIW6LPIqEOJzJHYmddzj+\nNOmhLHLnxOOprHjNZLocT0WCipeyouJh3Qenwnjq7I3iGyOxm2eQRSR+eao3\n0Qc+YbO+9k3RaVkjHsPGM3rGfccDjZCeX8E8ole7R+rqV7gueeV6Ta3clG49\nnj5sEfbv12hWc0fLTaZVHWlxm9DNzxfT7H09ph/WTb9vQbbV/4etMMeS7hNK\nUmL/jw54qKpJPZAWneRpjLOgd9HmzenNhGySk58LLmPlkFV/Td/82PpOSSEG\nDU1abnjJJSumLWFUwRT+y0y17z6Og8GfdRRaEH4cqu8U8AqRQ2MlYHv7YHUs\nLhcr8GxbCJShlOmw1A7rjTla2CruXh76g5PFKhJcGEQEkeyM8+wHmwzmhrrC\n0Q/7PuF0F7IgsOuHxZwvANDzy866XTMNHqI0FH+j8cW6YKtt63hrvIO1Se+i\ngXVeOPRyCOaWrnBRfUpr6Er1LVIh49qAjLlYzCfluSEKtCJBJur3hl3DTziB\n3tHk\r\n=1UlQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"9ca7f0ffbb5761b031366be72fba650dd9ac75e3","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.28_1566360240836_0.7937455696799542","host":"s3://npm-registry-packages"}},"2.0.0-beta.29":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.29","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.29","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"8ee2a2a3b91f3b94fec2c668a23125c116f7b01c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.29.tgz","fileCount":42,"integrity":"sha512-cxfVRMQSD8wH/SU/XylHkgeIYrfe9PYRaiJr0+iQcv8yxPgzKRkQaOOdkxcskAOwVNQxLgDrpPklVVwQNBFIxQ==","signatures":[{"sig":"MEUCIG5SAGvfvlbecaAvyKTEExjvZNM1Eh0YSTg2kNF3uL50AiEAzG/O2sQfgBTx5XtE57mMx+1TgulaN6LQhhiMW62iJUs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26649881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXXjVCRA9TVsSAnZWagAA9c4P/Aw2DZknvDrbsKdvMufy\nNvttUG646OgAth48t4T7YtMaQebQZMIzWCw6Z2JcNIm1B7yHJvBh61skvMUD\nmNe3vIRrjVB5uGC/JaWRvJRu800QwoRgq7tibdAmz2j4tdC5F6ogoAicU9AB\nDv5zTsV0XrOT+8l1YbHxFLNaDAPaQ0TkeNgaNzsA7oXD6DQ6XDra49pNPF6f\nmdynds9FKTCIVnzxj9MQ+vO6QUhzRIO0FuhSlxhyHCuaFsUzPlkBuTcnCtOz\nz7SymBKVAxrxsqCkdkTHoZ3DiMMpdwcheucsOa8Yaq6wQ3n+u0w8X/OEZGPL\nJbiGIk945+BFMEjLl4ybAU2VeJxvFdzcOGZqaeRRkXw+yix9MJ47sB4kOWc3\nI62yGYAXlNZkZuUqcWDBrXrG203mHb3OBb6z439R8nccXs14YjW0e+nF31s1\n0u6mx4CpdvtTQ0pPyQ/LwjhTLBLp99PW4U63YFjMygYTKGwXuxLorDrl5L/G\nEdlDD7hkMslbiSpirBDozbco0nOo2Dl0KGUGK5qBJOdJG9SkeE+p49noY81u\nJTYSgNrQDDLD3g/jiJAvEWr14yTFJmt6N8FLL2NO6kxACme/1sQKBOcoxgU/\nUlxN92OPbCgVYDV4uCAMqRe90Rh37vuBLdyuul7CMLXEeI0uAwIOz4zXpEhj\nHlNP\r\n=KDPf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"04254bc9001067e2739593920718bc849a790d75","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.29_1566406869204_0.8959166937486376","host":"s3://npm-registry-packages"}},"2.0.0-beta.30":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.30","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.30","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"f0da339f4d17a50c17bb9b9fbc1dd7bcb9110242","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.30.tgz","fileCount":42,"integrity":"sha512-FHCMbXE9kQYRTIiqRzXx+AB9mn1pGMw87o3bvSvrCcCepMsVXONOd6N4isFN2rmxUtgpkMQ4+W0IdauFWAEyKw==","signatures":[{"sig":"MEUCIDoSRABZbeedxSDmuXCDoVC2VUO7JCQb0F3uU0vU+TNUAiEAqXUGoy0C6AcDKObFe9fXmPK1QnBaiBT2V5oTvJI2G7g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26649881,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXXsPCRA9TVsSAnZWagAAeTwP/015oe0TA7ErQriMeY0m\n6DlQCMwXKCBhV3xb5kzubFihp0gyNa5ISBq1dIp+8QaJrlgO0McY3Incg7jK\ndZ6ES2Q6YQMR3M1T73ZTJDlXOviqJdfZjWbIpaWN89Z50POMdZkVnknJjn44\nTz3dUbgbtkqv08YMSFo/mzfBzpJ1v+aWw0Tovojrt4iq4gISu9zXx682rAZp\nQGjcxE5+7e14GAzLThQAiTDOaQIeKsPlHZ4ST06pglg3NALRWNWWzmnFaNuN\nP450STuEbI5ego0EkbXBT0Fa73mIFdnlBzI/dRfwwZb5e8s0flBer9C3131e\nwlPSZDLXYAYzfyaC7lYWD8OtVFaVOiwiOpVlrGZz5vehBImfq0oFce824jUV\niD5xlFPFJSYUBbWpE7OWNoPgUVZxjpLuTa4K4pNsE8c9Ug86X3ECMfOd0Hwa\n+0aS8OouwD8Q/tRo7A1M1s47E2SXb+vLmZqnGsIZ1RP3iRX+kLhoXrlM5BGr\nEoAaaxkOaVaqfDB1hLLQEiGbO2zOg34H04ziEmiHN8LumCxs0z2eQt5MKraS\nNNsbjFIBxpGGu6lf0l1/e7mNxAhnzfUgEcpGX+9oZGl6FbHqjC0Zg/MQf3tE\nLVRROPZjlJhlv+BXZKpAE8hGmB5Efta/WsAD+Kz+yqRFVxj3H/yAjwboJHw+\n1Aby\r\n=aCkM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"c7e5510c46422e9924ac470e5785681f2ec0bc42","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.30_1566407438311_0.35626692185083364","host":"s3://npm-registry-packages"}},"2.0.0-beta.31":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.31","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.31","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"22c3208ad9b79ae612077a4abdbf806ece57f0f2","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.31.tgz","fileCount":43,"integrity":"sha512-V1Z7MtJZEkXxcIi4mQuRVp9ju4ZBYbXC7MUK2PGe5XDR5vGr/h9oXzzSZclYlPBu5l1RaaTaj/QdxHlGVyysKg==","signatures":[{"sig":"MEQCIFag4+wkXpHiP105D6bECkRSn48hvui2sOaD/VPT62ebAiAk3hatDbrcO0Silg3DEzZHWQR+I0npZ+cqg4ScV92vPA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26821050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXZtLCRA9TVsSAnZWagAAFsUP/0XnQWclZKFoH8JHOTY9\n3jE9UZY9rBxewjQNj8y20PzfZCDDpC2tyQlMFSphv9uPdlc2p9xpKEU5wg1H\nBfMsl7xmBCKYsN+yDOwFIpQ+WhjEgmSklbIAaqTv7+9t3IH9PmmquM+Tyb0b\n0PbtGJZwwWJ0gxMWRorIz2l8iQRqKRbFnap8kMilxO/Vce1Ox/TM7J2fxnKa\nX74PI/j0i9QpT6ny7GvMy3qcLXKMJUCtrX7pEcqptQi9SAUrRDrxdeWGFDty\nOnh+nXuknRrfg1mjgRAdcvqLL85uTeLhWYz8EDakWK6YSs701dlye6kl3D5l\n1u8HYaO35MOrLvY+QMpvlt8OR+uPdf8V5yuXjPpPIrpMrxF8mYqlmLZioRs7\nfLgMhcWigOBg8B4nOH3N90rdCUpg7Nj7uykfLpnMYlOTxiENh4BHkP7s1zN1\npp5dhHoIPexjDmVwzKd8PE67zOjbKGPCnQ9ALXkaGE++vBdVCm9i2hxhSgkk\nj2fb722L7+9S8funK+Uy/vvUHUzBe540BqXYxT4Udxl3IKsdy3L5MHAoFbef\nxv+X+NKYqSWXJhAlixMtKxFrTl0nYRGTaWla9KxtkWG8+Fx0tqtFLOdj7Jvb\n3YNDG3HbA6KxxLaK0xqYXVV2TJzUu+zlT916QTXNO2DP/5LOKH2iBlG/5Mrc\nAIeR\r\n=xwAU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"81533b607a507415796bf5f64cd605b41c77f533","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.31_1566415691057_0.6251296256788283","host":"s3://npm-registry-packages"}},"2.0.0-beta.32":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.32","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.32","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"0a7ec1570e538702c551e0ad5df6b6689277e717","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.32.tgz","fileCount":44,"integrity":"sha512-gqKNfna7RgMH7DOrfxnWW1GwspAnm9tIRsjpAZ3CLP/02PmYdK8pZP2XN19SdhmQ6JKWAGA3zi4cqfT5dw4a4w==","signatures":[{"sig":"MEYCIQCYcaVNYsoiLorBLE9iZQpSoddw7wuiizL7dJHxB2AOnwIhAI2ZIfQklIQtunPD2grB0CBy3dKJRZLsVZPac4/BlLCe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26987124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdXsBMCRA9TVsSAnZWagAALp0QAI72rltkPHfBvE/HlnoD\nV0IYQTPnEZFUVG/Ityj5keS5woCzx+K/8EhN43+BFSFZ8mma3GKJMcK8eNbF\nBhA1/cF4ScS3o4gOWfZs1dQJFJLJogWKq3SpJMbUh9H5wvsO7ZLgvKnb537u\nrN861nuHQugHkOWkcHA3+GpCChCyeIzCJgiiX4W+tzFe2b2+ySlnaW//rLTi\nLVqVOba95RG+LCxu/LVvzZg4b27uZM/+xmihp12ICllR2+Rfx6RoKOYJBUH1\n3qUiM69YUE3tXFJ5pAGCEt5vbPw5ZjvVFHf7WExU9dMLw4AqjkvYL8YjyXmq\n3m+SebyxPJ0xk6cUHyzH31/2opyCQcMb4S+NcYIDgjXDDLq+67Qtm3mLxB9J\nOXzebCqDHVPluLpZcEZseZV+a0AD+ukoX9Ysf2L9d33KJidD4HvzaZ/xT8AD\nRd7mSaWnvUFiDki4tLyl0Y2GOrLXYe9MCIzsGy0gHFW9tcac6/Yhkrx85Lf1\nMLBFRsI9rgFdgUDurO4ZgDx8QjD/PstOunMx+LIrVzt5ix3uiwTN6k5mzTh4\n+Fq6G6YuXq2X6LGbb6bBL+KwKmrJH7kO9tqcLEpwpFtAuOHfX567P9e5Bekb\ni+xOI3TpnELoC5Z+SifcG6TzWx+cjqv5jqE4PBSucZnx+Quvl7fU0qLG4u2Z\n+x+0\r\n=TkEP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"17667807511490e8e834700ee15aab4b1a3d41c7","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.32_1566490699711_0.03054035822510559","host":"s3://npm-registry-packages"}},"2.0.0-beta.33":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.33","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.33","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"e4c76d208f7b023020d2af106306b9909a2d4685","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.33.tgz","fileCount":44,"integrity":"sha512-Pu3gpGEqYrBhChuYoE1axBUHarGCax03eLCmfzP670EbQfmYv3qsZqB32lhds1tf+NShS1xZhZRTzylkoinaVg==","signatures":[{"sig":"MEUCIQCftxGBKC5vzinjAvqqM7HnU3SOhkCQZx5SmkipSVCOKQIgUeEygJ2K15MsEVwBVnPOIR7l73bfoKg5iShz4YZwKhM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26987124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZEb3CRA9TVsSAnZWagAAfP8P/j5lkTJB1fONtRGDGcfy\n1XqH2I9UQL8MA1sEJaW1teOsN/LRhwBnmZA9rIQ4DbfoUXyu2W+0Ikau6aXK\nnV0LRB+/QWcMOPODCnT8Zrv+hKLiMFncNiOMVHtFY5HoNDB3Z2slz1uvC5R1\nlwzy+Wbhh3/RdmVD7dSBFLRZDOU3UAY7TjFLYGLFF8qY4i4S9PxzGKTTtqZ0\nv4k4DRJV6XdgjtkDCWKSmAtd9xOgkrdLudEeXgHoIXF8wOT78booFAyTKXXm\nb+qHB7mpJ++87vdfb6FcP7C2vlsi54SEDQ9QpbqGryc4N/0CofDPIQrNpm4s\nvg/pbcpAH3y27JTIbRPLJwq50YBLdnXF7UW6qKQ63gKJaxt575S7MrWEmN6B\nXB7S3UUZNazeN6qndNo8LL2k3KpcVvaFTRIPaxcnpRbKqlfH6OJQpQmgSU2/\noO1kP346oZR9RfXum22ntnhr9Hd/jWeS3YlSgOScZHru/Gf1W98Ycau6sQSF\nH20YwWfpsgzjqW3sjuFSB3Tmsp/DzhQwNZdaw0tQy5EYwxSos9zXUBWAfMHC\nK5Xy23NHR3X37qhmVsvMqRl1YkZmThM9DQRJN7D7GaT8z5oCcAhGdsDlEiJI\n8w2QS9k3bYqtzhwtqe/iiM7pI0ARYNVve8oSqh9wfaHnLUfFMZHJK8Sw6bvU\nxFDH\r\n=zVQD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"ce60906bc223fb4d16fbc4d2366000842098d6bf","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.33_1566852854862_0.8564713280289566","host":"s3://npm-registry-packages"}},"2.0.0-beta.34":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.34","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.34","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c2781a4c51122ebbdd163426fbd2d7edc8ef05cf","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.34.tgz","fileCount":44,"integrity":"sha512-56VTpSzniliadVjdrrHXQpE/ugRtOyiQgzed0CkS6+skUEWEzr+sOyG1rthcMXjt+jn2olL1U+4n73E/RW9KLg==","signatures":[{"sig":"MEQCIEGElEURNwu1sN0EYALce7MM5v6PsZuezAbsOW+ccXJOAiBnTP5ZMnKHDd9S//paLTFPGwl6PyuZzKyBgAsx9iDnjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27049437,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZpn/CRA9TVsSAnZWagAAAn0P/iDA+rFr8jTkYx5Xcfxi\nKNCMP05ze6g8aV7lsZTIVtWE8m6JmMS24/dumvTpovVmTOe2ipaAt9f7gBCC\nPEywKJHlX+RLtN9q5pwPPfgwUP4rXf/s2T/uaCpKcTD+QqecXzKzTMwOZ99j\nDR/8G6JQeMX2krrnL+hDXnnAWg29a9DVzArfqriBeKVi3s/NZ7QzGkwuMYHb\nxgWLbtDbhAa5ek2lJiZWHdZuLx5gD0oxWqmz3rKd5mng2p0aR3jeCUvpFmE4\niVn79ojV7tJOF/hOtghBVUN5AiIu+OKCX4aUw78hED9ndJ0wnlEoEgtvtJ1/\n6KRGCj9en6G1wZpwof9lvc/9eukwsY6KRMWmNCS6DZLj3RxNwitNM8Qdrhe3\nN6VuVAN+qlFugspxCEu9iSJH/im/0zNqEjH0uJf3u7i4k2EfPjrrvtu6b1Kl\nGNdX9Wml/V6SLG00GheeFO78gDPg9GeyU0HIH7qPYOQc665+mnCR1nULbRrf\nasHWIMo6QpMRzStMcVo1cXHy2/nnMHfFvduAz0Ovod8v7/Oc/MHh0vG80Pqb\n3MGCyGxz3T8w184kF7c3LW4ko6Kff8aZuxm/NdhYCCgCnaA57i2E4ExYJCIK\nxFlYeM4h9WsOQmsv3maPB5P0xvii6BB3rnKYyQKNfLqJIPnAh7pKujkAzVxL\n24Po\r\n=j5kf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"650571da58c0ccdaf343672f28b3f3e8cd3b9a02","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.34_1567005182213_0.694259456193363","host":"s3://npm-registry-packages"}},"2.0.0-beta.35":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.35","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.35","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"fe5e8604e86570099e39476f746ce48233921d19","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.35.tgz","fileCount":44,"integrity":"sha512-OgoSjqmnWM8F6OUFzWLyFvGrWtizZogewTL3uwRLkIBoXePrj14esm/3O+Y3Kho2ha4+YuOjoLpdsy0DmTqWtw==","signatures":[{"sig":"MEYCIQDjc0etqonQAUX6FK8Hj56fCWhHBgNOMTzEAo0RGS/VSgIhAMWnprQkq1yTcQhwUO2Mv5NLKVHfAvQSKNz2BODp+BHj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27049161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZqUiCRA9TVsSAnZWagAAMPcQAIOd+w5/9IdHTGaMDxzb\nTHLpFEh0GhQjMF+rNghU2qUCVRv/r3KXgamI3PKEVvxoP/tZ/EEqaeJvzOFT\nVi9I920WvsnxGWZ+FmMF6+lYRTYUvHbFqF4yPSz5J/Bi+jsy/R6ge4ygjGUh\nos7kLRcstd0ES7uQIyzxHjlDMz0nQFuacGW0t0Cix1t/Mezl2OjPyNLa7nOd\ntUfLX4M64zZ8adDC+bdPb3xYchW9A8eJw0GV+cgoQj7JunSIkJM5fVFj9g41\nRkc1uIk/EbbYHsYO0vcYZcC5u9hwodvF6ql5m5Qn7VHa76gW72JwcCc1/Ble\nk4D9M6FwEH4kNLFB8Wyv0q9zcDAm5eF9WQ4aXqAxfIvYSNji+ONT2Dxv8VcE\nqNmQKNk89oxLzIjLpwFKnaW/acZ3hLAUlnr3kAwh9HwfOaiItS0m7gE0EmcE\nv9NTl/UcQlqEbAl2pBNHKcj79OggnOjn6mSAPXfuFonUX1jKCKHaULfwVy89\nxt+dlIsFLa0gjLAfzhq3mxo6j8TrT/grjKi4us3s486fnzvPZUAXpujdP0C8\n2+IUVqk8MZwnZMosmfcGeyYLJ/ISkzkf7uj7uxQc5O1GrCnNn0D52MI6MlUB\n90nHEEEPRcxoHY2NPtBBzridVsb9ULUGkSo8Cw9u0E19s7DGAEnqKX1RAFAw\n4lPh\r\n=CHiH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"fcd73bba57729c039ca2330f97c17e1428f84f2c","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.35_1567008033409_0.8403728362215492","host":"s3://npm-registry-packages"}},"2.0.0-beta.36":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.36","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.36","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"7e297b3e1aca608982e9560cc07da65facf1d96c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.36.tgz","fileCount":45,"integrity":"sha512-2Mt5JXStH6rAL4/+uPXf7UE0jVqHwiTubsTabk0OA4w80AJWiI8+GQylsW9BIx87HJDqlSjLYitafcvKToyMBw==","signatures":[{"sig":"MEUCIBQ0O/U+eZwr0PEml1OC7aMWV4aXjxWTFxoi6S1cYEH8AiEA0MhgIy3LZBjPVeoN0xLbxyHpmg1O0kiGRN3w/9T6Ct4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27301892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbXXOCRA9TVsSAnZWagAA3P4P+wUBSv9Ji+Iizr1RWx0y\nAbNS3lJcwCXp1iwNxSUzYAExtG6JL5nqUxLs3uu24zlefu1qbRU1fXDKxrUl\nsE3tcONL3RwkQIxx4qV2YvkhmMS2co2Pwzrt56Pj0ChPtXR5IZu7g/2wVDKy\nGZIaXFsPNO5fXPUo6k10R8aHCTVnSJ/fZ7/e26Ps83gtnYfLghIJHgIukbN3\nbizwq8HYZOi9O+sn4KTQ9loKR+ZCIGeegFe+UEghdcpvYw0g7OQHR02VCqqe\noWcPS8XlxsVA3CqHe+O80LJbIrMMUHo/NqdfLGG+VtSdPTIh+1ZBXeBhQHcF\n+29ccUn+23o4cB/MyFUlaelKsy8r1UsA82IhV1kcPThBJLduLnsNd1ydHsnU\nY+GxEOjzlVWSDNgrPfpgwTFZ01SdBrDBCRWZtz0hhHPGPuNNqUfOxwoRIad6\nORRtfmQohlmuuWa/HV/b7dBJlOCJz8QfZ6ol6MMeJSHZ7MHsvQEWKqDss7J/\nkC2bIyxCY71p1/7eHD7K8XNKk8YW33qzsU69iNQgp9ouo6u/kdbTHknZnN49\nQF1DZRGRONl1yijOOurDZggdi1R70rSUKufHM2Q46SvONcv3yVTU+z33Yivh\nzlQ//jp0O6DSxl1+InM03I9cWzf+W7PisHR5mBLt5vi3CvmJHTswBevxMgAI\nMz6g\r\n=HgNV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"815b2f2352510148adc48470a694e2f31e7f422a","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.36_1567454669325_0.4140263139041134","host":"s3://npm-registry-packages"}},"2.0.0-beta.37":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.37","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.37","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"3deaa848dc6f8b34c59c2db4d1244f5c245a7a8c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.37.tgz","fileCount":45,"integrity":"sha512-QZigWGsaw7tuTEJBVnOrAnjf00VRFjWayVcNbqb3pQrXeI0soVVa+YDHD3YeH8BF64dq2P4s8dfJwksnivM/mg==","signatures":[{"sig":"MEYCIQC8tYFQiDqtvH7UUFLEmMg1Q7pikyxUcj63G9KsFlehGwIhAIJRPVHel7nAViThBn2ITwvlgrRZ3bDq3i9aZ9iaTipF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27307702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbXisCRA9TVsSAnZWagAAv0kP/iyGO/rjI4V5TcFdcSIe\nUpI3rIBeED7xD/2opajzQWHXafWcj1zxEIJ/piDXyu0Ff/15+EppAXya5L5C\nDr8s3MolwJ71Yva3kNP1QCD6Rh5cqRbyFGpOHu2y3nI0nPyKVCJB22m0fHcC\nryArLYql/6lqjjbj+z+zviXZK/suedT3ZWTx39AwEFmCL1e8U7zCAysGSReY\nIwnB4MiLpBOLH174GRfRUP5RWouDrOdFQ30WFjHOCueSBuODw5bVVhQJxuzF\nsO3KRL4qJT6s7xtF3W662V5EB6Bqb6Xe9wfU41Gwsd3Wq3b9L+5g1OUwyLia\nIQ8UWnLyrCSNl8mFKzyjVNIOsQkatrhMWn6MFXk3lwxnNXl2vKJr9rzAYxAv\noIoxGP3p0UfqaD/MHQymXprBrjdEza7Ce+qq3/qYTKgtv+THzDcHZFTRF+Tk\nqPscCGvPmaOttbmeYpuMXG8hDKmxOxiC1wYFaSGq9OZ3qZMgUammWovSRy1g\nMs+qV4h+iwoGLFfAq3sJKXTHUslAo3k2CQLfH5mhdtKZjPMFjSHHxX06UnqW\nvmBh5VH6uNv+FoDDyXIDRFDVtxKOJLpbdhhKqksME5GgjOAWhT8s0HN3og35\nYC1p3s9h6Ck8etGWOSRay+ygtFmCo8MHymlCiWruIB1sezbBJKOSZHR3s0UZ\nCSk/\r\n=t6wN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"9ac8487916314981773044f20929ae292c1b6845","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.37_1567455403623_0.2965017063695772","host":"s3://npm-registry-packages"}},"2.0.0-beta.38":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.38","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.38","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"138091b940a618608d9bc57b7c8a870bad9ad3d6","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.38.tgz","fileCount":45,"integrity":"sha512-ry1sWywIEmyMxu/FYNg1I3/Ne3cPx5RB5Pu6LuOkH8a3pDwG7/KQDOWNW8TJ3s/B/19/MxTVLkRujiF5AzvpjQ==","signatures":[{"sig":"MEYCIQDpc8jn74Qgah4eUnptwuF06REc/2vTSHPbvbSxVMXv/AIhANakUQewfyaU7hPn2h7AMeLDLRto4OTdYELVUzPlao+h","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27307702,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbX2NCRA9TVsSAnZWagAArfIP/3KfoJ0jI+O/3hlfKnIj\nelP8HMLVisFTJGeVT3RMK4CqY/2IBwmyRl7/pu1wsqw/hDpzCDy55Mw3r15V\ni9rKdSmVV6ldkrcy1Y/TK66NjIExB1yWPZNDvYyZP92+d8vMKF6vwUaJDMAA\nQOg0OpC8wRR+M0pgp8330Z/A0BKArCd6kHlx/8EpL3nLcdXwYPC4ouoK1+il\n4AusAyagxExtxNISKItzVVVQNiS5giG4uG6VYUiMF4hdV3rvsQu87CbuxtWh\nKgpZhyKZenVvh72TpYCfm83SSfoxiXufQpjb7N6G2hYcRr8ByEcR81LLFAs7\nkCQ9mZwamBsnTf5y0vJd1hcmbm/AzBKAG0eh4H7Zxfe/jHg6qZxA4mdpxSbY\nutdPM4Q0fOEXgUVDIIg9p+PTpopwOrD1z1sELcRgaYUGQQeRJde6GeUIYSiG\n3NaelMDZHdPOAu9Y0xFFl5Dfp0g8djAtrVnnk08YN4cAIWqg5znMsbFa7MvR\nD9w/O83LdM1hPuS/6VaWQJgfqmtaODBCrnkby1ZkpgnzScxmVQwUZjbGpTBX\nWvlSxkLdCW8eQlxL8dW056u9Mbkr4wLF0bDoWcHSr7N2/VOCtWS6eIrEeE7w\n83LbHkrpgmXcFHh0UiVZGm+3+QgwZ3s1ahnQBS3IFIGnP0R1/LF3MGaPvdVL\nw/3Q\r\n=ZbKx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"5f57037d687edea24abddc35d740f9a51274438f","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.38_1567456652564_0.1127648463020221","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"96acf7a2d548ed93da2ae23ce6715bacedcc0aca","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0.tgz","fileCount":45,"integrity":"sha512-HtdEXdREMpvDiJp1bkuTq/LHWR1Nc3StvrEjPIYYenG9f899K0i3yhOP6JUwTa7iUEXkxBt+J3LHcTMOpcQhMQ==","signatures":[{"sig":"MEUCIQCYWrw+ypgfi1C7AoRO14lU1DgjCKN8DMzrAII2fyysPgIgXOBH9uXFTC0Ru7k6wtOJ1XxlMvmYOw3hnKAU+K9fVF8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27307687,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdbZF5CRA9TVsSAnZWagAA95AP/22VUA9RR9oNoSpMz7ON\naHlNEOEbhdgs+VCuycBoVnkNlmnwWZ8k3rwt7AQZTR1b629LdnD/xhPPyuYL\ncg6FP/yGXtTeVN1jgRZ/V9s1JAGjXAy+47LqXAxxIwDuHvjYpeYu2+SfH6Cz\nE+ZwMygs0DHMyqVSCWlatoajwX55K2HgVTW5cuMTLcgeRvpAY5wudUAHgOmt\nto771Pd2UW/XqM2wNh4+o2Z7NeKpyfHy9K7FqSZtN0zJJovUQQCseeYYNAwB\nF1YInAyP9fyLyIKtgitrM9/w3vAEqpOwU2Pllf8tA6/EH3vUmZiNfjVMUWKI\nKTqPQYJ3W1rWBEjlTx0ylql8pQx1gn46NnAt9wPqxvIz0WqKzmf7iGOMdubZ\ne7re0s9JAKH7o687NesdtIynhsDaSTQIn3o/3MPZ8226ZBD6T1Ng0zZPbegQ\nkxdlgMrJO9mZ4QWcPwW920tNToE7L4lrNV1+xvPsHpiilQaedhb7Is9m/VFL\nCv6au31ad1godI+OGyjkH54mlAYnY/ZyEur+qORPha+EpS2S1jT8L/bKsNHx\ncBWQsSzm4Cf7zpbKCWHU2uoxyCMhmQny3bHcseYpFir7dAh7LGuSP398rEbA\nm4vTPqxLVWlTiNG7qTdKOwjNEK3k2NkWBxnyljVgQhkqDn1Zz6LnDgJn5RHv\nrv31\r\n=5dFW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"5a3968c0b93828e9e6f483c54bd4b429255d8fda","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0_1567461753082_0.9760927309177325","host":"s3://npm-registry-packages"}},"2.0.0-beta.39":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.39","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.39","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"9eb993a32b004907fa83e337681805bf322af1a7","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.39.tgz","fileCount":45,"integrity":"sha512-3/z/jCIErtXROOz1Zlx77BhPGDEkfImdMt0Wx+WPuhZaUbjRwdyAcMMyaCupWtE0LpsslZSC7YlQjUMJW8tmmw==","signatures":[{"sig":"MEUCIQDj1dgTBCSzECKMzCAxdpCB0ENlM6HMqxwxv/GZ29K0hgIgC9ZlHb0uT/nO5tJSAunQpJITr5l6+CQ6fREnfY/79eI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27308254,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeAi8CRA9TVsSAnZWagAA6kwP/1tHIOGDyS2K4ZhMCRa7\nqzyZCBu0WHaMfEDol+Vq8QYPLtHEDKgsUOEw+YSRDwejsluRnBLgTYUJE+0u\nRAQKI6fGSepj1k9GStz+KiNAANRqtw9A5IxLG8Ly1OYecE20ChisrceaOp6m\nMpuLiMuUsQbp4tJF5l+mbF6hgFahVn+PE6CTcx5upxVLZpE3VIR1IjxAb2fM\npLGd+Hm12YQr1BKRsikZEHRBpay9kS1yUmGDWRug+adQzmSuq+8h9/wCQ8vy\ncaTdjO9CUbM9pfAxRl5Tg/jKzKSS1+aF346LZJZ1NJetLMV+tZjlhssLyW/x\nm8nUoKbJ9Qj/y223meeTs9rtRd692r9l35oWAbUxg8Ieyj/SvzoRy13+HYU3\nXNF8Q2850UtQsr/wbAqFsPLqdj9G7SfhhcUB1nv16lVWJSCrWiR2klDRdyaE\nQxlYWvLlQOPkgfypcrhj8w2xCEj8U0yxroPpNqvWaE3WdBufWOIGHAuZTnbq\nrSYN/Z/vE0jXls3jKsHGKuRt0h+xtEuTayZCSC++vCXgaW0oiTsUyOhwdqK1\nibs4ICj94+ZabyUqo0PwQZep1H4usrt0hohnETemoU7UegwxGRUHzEFQ/WRK\n0ozXQc21DBuVv6SClY6phqrUxYe2pC3nxmt+jIKYcGtSn/ZWsNxB4P/+wTMB\nKlTM\r\n=fkHz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"baf769afe06c3d7d439ef016a2ea577a8c7f2697","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.39_1568147643358_0.47322533624587093","host":"s3://npm-registry-packages"}},"2.0.0-beta.40":{"name":"@polymathnetwork/contract-wrappers","version":"2.0.0-beta.40","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@2.0.0-beta.40","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"eebd0134b34057210e3be9f96e056c44fd0565d4","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-2.0.0-beta.40.tgz","fileCount":45,"integrity":"sha512-DBtffEKpNEz/AxysEl8/UrtEB6snpYT9a9SN/S7oVQANz7jIBwpEYeJurgN1T+z/EWqGqkodMs5FERYz7BDEDA==","signatures":[{"sig":"MEUCIQCjlAaVtuoGSujCc/IMsgo3nWU69EYm2hrHlIqFEcsz2gIgdCxBx54hBNtWp+wYrL4mWuSAnq1diHZsos2TA05owxc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27308709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeBZVCRA9TVsSAnZWagAABY4P/12rm4YSlT/YBL7XTUz+\nr1bSkJSHyDMSwkh7NqmGelTWBv4N9Jc9yiJPhPPKOTCsy/Sr8T8dX4Nlt4Ye\ndT6g1rZJxmPDQ55XjVUcuZ1cMo0I79U34s/Xce2tI3ZXXz/pGK4RRP+/uspz\naTKCZmIWKJ01LBAm3gD2TQRAijPOodZeXkekUGr+ajxW/RuVI1QpviuzlgCU\nzI/RYe1+/6CZhULS6Prehv0N1S8UYCRFSiiCt9iSRwLvCs+S3ppWWfkSffKB\n5PTAJavj3dP1PCKQ19Xl1ablsvioI4PetXFz/wjRchYR5W7pkSAg/Vt/taiV\nz6QXFibgohSNvyPg7a7FbuqZo4eHFoqDkQ+kgDIlBOcaCk1e8YlJzaYKX3D8\nbaVgjwIK/BZ3O23YcCFLRmWJ8Rd/DZC46dwcpBdG2DtshvKTJweifAeaHU7D\n37wPV9zrpS81IwDk4UaSC46dKPkNTpdi3+nt6tH1IQmoJftjLl55dq2WvAhO\nUBf8POpGvUwJdj7oaSFnJVpDPnI/CPpkxuZLqsxmvIRyYOuc6fgKYT1aC58w\nR+pWTMZmGkOxtmzZVSRcyFlq87gby4LRh3+Boxj/DECh0Px7m/R/c50azWpk\nZmFjxwSd+eTd+uD6oESTXYR0MOjHqsh8QdUTKE8hKUygw04C4r5cUc2wR4W6\n6FOi\r\n=CRSw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"19d8390a6a574fe6ea32dbb3de7847d971473b0b","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_2.0.0-beta.40_1568151124386_0.31213210842601624","host":"s3://npm-registry-packages"}},"3.0.0-beta.41":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.41","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.41","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"5b338188c5f29bbf08431c4bd58e7cc9626534d5","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.41.tgz","fileCount":46,"integrity":"sha512-+ysszx74XYHy9ZSocmVovsRgjqk5vV419qd/Q0ZaTZLl4/BqGpyCdL8jdk68H24rHTMUyuktaVvlhmp8eMwXwQ==","signatures":[{"sig":"MEYCIQCMA8MQsOxJegN9zIoWsK50oY/v10Vmj2RhMiAy26Q8WgIhAPni4Tf5PhvbjLcfriSYrLLJ7tZexcKZVjIi/LT4nBKJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27320536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdeoVFCRA9TVsSAnZWagAAp2oP/133khSgcq41ABBxP5PV\nH8GI5kXK/XcDH23JWrHifgWwuBAcbphCdvd/OCEn3fZE0bV6ZGGFYUpT3LfE\nj0JOApCzW39gf6QOH3VV7P65FBFLWO7XduEYaRuieQmAW+ItOazn5DVRsoxG\nepjtVfFlSjUJOtGb5z1AaHKsdZXc3Qa3xmLUtFbsNSCCIqt4ZTDb5wAgEUKJ\nfrIOgqHS/olVb6E0vPF2VlyyeWXqgtHusWhAQ+2TRWkdtuvFBGFgogWMNqKT\nxx0CcYYerfvPOhZ/m9GQ71DtllhLkOjvGtOCggOBsXt5lw3fOne79G3C0jrM\newZCBlSYktLqd+OsVe9gqj2RJmf39cbswjSGQPknj7iE3uaGt8mhWo5mOos9\nlpyRkppw1iZt2E2/v25ZxWrU6/l08+FfQPr9wmpq4k1BM3iLVqGgqM/qzgB4\nq0TqDx3S+4LSrtXiLuNXHN227J8NfcHgRm+9/LPqK1vBlG9gSknfzsTBZKb4\nbgYQyhhp+gxxwdRE/92/dofifB4eKJDVyfNNBfHMHm5Su19J+dKLKVPNvvh+\nM+/sv85Rmt+Az4/QsjoiIaEkUwaV53U9f0S0rTcbORCwCZKNepZjR+fQSypC\n03ICuTGROX1lzwWiv4vrul8bO+VzwqeL+CFQ7zyTDkCd/U2dy/gi9Up5tw2M\ncu38\r\n=DxYo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"15b538d5cd2612f409a9379ad8f83b147db4d755","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.41_1568310596385_0.06764006094094932","host":"s3://npm-registry-packages"}},"3.0.0-beta.42":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.42","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.42","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"02c2394e2317fd2a01612bec70de4f212d476820","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.42.tgz","fileCount":46,"integrity":"sha512-+Hn/nBh7KZJpZRMpiU1MbjoY9lqeJzABHwjPgdoTNmEDVIFAfjvKiE2BdCBf88FHIcbsG0INurVbFM/3YMA7Eg==","signatures":[{"sig":"MEYCIQCio8Wn1AXWMxI3acHab/2LdIXupXXYpsPUvcXHVwJnlQIhAIzFzx3C43P6vB9jaX+m4HKK8K/oqUWz3dmg/6fO7hcr","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27320952,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdg/CDCRA9TVsSAnZWagAA4VUP/02lfOdGVqU5P806xyMG\n0tsMFMB63a6gyqzT9U1l2GII5ltm6t4ec5Nlu6GadgzCFyeTI/c8yuzuusJ9\n92Tg5ETFKBCXA+Vj4oSyVXWO622zx4nMXuEG2sorr/wwLGj1s4Maz21bLlnF\n2YHjJcPhQpVAopVu4H0wc4EcqWhWHM4d6Wcuxxg3Bdikcg2Qm2yQtZ2lnCz/\nDhkPAVSyuL/2G5fvS+njycQhszTNeecipm5lpJQx6rVMAPfA8OT1q+9mwe07\nwgaxOeHSat7T31fZnmzGJ9/gBziDJgZEfnWPJuTZr8SiDJlYm1qi2H59tO+a\nWtaN0O1FvCxCFfLp8JbdimzjJjKya9pLIncBHZX1qhJnekctu1gJ/PfJXmQ2\nDdwyz4y5cKDtdYgDUx4dutcJ011DQNiviWrIgfs3WVkyibH2jZBXqtOqrk3x\nw8/SUysBxYN68erxXOGe7HTNUgH3C9RgKgmKS1m/b2CcdrG7zUnMua/TCgqg\nW6UuEco5jjJ9R3sBzSf3XyStSV3wlzMbACFs3Pj7LB8NdCHHmqXi+RE18Ozk\npfhCsHR+1FDFx/Fy7cuIYEJsCQkA3VE2KXKd114IbhJxtPwjV/eo8PwZFm3p\nn7w83KocysAp3uaNPdIcdeW5kKAs/jyMkQZNduD3K+xjGok+tla2Fiybp/gU\nZwOL\r\n=taGk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"063851e862318df24ed93dce95163cd0679a37a7","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"webpack","clean":"shx rm -rf lib docs","start":"webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","@0x/types":"^2.4.0","@0x/assert":"^2.1.0","@types/semver":"^6.0.1","ethereumjs-util":"^6.1.0","@0x/json-schemas":"^3.0.11","@0x/subproviders":"^4.1.1","@0x/typescript-typings":"^4.2.3","ethereumjs-blockstream":"6.0.0","@polymathnetwork/abi-wrappers":"3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.0.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.0.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.42_1568927875168_0.3497322030817904","host":"s3://npm-registry-packages"}},"3.0.0-beta.43":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.43","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.43","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"181743c5b780bc270331ea5e7a4e6b3b65ce5010","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.43.tgz","fileCount":91,"integrity":"sha512-O+6SrKD6ii4jm+OXDzW6m5XOGS2EHHojvoxYLvzpOKds004BWy0UWA2NJSyiGNby+jjtWZVBySS5YRD0qI6PcA==","signatures":[{"sig":"MEYCIQCfG58M8r4k+1RvVXgRMDzzdxCGfgWwcLt8NWJvCStpUAIhANa4dHX+8iBnGJAg4V0fZJOvQ7miCiouFoIKmIEem/n0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46636040,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkmToCRA9TVsSAnZWagAASD8P/Rn6gSPd6tHXcvfgBQmN\nwBZoQsXJyIqRSr97C5wtdCp1QZjFZCtGkhUELvZDRaAy688tr0V/TX/auqlD\n/tXwEbTOTKOhXJzKiwcloDAj3TZD3jA2k/HJVDHzPsK87GpLBobltL8CCo/q\nuFjC7ola2XwtFSCqOeDgvtj7XTCLxx9M0Od97A/KhmXhI1P5zqDMv3y6xRDL\nnGQ2wbJlnzKtR+fWKDptz0pNXNsOMiAheSSgDPmb3MyC2eOEILsmjWMvev46\n4Ov/h08GukbiPBOA7+AVjdpcwjoGLXypjBXrn/CVZSZuJHMLz/c0cNR8P/bg\nGcMLfswrfARwcrl1/WlamMjdSGdTjdfiLJkMmrJ5OI5lPb1Ioryx5WN1PVXt\nwbOn3nSgCnHeZcpHHLYrbB0s5mDNElOlia3JaaqgWJ7K/+h4i3cHAO4hPaCo\niEIEBrSwLN3hfNgpBJmsbAQL6EiZOzrWEPa/575wNxhasF9/CU298SOj5PFC\nHtmgVop3DCcALtow4Jx0BPnAUPdHnH4UJdUR+6lIkiaFoo1Xdw6METkMYJeJ\nRboe15S/9/vqzbQehSFjBEg4RPKeEiqMzAqkODBVrJZUN/sT8x82H5efriBH\ndSdhkIcHZrHx6VdbXdNrLNZFxr/2uDUglkesmi6h8f7BEwuTnxwbfFsXQJjW\nqbFH\r\n=Pm6n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"95f74815a950dce2267ed29b284ab8b521ba54a2","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.43_1569875175829_0.8634578699400945","host":"s3://npm-registry-packages"}},"3.0.0-beta.44":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.44","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.44","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"f432b66e2b2c380e5fba15af7c252fb64143eb51","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.44.tgz","fileCount":91,"integrity":"sha512-+YRvim488fvDCNel7PpWYGCBbnmyKJJJak7WDKq751UwtjE1oocMPbsl02lO3NEJ6MDYzMEsHxfBIkPRTx4uMw==","signatures":[{"sig":"MEUCIFiRtGuBcznMvNBTcpE2e5+5NIkLsDORIzZKkxlCKVEoAiEAl11tIJYDECu4HfZPnijOrj6ufw3BnpQ7/Wngn8qCyLU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46636354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdknGCCRA9TVsSAnZWagAAIocP/ixa/pqYrAO8h7bTqhEj\nBVJMTzoe75o8z4B3ue7V3y47UGXHXibAZKkqWF8plQKf3DSMtXtL0Kq+ZHqi\nqOMToqF1uWu0Wac/mH7a8vviZIU02uAxg44kNYfNcYCQOQudeMZ5H2Yu4Re4\nwLdsvwr2UvvoeTIHT034/+1GClLR3XIlbR2Il50OgA736gvOo5gnaK2NF8k+\nXmxrV83LV7wZ9zKKu9X6YEh7G7fGS/zHB1Lij5EjTCE27WrKdB7SpwMG5Eer\nmalnSpcwxfZ18PwA2498oPcr948YF0iYOoa1UoNyZvOmxzL5X7t8SKEM7NOT\nrYHu+GadfAIJ3kDet/TUft/WttUYGSRIvTPW7U8pOD9pP+RCrwEDNZexj4lo\n8Jk1NAaOsUITa7/ffuM2NLvh4ugkujfcdM5uyvyRiD95/zMBgKs/EdlCmj9u\nB8Yz9P87h0eFMY64idjqjDYJutv9RSD39VEdF7Ru8gqullR/VXqgVusuax+H\nCmF9wHb3ixT2Em4GhdbMxYKqVa8uOwks7tFC2Fwpy8rfyeqFI7qXSXJbU6/u\nFNfhYlD8JeBtaEEtj+a2pIS205QfZL3Aos+3/vLY2oPT+YLV6qZVUSAesMfF\nVGAV1t2HvYV8x6LYjBq7mhs5gQGOCG2V9w6LEg0tLNUuqR3yeRwTLpofnHJ5\nunAs\r\n=77bw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"9c092aec9ac86ed511696a7d71a8c184a4936fbb","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.44_1569878401260_0.3889102377420881","host":"s3://npm-registry-packages"}},"3.0.0-beta.45":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.45","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.45","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"f9abb752d55dafaf6af683de4c71f358c1549732","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.45.tgz","fileCount":3,"integrity":"sha512-CO5czw2BBp5PV+2XT5nqwtxQusNLbW9lFo03JSvZ3dHlmu35AQ0u1vvKP2jlCTX2c+RNTsHJS5XUr3Lzd+qy+Q==","signatures":[{"sig":"MEUCIQCmKpBZCkBbmOTGkp81+fXgpGyuoQfk9jzZxI3KuVHsPgIgP7CPfLURJDbQ+XdifXmiQSAOU0YEA2hv3IxvHCZ2bw4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25380,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkpinCRA9TVsSAnZWagAAO58P/08l8uvzUd68m7Huuo6S\nbRUzycM/LmStMdtp3gZktI0hq4l4tZuHJpRg+Lq+HlqgeSNeheKi4zwxUXEB\n7enqKsdMhDmqXS8/qDlzevqwgemYVpCRj1EQWiN+rkEezV9pxJ4Pn1JL+wAI\nvCH2nbMnfPG0X4gKyexX0b9YweMlnzCI/zOppmbvH0q24gifksnEjTlB9Ryb\noTDtCGtZwPkZdHCjheb4uzX+6CibUjVjZOSTXih2UQojJuQn+A39JLmaJlzo\nKeR5mtdI0xmPgK/3cUWdRcdPFZMrLXPsAZLM8HkePMQWtDlAEHHyJ/vIq7XO\nUTgCDQp9UdPlXqo9GsgUTgLuNlHQAgcYSBiXgoKN9ynvR4KcPKw2t3HBq5SB\ncjsti3T2aY0+ft9HLqHAYGt8P6JaUr/AeFcARUuZA3CXuD0TLI2iamdViz4y\nfz7KFzJYPCqcw7Cxxo394afItIuL3R+POoqov8H5lmkXhAD5+dNf98Kedarb\nH/ZucgLoVYIXphQPJUuf9Fb6Qt/amwWYvAAErymWLz01WVCBbEInCYsmIIKT\nTD5zdHsWaCrpq1A9VoHPUw1O/Slk6exiW+EhOi8Eckr2YccZaYJD3Oo99ioU\nutLsuYQtwtPQCgcXEAiQwmgAr8Auc+in7qX4d2fB+/sTOSUYPqAnYqQf1KWA\n/Pj1\r\n=xWpW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"37a7f7fa1997654f04f4f608800e852dcaac126b","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.45_1569888422897_0.4727501902343261","host":"s3://npm-registry-packages"}},"3.0.0-beta.46":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.46","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.46","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"fbb91860b9b11cc36e62a60681b04dd33a762e59","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.46.tgz","fileCount":91,"integrity":"sha512-lPCyYnRefO0r5nnjnBoHaiaxAUockkSTrdEeiC+AKv8DtDrmfhq6S2EGIiDmitHSqE16wsxt56Tici9CA4jFnA==","signatures":[{"sig":"MEYCIQDehABdyFValP4jZ+TgrZs2OiznIDVIVY2Es3AydxhGoAIhAKajyvBh0G2vgUzzECu40aONl/K9vQj3u2IlphRWFoU6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46658264,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkqAXCRA9TVsSAnZWagAAvWIP/jxiFczWf0nBEPm1UVH1\n3peDr3ANk1UmZlvgSmCw1M/bFIVaW3QZPFxT6U2hBnOorb/4D6Dj4P9NqP/4\n1qlpj3SXX8kpLxyzE4gkPffxAHm4UFH3l6njfTXIIayZgAhe+4VCXfXDenur\nZQnNP5xlM7Yh/PCR9KMZhDJ5UD6fkE20p0EwrRSmja6UtnuzyxWRWHCcrVu5\nlL2puNjAWyMy/5cJ8REquFOBALDOdaTlaapjp5ZpIzheLEcStfERm6wtrmXY\nxgiPqRLhiNbW+L4r8u3SW41ALuuwRc+4GcUCptT5gi8IdxzUgsBUjkXdeKxd\no85bZRgEKoKaHMurFYHZ7FRWfHlKmTilNKUwnBkWgWefH+BlTkNM11P5OB60\nhZ3/tzgiEt54z4LKrPIrq4hBN9MaRd20JTHkHbBRkVBnBmpgJALetT7C4KAK\nmST5F1peCaxbeO3RvITIUSKFymjXD53qMsxzRWzGgaL0FGZT07qgYdVzFZ3j\nKMEbC6z0yhT/SB7G/6tbd8rlkRyhb/9dVatrhJL0mDNt9Wo1OPE3m450/veA\nHOhL9gcDyPz9tR/pbih6SzQUH9VwXrktXRMhtF0peFYbXWVDp4qTI8M8SWr1\nS8FnljwG3mKmVjU0ddWE+Yy2W2sm6BRvS4/OWcv9SkMDznhkPuvpt+UGVvYm\nkyAd\r\n=72Jq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"3dea69eba10f1927e5bf6fc1ec6a87d01260afb3","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.46_1569890326585_0.874987455558168","host":"s3://npm-registry-packages"}},"3.0.0-beta.47":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.47","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.47","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"38018d8bb332804cfd9bef8e16ca6173439ae8f0","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.47.tgz","fileCount":91,"integrity":"sha512-x2CHEU/6aj192Bv4vRdhDxwMfYIVRMKqljPpt1Ofg+pmHIUfsE0QqZDMgndWSo7Xa24PY3UYSt1zsUygvPNd9w==","signatures":[{"sig":"MEUCIEg6gDZ5No9pq12uAW2HLjkqOJfOf7o6CPpav4Igvn3sAiEA3hQxM88jP4v6EI3mmnNlgWidgEsnHtiDJ0+FFPyJbsM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46668075,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdkqv/CRA9TVsSAnZWagAAsnsQAJAssm2AOlCcQw+FVlJo\nFQrPceSvbFG5VU3kS47kguTIU8UaZB1BUeFAc55X+0f2X+7jVCBp0kxsAOIz\nlJahf2vE7U74xl/oBvNDpl9KxTYg5RZ5BdZ3/7AcgOHX1mjTM/28mre+I5gJ\nQT+YZJGXz0FzFUcKuLZmQFo8iGpaKUHIsBKIluW4rQieeEPSEnuHKM3PrZHL\n27z6nANSsfLgUce5u12cZcbmZuJlw8QmlwdrgaWOhOajRlM9aPWIKi+1vZmd\nVmxSTpqTEq6k9VxmjbvFVz2Y/csEScL+tjqikvSnbEPx7iQRIwUvB6G1ZSXQ\nUDbUhUNfq174PCpnfk1n2+3LVdkoF4gutHpcXUSNS60cdCsZD5+8QK53/slQ\ne2TTCYjnqf1DLj2h9j1chH2Olj4jE112QSf2b2rCNZVsL4dxrZ7ktq0gZ90K\nDTPwcFgEt3nOvKIbsLkrFx1Zv+7IA6hOjSLRHdxyk40zfbvalhJlV6lXBtBT\nk8tNdEpBaE2X5n2Z406oj6n6iJPKWF85XvaleFRJ8r5UzcvFfeJgyLjTVeV0\nbrJ/+ho4D3AKXd8tZViXv/RBILPm0DKhUhTEq22UZ2Jp2+hbAkSPw6wiko+i\nuiZmPgTmktw7Ly6jX1Ok29atVFw+yih0by2IzdCdwOZCCrRzef8xOZhp9nd1\nxL0N\r\n=QeLh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"ede81a7ad19a0ebff42d4375bde79e6b5907d85d","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.47_1569893374111_0.6439173895321144","host":"s3://npm-registry-packages"}},"3.0.0-beta.48":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.48","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.48","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"cba9d9c6c2935afbe4344b04c175a5b341398c63","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.48.tgz","fileCount":91,"integrity":"sha512-6oq9JWMe7X85aGvQedjqQDOXH8HI7rfa3+OP+Kuo4C2h4K9xF7QLxSOIv1IGrkH4X87TtQ4sd81E1y7y9LEZgA==","signatures":[{"sig":"MEUCIQCzVGO3ZNI+X/djwt68e90xn3Y3DAXjSDQzTIjn3AbJ4QIgE5DwThjWV42fBJuAeGl7X3pOHfiu5ihA+Y0vcdb+D0k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46669862,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdk58zCRA9TVsSAnZWagAAFskP/ii9qZOzZPqrHXmJhm33\n1sicC/mzBHfvd/H1dsqM/eok5WWkZag42FGUE6u9WliGBQzy/q5Zc58oSwRo\n0YVxiLBQZxOqBqgbrpxQf1ljgBjTf03F6VFLUvGngZM2bifjQ6u1cjmz2Cdq\n3/Utva9YGTh0Fi4yZKrPp3DeKAHW9PYv2KQTOhHM8ZVP2shq/Ejemzsk4Fvv\nSX8I7Wmdp2YA2Deq/FiHVT58NuZM08IPfEB69/CvLcXfKojsjga3vj2vVMIh\ne89b7fVrp67+mjqAkc7S9q4c0m4xl0kwMyzk3aP8iU+q/bc4Iy0scMByFEh5\nJxN5T+75oR4jNXAHwJmFBmZtNgkIaBwF/qkEYhxFeeZVA3OvTfS8N8AxB09g\n7/KBvmn19pNqsEYbw8PkcrPkU0/sq+YINBLRIZaQT2lZkvEmuChPxEp2BKE3\nk/kCEdOuwj0WmOoJ0HlTSUenyqbMqyx5DiNWoBUd6aA8NSnjtMQULBL+Hybk\nnRmP4MKEEl+rNARmUUY3RrfR06ICaFCXRngeVC+UyCSo2POB2RrpZsp75Eak\n22WTJZCJvBYCWC2sogP+MpEICH+zPex9r07zf5qf7I3+EdRdVvmnDbCTu+9D\n/MDcPug0AhhQWQyeH+MXKNczHZfaIy696Si7yirHOo9TCNz7P5xkunnFCYkp\nAmX8\r\n=K23Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"c63b46cc299512e211ac012e8ce0be51015c1fab","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.48_1569955634778_0.407867472066312","host":"s3://npm-registry-packages"}},"3.0.0-beta.49":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.49","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.49","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"6d22b27b8dad1dac028d555f84faf8bd72256b3a","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.49.tgz","fileCount":91,"integrity":"sha512-916HF/D58T9zPZRp+6MZtbF3qknKpvPlpGPfu5Cld1m6H4XOb/qsEBTL53JvcTK9O0Li6aEaY/fF0HIFgYwJww==","signatures":[{"sig":"MEYCIQDzssCGm6rwa+SNLURN+tD/Nyu2RhzrrHFPjKxzU7abTAIhAJh8GrPXZwyP/cX0HtUPHnJC/NOgSfymZN9VV2rJ/Lb7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46672606,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdli87CRA9TVsSAnZWagAARHMP/0M+//In4Mr7J2nrf6zW\nRCcxlbj1KUUIx7u2cQCUzSCa87hHPu+tRbM0ADo+axyAqfqbu/grkgztAMow\nDya2pCWNG9+7JXuZlwk9kKFY/AKQhCVkNAU/5YESo+3CwSa8CW0FocCi2IR2\nh9n/UmtkRWJR78Uqjbzzy7kT0/lnLATMHxt2oFHLLQi5OmVOmc3Ma9tRSvb6\nkX0uWED5D/yvIAufuEO0dXNsdnAvUk5c22MvNMFCSpSmEsyA8L/3V0QZSr3i\nRDkB5w2EXnSNaVxLq1Cfp6GgU53hmcGHTW5y85DtzmZal236AlaeK3cgsiAJ\nBAnqjfk66+i4ELS46Jza8EnKSIN+sbFbON95gEeB4vw2a8L9kvS6cNEJ+cAS\nLGrVBdZhwW9lIMz5I00wfyW6oU+5+xeNFs/LFzmQEiDKFK7QGPVj0uiMF3RL\noSl9L7+ZOcSlefUgm4atYp1n/GnDpCYdOgjiQCKDyucwmHx0QDUe+IBoh+qX\n39Ijqd7u9rlwA5qpY0xC2M8dhcIs/PTkO59/8pFupNjqFVMfsXrl0M1s+Bnz\n9GN/j89rLWTTHDzqEsTrBgye21C2NjMul+GIVxGdklQzCzzfYi3RJoFdDegL\njx+2XhkSmGvFiFKCbM3yxwiySdnOp9geZJgWsF9hEBd0HSVzcOVrwp9mk/lZ\niQ6s\r\n=svzY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"eb4333c4a7050f05c1c2aec705d6a90f622aa11e","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.49_1570123578282_0.583788834272666","host":"s3://npm-registry-packages"}},"3.0.0-beta.50":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.50","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.50","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"720cda38224859ec0115147e0ee81b891a26d7ca","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.50.tgz","fileCount":91,"integrity":"sha512-OVq07nS/ZH38W63vxvI3dBdRme5/HibWW2Q82gWYfz+dNajqyEcnZL5bB72HI/cdkMiaaP+42tRP04pwDLhzJg==","signatures":[{"sig":"MEQCIA7T5aYGhnX5E6X3Atgadlcgr6MeF51OfTiRD1zmJysxAiA/L6jtWSqP/Iv8N608/UKCUGImlT10hQU7h5pGTBNGag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46605613,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdngFyCRA9TVsSAnZWagAACr0P/17BOYmko9K44UkJpccS\nnDI1qS58cAANvLhdO74LtFJK170RGvhrLu9bt97nZnoZlRUs6wAEVvbqfpRY\nur7rf0rzGyuUb8xSOmIREdF03jFVskupipcHI53HDJd0w6+hKYX7mHDp8Juq\niTwmGYAhNH76O+DdJ+zLzwyFWGqe1XKrr9zWwxX1jSlZEBSpuS1/muhaBOv0\njBUj0BMFgHYWQoh0CSpD9xEk+2QoV+yOi0wSj3FUE6hGg3nHXVVtDz1FhLkH\nMSwhh04b2p/uRKluvyadXM4lx4f80r8++SGa1U0xK9R3IwlRjzj3ssEXLG8I\nmFe3CYVqxmI8PW/Sraysi40PjAxPfMT8LkrSowX5pa2/vB3ExowDs4Kpzl5O\n3bdLktrqGaItLIdJZ63PQE2SAB3Wt1wXFsPzL3DnAs4qMv+FMWYaE5bmFak+\nDKrabl9hWIowz+8bMajGhTcx+Y6kbgUQJ9cFlElgAHw3dYxKj2s3d5GUzgV7\nysVz9PONeiy0adc7OcrEqP9BSzIRSd3NGDUmHYTD+NtOZ9CbDg+oXZVzyDOe\nvkTS0o39IGTOqBBEG4V8iZ6aIgv4mv6oy8qpWHaZwZ6xCfnEE9YEJPlKS//e\ni/1jQ9RZ8+oVkAwD6TwfNml6bUrfXvjoFR6QsZ+W28t7A8zC6pHXuNOlgoz0\n7FEm\r\n=ksds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n*Anything* that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit.  This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called  `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org) \n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n*Setting up Polymath API for 4 different cases*\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token. \n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"07d5901c3e0debf28d70300f8f9d9e51fcfe5a3c","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.50_1570636145528_0.8898232320698432","host":"s3://npm-registry-packages"}},"3.0.0-beta.51":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.51","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.51","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c9f44b6771353cf8a3bb475e291a543df2d4f006","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.51.tgz","fileCount":91,"integrity":"sha512-znzhT+9xTFHcR2AkXihMcVK6KhRIoDfLUXz2gvxbkBJCboPVhWoIM5g8zJyhJzGqQF9DxOPor+RE2ERuOjooWw==","signatures":[{"sig":"MEYCIQC0AHEipQ+Ym8MoeZ0Rk5yQi9Xa+82IecV2kIOrpDFjOQIhAMPpO7TTkDg4tQubk636GVVOeI8P+qCGeJbfcefYxoQw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46582568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdnmu/CRA9TVsSAnZWagAAQwkP/2FTtK7lvLYTfxQ2cGwL\nQQArRl2jQwZZx7h4G9wLMFZt5MsbdcmolegYPQZStcv2vmfLnnyg7sgxABtQ\na1v9MNHTY+dyUUYz5jbtVYz9Sn7rR9YkOp7zIajq4xn9/6rKolmkkMM0WCTO\nEwPSMqcPZV2R6prFYjS9Rc+hk4lqecO+YnyZnm96JlKJCiJLPoEsVbbV9Zw3\niMreJGO4bHCqgKpOqYZsEDKm3/4IM2XUjndgMX8gkYOCDqlhIw3ZuK1YjT0y\nzqmWUq9O9hg4/mDqa9Gq8LPJGLORUaTg1LOnkxaArq/7vorLW201++du+y03\nF04wdzwEWRvOZQUHg9+MqMCHkBTONPcn8IUA+2ThfAty0/G+rx2eiif2I4ri\nJwZqmI5GvX8NDr6K4qR4EwEQ5k1Iobb1oKJuqA5Frehi9omdn0VVH+vUaK+i\np8SQx6nzK090PUho5/A/uz9yeTZiW1a9FogLtKbZ6fulaLjoB559Q0wThZp6\nbGqMu1fCw+Kvq8xPO/ETHnbPMxqeKIiqrUnMO1I7R2TEvYB0SM2I4FcfHQEp\n1sCBkbM2Tnal9S6cb9Yo/bG9N+s4qQDznwLaCWSz6YU5YhObmAC8cjW1bfJF\noaZDJpFlUjKHMq2691lf3M6skElZmUia9A3ajEpacBWS83bRFYIg8qd0C7uX\nhhn+\r\n=BGCc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"6d78d7b59870b2bc9361310b78e2705ae2f40632","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"10.16.3","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.51_1570663358088_0.14362681468337968","host":"s3://npm-registry-packages"}},"3.0.0-beta.52":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.52","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.52","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"34945dc84dd5fb4b38ed9bb5f8f66f59bd91c6a9","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.52.tgz","fileCount":91,"integrity":"sha512-IbZLoY6J62/cV8ZTwoIyANHMRVSzUWzRFy8zclokTkW0IqhdBe8xsyeWVj6capkG8Eu/JMiMztv6VJhwjvaCLg==","signatures":[{"sig":"MEUCIAqeTv6M9+el75/aHGeYDwoQe15rhJANBDpH4xIhgOBsAiEA+VACz4tx8kOUE4+/7F3HVbJTG4lsC5c2oDA5X0tCm5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46582783,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdsxyWCRA9TVsSAnZWagAAaDQQAJks11udta55LcjvOgWh\n5v+gWg1c0Y+wHgDYwQt0kbZIQCEHCoiCfTKTSbukCJ5AqDeOuH2Ty6DdiMOU\n/uwFwj50rI8igqZBVeL/H8KDeN4b4wLqlaBU9Nv2xULqFjX2WRG55Wq0hbRi\nv+Tg22Iadi/zRxDtq+yeL2fMbGulUWnvNVVdgYm6WbHflrlqH2KjWi6yf4w8\n4uUKkNtrjnBIYM853OVBYu41iapd16AMlWvyHjAFAm12APj1sOn0ZWUHYZDg\naIMzIw0AAfSEBSnE2vr6lTDkSLaPGWBPIcwbV+14wZEvD8bf4F9tgtubj0h0\n28/+2QegJpOVxerqYHDyTwWCMgxR6/sSaPbKtfA90+Z6Y1vvl0/TgmXSS8TI\n2bQeHMu75uisfHSgdfxKqP5LzGuYH+8lV4Sz2M8lyuSBXIXqtVssi1zMfkxc\nFJv43lfH/HogBSRFCnCdSyZBgw6zjk21xLuuA67XXmmI0KR2H867kFT8zL9S\nN4DTKDSXd4Ocsfafo48lfpJLQKZmx808B56GsR6fD+OJpKExecMgMII2mFb+\n3+MdNuKqxsYtaTpar50CGdqHyM04iA4hcFZx7I+M90B4k30Q45rvtSwGQBQc\n1eICtQbacivcRtVtvM21sJYW+Rv7WYvP9ctCxrPb53NNsEcwrnqRf+BnjoyJ\n/YLj\r\n=eKKb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"3e45ca3fd186b6b5a2b660b4dc8362ef82595ad6","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.52_1572019349658_0.5167847313868699","host":"s3://npm-registry-packages"}},"3.0.0-beta.53":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.53","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.53","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"0cb1f513ef8eb582ccec712ce8dae5898bdaeeea","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.53.tgz","fileCount":94,"integrity":"sha512-joGRyuMP7498SHN4MNIkvBQ20hp/X1j8UUEt91552qQb+zQqEq2UdTRXG3eIxAts7MSe7If/E5RGrE8NDt5LDA==","signatures":[{"sig":"MEYCIQDrv4jbFHA7QOormdbhbWnwyMSe7InG7CNoSWcxvWTNuQIhAO7+l0aQTqk3GvbDdC+gHpG1VLi5rbe+AgPwtvi6sZAP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46826600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduNCMCRA9TVsSAnZWagAADCkP/iwtRSXhe6uEFs8/jzQO\nhR1ZTsIuPvd4AxIYFBinPpzk5CZFE96MmYFx97c0d0dvp1h0hwwXA3SQT1na\nX2OHg8MhkuxT+AjBUL3DhneBaT33sLG7Op6VN8Qxd8Hono/hXitROND0RMgh\nmzabZfLq2v39ozVNytcq6rWuQfzCgMTGyjR6BoV1tSFYlbMGqnTK5eQ8oXYl\nSb/ymszBZb5dZU04U4cU+Bvg42M/0cuyzkEPgNtK5IMW6c7m/lq8yuICttOV\nkjwVybwaWwFdj3Rnrz2dnac8qKKl0TnCYBLlMCEv0afz3tAd/rKHjM8C+e5z\n0ssq7esxQO5X08AoxrwiDbSdHkVChpyebH+AwHZxzP27D4Y3eoSRQ6HR4VJJ\nzc5J38t9c7/TmURfAXtgHuREw4esiVpvVRRkUx7VQeTM9MNOf3Xzo46sD6c+\nZExoEULowfU1Pbl5P0wVOD6oEYrIOzfbXeC81nk9e1HZXmr0zkTWUwY57PM9\n7y4tupjvLgjdF3Oc6ddvIqcahIJld00LJKDT3ez0LfWxuE+5gvPeSaix43aG\n5qD0CVLhnC6VfIhilRJ/1CHQw90s32RrpnPXnkV60W7v3PnAJSnKZ/67Yjpd\nPFirhZSVAy9vJPYV6GbS144CPR9YBRXcmseq+eyFBQc+7jz+luoE3kojQc6Q\nnJst\r\n=TVZV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"5c25ca7b534a395f7fcaa9de410d5fa0b56d29bf","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.53_1572393099532_0.8668379416122514","host":"s3://npm-registry-packages"}},"3.0.0-beta.54":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.54","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.54","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"07508de716bcaa78b7c9ffc4c5b12fee9622ecef","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.54.tgz","fileCount":94,"integrity":"sha512-nSc7PIjg+aGFSacvSGnCmZfR5u2OHmgL1kH2nIi3ySvdlF9KoBWb5yz0QAZIUyTOZPfW72reKyVcEco6lA7ZOA==","signatures":[{"sig":"MEUCIQD/xpF65A1FI+8fbxIEgjeEWhLVvwxHMa3gneCUWgeAVQIgWv0tmDzuwyRIkraIKbchl5CxCyHnGFwBsGTKKyiXm3g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46827835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdwIHRCRA9TVsSAnZWagAA7QsP/ROiU+aTlP65AERNmyTV\nTlN2R9oOrX8qGTBKGSBZcWjQlNfQwR1h9QKTIX6ROcXLum06J6uJGaYxHC58\nqpmOmyocNNJBOk9Kt2SeyPj+kZC0OJHzZPUXU5/QkwNf7DAVjaIhIa0gWYgG\nUCYksrXpaUaJ61Qed6WFYvZJcgFoTVqSx0kUiRwpmUrpziZtfJBYlixaKbgq\nqCOqgD64WEQFch9XSalwAUhHF64J1Xbqin5QP4Nj+pO3ueZeGFKFvpFmmHQm\nEEqQegeEV3ITVMiQ7U2VmKwKd56g4Qn1yRn9jHfcxaQky+EVOIiDMulNlMuX\nxESjpaQCQMATiCQKX+yAZnX2zYHuHjtYT59a+k6QuzjwQ2H0ogB3zCRfoflb\nKY71o6J1KS3yhRJLZ3Daw3HE4dXuu6vIb8d+KMpFyDhp2hBGV3H+bOu0YlgT\n90/9uGQre5S40KyXjAkjfTVKlRyiekZ6MoCSv+u38PjkqQr0S27ZVqY4Ohwq\ntYyRyHIXbUT3N6kqpjXdkJISgEtc+bHlPUnCzckIh7NYxgZmjx2PFY4dFZGg\n/F3mEdy0LC7CfAnoua6r5m0XP2K19/3yS8krZkFJGTsR+Qz7c9076hsYad5i\n9aga6LtOxTSXzLva6Qa/2Zvct01k3qJfKLXwZY8uej+EGoRwZ8nPnZvTVab5\nHr7U\r\n=WfSc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"f8ef2057e287332edea5242e240bbf1468a359b2","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.54_1572897233004_0.49585084032742066","host":"s3://npm-registry-packages"}},"3.0.0-beta.55":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.55","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.55","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"8088ad1ee7fdc93a34098bcfeb0b50d6dec7c1a0","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.55.tgz","fileCount":94,"integrity":"sha512-m1K/P5d8HbIzLwxHReYXnbFvJm3cKHT6jawW2xA9CYvfon9VNR+2CKHRdzUH/SSoq14eQYhWBD1miP+Gu47QSg==","signatures":[{"sig":"MEQCIBiAFcD4yA3JKyoKD9em/cz73fD9UPECoEZMfNXfm+FzAiBu0GuCN387JlXzInnM/GmO5g4WsxHlk19AY2Hj3qyilA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46828698,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxIoACRA9TVsSAnZWagAAcv0P/2Xm5yn4q9mb2EtOnmN4\nM6d8ZW+rTr/aNXiXuCRulkdRlR8reEtPC76RG5+Up15YaFAMwSUSKVQJqWAG\n77p16DfXsP19eUm1puDieNYgBvxGKPaVRLhVlTFrJoPq25nQrWmOb3rM5JIn\n/nrC7ocqTB0zqN04XxmoV69t1j/TjZLIG9DGvZ6FmeZNjsuvcNAiMS3LA4dH\nV2Krc5LqNC1Q4vRC3GiFQC0lzPEOaYOg51asTS57KyJpaL7cy43scWpKDUtr\nxCoCVVROgV48vXMCOFyisdLvk4WZAj68HlXYT6+ttyVanb+KMJ/N4IxdLIyY\nSxGeQTDFTbfq8oDwsfIJlUJdXpQ+Qnph08h0YquOG1woAsTi03uHtjn2PGdE\nci8y3YGOtqM1bcgP0nQ4neaZopyJtOCmTnGR0HO3C8YJdrvDfEweB8ioDrmR\nH+VDmXzY+oriH7gsEUf2oigXHBW1g/FtY86RmjZEHwtZM5GtxBzrAY+kjrUH\ncqrKpFXCr3al4gkoNTRal4N1uPD/CXOtvAzF2+wfFW2hMsJuz3n0mwJk9Opk\nzv8lDPGKKSfDtUYqltipLOP86qoJ1ZmvRCFXcPZUoxMsluHxdid6m000mN9z\nF2z/8A+hNn9UtOkJAznb7t9PCsB6pZn1TBPBrBWaGRuw9aX0maBJ3QXw3dvr\no1aP\r\n=YlBC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"96dcfc6b746290b54c562bd9a23b30c717836a53","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.55_1573161472270_0.44636535859923687","host":"s3://npm-registry-packages"}},"3.0.0-beta.56":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.56","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.56","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"bc76dbb9939f90beb75da4969c3046af9c0d922f","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.56.tgz","fileCount":94,"integrity":"sha512-LX/o2Gp7ZR77XOZtfeR8t5QFZ6syXeXNQgKWzuwAxC0tJCLlb7c93xU3sxq0UWgHgMfnChI29ZIq1mGVkf8Q2Q==","signatures":[{"sig":"MEYCIQDIdb8qyv+zuOItd5mhfFhUbRqkUcYm8oCPDbmxvvSUtgIhAN4xnRjTRioDh523lDY3F6pCdsZkDc4ef4AbcP2uMotZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46829362,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxJjBCRA9TVsSAnZWagAA6BIP/iZGT+0bZ/Jm/OGZmZpq\nsdrL93bMMOEujhIdCVEt+8+1CB34MIlz8Yy1kCEh6bXpU4N6QKldQoW4Vaao\nbaTi0NWjoK4dMFAtAVRC32BH6GCOGobVh2aUfJUuHho9gdzxHPnkOomhIq/q\na29AY8qE82wWqbYdGmFLeODFTdEcKd35c93FuLam5ou6fIGjh6zFy5hAhYCf\nw2TZuswjNv2O3NdA5i4BHqqBS1a+NCkrslz0q9DzTfh4aaS2hsXWLh1t5s4R\n0cYufYVgj+Iy7G10pY4YFEZi/iBmZcRBOMFXv8Zo/qb7f0t39HMJpt1rfpoe\n9Uglt1kcGR6kUjgNqTxR7Nw1H+CLcQN4FJm+LTl8uqVtajVgEvBakigaeqVC\nqd7kqsRHkIrJzN1kJdxemvUz5VHrZE9aAEn6ZJaxfCecMHcwdr5730hOXVqS\nkKjLCpo175lhOsAA3Ih7D2i1PqAmUDRD6G1afdhXese4jgUiUFKMg2yeDAuN\noAuFi0/cDxGY0qP9Sg3crllHwupJMbEv5XekEEG4RKWackLEWE2v1CqVK48n\nVIyanz/9z3GF5IM/e7r4Zii9WpbO6t9Uu4gcoAGYTaYVc7OgKc4Ypr/iXtr3\nf3zhZvkKVn4kSANvFB0RzZ/iR/gDaUq9ShLi35rlbDeUzpGe3gdp0cWMXKkP\n8nMP\r\n=dVfr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"dd0ee90d5e0860a8aa540b58e75362c197563f81","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.56_1573165248883_0.49413323506192763","host":"s3://npm-registry-packages"}},"3.0.0-beta.57":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.57","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.57","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"dbdc89ee305b9a95366a0da3553d34ec615eecaf","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.57.tgz","fileCount":94,"integrity":"sha512-xeh/ZIUduusPfwYlTQumr0bC3dIHNEREYd11kGae3Vi5OqzLQp/VKzRC86JPyfETe4ohOONMZpAcmADre2Oakg==","signatures":[{"sig":"MEYCIQCI8Ywd8G96/5VFgXGgHeE5Mf/pmYER9GCvi765oVxzOQIhAKJqNfWQtR/4kKuasmVEnee2Nzvc3MvWqkYuNmU3sAkC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46874476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3q2wCRA9TVsSAnZWagAA1U4P/0U7hzJNYvFDoScd0xA0\nj3/7Sp8nwXfqSNODcB6xrQyfoEiexE9h9r7PQTCgvmXXVp0lR/ycVZbh11Gr\npSMMHDCR5fLCBZLSnqvamcmHNbrJ36L4CN2+QwjKPvlx9XKryJ9Dr0autKsJ\n7JwggwiCLcSRpxEoMV1ve8HNfqM+5CD6PN1RPHNlVWp28AGDc24CmrSIUk6B\nw4jtEUS1o7gWY7yx/ttxC2uZOii2dRgAqhLcOPJKqRKw9foLd8zZar870fEK\nRYpoG5VKMLKhUL6wEyoghTE71fKGRjMibiu5b6fOZMigRiAT+5Kgfi8jI0e4\ntl1Mf44JGtxUyzatkV0+wB6R5rD2AivMX++rFKmXYMTJ6/Xf1mVD5D7+B5ez\n5u9i/5Bt/nhU+loHZrdX/l4irnMGrKlbqkaG5wdMeyxQv1xJaIS5kuGLR41U\nPEQdUmZfGWSAvbjZ9ieId2LWwhJlp3PevQrqqPhs/iqOAAvNiam+G63UuV20\nxZhtf/Vb42OPMRIi1/sMchje8+C9HFSZkMkeiT4yOejAYM7Ih2P3UqGkSptp\naksIsEhn1hSCRtE/6x+NotrKF7WgYlXw6MB0dgMHSN1fAtEb8xJA1Ly+EImW\nE9+Jfi/OrDTcxj+DDOc7DM6+BBgcwp8F+0rZ8xfOXqsnYgbLk4kFbiEnjPbv\nx8oF\r\n=XK2Q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"76f90fc7756f73b827db0624c8d6bbf14f0d1879","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.57_1574874543821_0.25985934126473054","host":"s3://npm-registry-packages"}},"3.0.0-beta.58":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.58","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.58","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"28c2a91787866579b0d7f7335f5b8c8349dbad70","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.58.tgz","fileCount":95,"integrity":"sha512-RDF7tO39hUBZdsbc+ey73ykxUtfRIc8L2o/TlwskgPTahL9pDA62MJPNVjpyMCAEQDMngALFrqNCOv38QMIu9w==","signatures":[{"sig":"MEQCIGSk0MAZJfzDZIxW91GQHRgkWRhhChDeQZ9D7LqiYLr8AiBXVdU1n9sLk+PKlvgL4SyMe2V0ABUEVTVAcJzeHNhsVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47501182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd5nJWCRA9TVsSAnZWagAA+H0P/1GEYH3JIMqNuTTnDgy8\n8wP1vD8wtSpdc35nYw7beN9pYdt4+Uuq9pKg2tBNqWC1aVhFoUy9XrpdNM64\naMWfYAebhqwrAMzCM7QRUhl+0hZ/qpLG1N7CKjAP4oMrbCBDNWVNG1x1wgI5\no6JXl7qvfl/uXCQUpeF3hhEXJUmJNxNFSm+MYCsJQXLtoI30WrJoJV8wTFFK\nu5Bastr4CUVIpH6nJWpR8nMQlCzTehPYTBAalYRIWsuQKq8cP3nNKLrp4Xsa\nxlus9U5vxMzwVARe69T6CFIVhH1RqduR83YHG7SYiq4AGwYt5rFVLTLXcyDe\nvhj8Urg2CCOpng1LAPcIFslpXtFL4kjxw5z/5VZjDPwzEQbXyXH69H3P3/Fk\nr8/ms6MxamX5S1pAZuJ6zts5Rh2jAv0H652j62ncB/Y+GKOn/fGHPIWZqFNM\ng+l4QVoQ9tYDjEVbH87VsWRM+IAD8EWQX+4NeH9PteI7GJKEP6gPbA6jCBA1\npw+9nlqkiJAn8iZwmld6VwbDQqnUvl9EYikXIxI9y+mkcZjMz0d2bGWwaPI0\nNmlzo4QZxspS+LlVBmnBjdNTk+Fh3XZ4x+lkzJAAMZVKBec5IhkzfLHhwBlH\nGgS52KbShfwSASAYZ3K5NmJ9vWHRO+mnj/dQgCqq4asbtV+jdayC5lFH+VxW\ncZqR\r\n=R5y9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"b349d7b6b17ecd00f9f92d6608095d26d08b5f73","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.58_1575383637248_0.5384399481759521","host":"s3://npm-registry-packages"}},"3.0.0-beta.59":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.59","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.59","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"044879d2d94cd95e7c447218e9fc9b07334a4fc4","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.59.tgz","fileCount":95,"integrity":"sha512-PM7QSulRuX0bW8MbvbsQ7UGiTxdfaunESmVcnt0nOXameesolU/izG+vYfF2tldCnMRdr1OLehV2GqhtFhVJKg==","signatures":[{"sig":"MEYCIQDUHsQvRT//JxCTQvO2NPGUOg+xihAsZQMzO02l/cQeMwIhAKgOqiwLXjz6LrBa1EqHb7kN3DnZXg3tdNsCTk6+SiGM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47522500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd57h2CRA9TVsSAnZWagAA/H0P/0F8zDmWNPYIBLjzVCen\nZUE7qerL/qYxo//ohGy3sxuoyCgVlmNOsS/1svVMcfo0b52MPQB1xFy/r8Jv\n/Cm7T4TcYAEGWDngWAcYBQJJEk1ifj/Yem4FI8V019XWQcESlOfE/x+ynl9F\nBJptXE3fX2DIOg5T3udxgQIi+ZBQnBvjDlrpr+7mEGhGlbtNMyQS/9GtN6uA\n7uJSMBR0uIsIr01ylWO+QzSeCz4apStCkBpG1ZduVm0t9Ait+KOO10tLtbeN\nz4bgID9TtSAp5d1lHS4hHPKI+DCTCKvTm/PsnHMJUZSLHaaRa8dAL8gTIqlw\noxs+yY2lVsI0tH0mrHXe/3p3mVT3ChNCtCowjsgmo6eQOrExIyx6GZL7bb9V\n/gT4cPzHkqVPzZDcv6iii1/ows25xyMZYdzWnXn6/6dp7Z//ftnAyU80c+eF\nNGa57ffwBp5L/unuc+1moF7At0upCarLTHA6DXVeOJRAlrWyOiufTXwVTqUP\nbeBvo6D06P1DfLRORakhzbxdzjgnzFCXpPKiKmF/gKHJfJQSNXdL5N6tX31C\ne4705ssF0auOxHkWl+eC/VYy3x0wLdRIDaGGgYdoEIv1+0InLPwZ//r42cLZ\n3qmrrOkmvSxtw2QhWBnTmrwcTvux2T1bNo2A4xFwrpiNiNlq/f2E7MXrY0im\npp2h\r\n=Fajr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"94abcf62c467b43c28161cae254fd0073ebdbbe0","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.59_1575467125397_0.14002568538393523","host":"s3://npm-registry-packages"}},"3.0.0-beta.60":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.60","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.60","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"555c77faf36cae0ca5dadc922af2632a30ec00fa","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.60.tgz","fileCount":95,"integrity":"sha512-LdmCTOvew8Ve0Ub4uWqJHyisGMrmfKAWi2CV7O8GclYnV2hLfTz8xqedLacOzsVn5l9cGUSBSrp+0FhPWMTwhQ==","signatures":[{"sig":"MEYCIQC7R/8VZDnoI9U8ySO9DdJsPRq41cGn69RZ/NyTF9GgrQIhAPh80S/xNv6xWs7UV1RgN3D00qxEVt2HTqHjtejey/oU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47523022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8O39CRA9TVsSAnZWagAAXw0P/18tcrn4Mzp6PnU1Zv0n\nJVrPYRAfxBUICMoR8sZiu222iKFh4Ziq5lIw90l2ebmMbm+ILDJtJGcmkF4p\noEluRbQqdSMwh8rKoNQAP9moI+BCoySdx49O9PDI+GDiEEEy9vhp8oRUACMs\ntXTt3rnW4Q5SI5ApbRgCid7rrzvaDaeohvtzrh3bHIAHX1hVqTKvnKUyFmsk\n5jo37UAeU0xQWq+MxDTZEXqnHuHDd3Y7V3Ws7QHcSezmnKPhdSJ5TNciSKf2\nEaR6eqlysaeFwxeheciWq1uQORm6+M6vU8Bj3X6INwYxqV8nM6V0cCvhIhWY\nMyoxR99bfWWP21n4UjE9EoDVcx4QNdPlLkIFpzYHODxSxNkPg5SlesNFbcpZ\nUxEJoCRL9xY4AEVlTpz9ehOw44NnHxXS/ixiZKGaQTAhkEB2BzgbfisFbnfd\nHFuVXC0GYW67/eMxZVqFTnH8VDxPyd6OJGY29PVyGyawGLfeg7+6m9OKFozg\nzidTLXhUqr6c+ThZtJl1n1A9jss4z2/wNc4ww3mrccFnzAlWJ7pc9wjo+MQk\nSPhSu0r+v0EucyK22bQRycsIaZvwDeK/1Rake1/90z+TOH/S8y2+DDEZVTM4\nR6byUynXGQ9yJmOs3q27XQ2W9MwUoLppwRc2rS2Fl+uWz/rgDx+s8EnXK5/7\nIpXz\r\n=SlXu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"02b4aad95e59658eda687c63a4d78d6c6ce401eb","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.13.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.60_1576070652530_0.7417512337406877","host":"s3://npm-registry-packages"}},"3.0.0-beta.61":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.61","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.61","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fahdw","email":"fwahab9@gmail.com"},{"name":"fernando.espinosa","email":"fernandoespinosa@fernandoespinosa.org"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"60876136e5654669ae05c891e7aadd27871a5432","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.61.tgz","fileCount":95,"integrity":"sha512-0wQN9xyLV6WF7Fls8v1/kZ2uiGYbRJgl25eJ+/3lSw1rjTYtHqGE3iUuEmqJckdMRZt/V2yGOy7J6CKNY+2Sww==","signatures":[{"sig":"MEYCIQDh5d7qqVlO3oprtAD8t/9aGtHhkGq8Qatw5OHSH9FSUgIhAPYK97ayOZ8wbt2r0bVYx7Zkh1FyWJehdE7guLy60FjT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47524093,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLxJ8CRA9TVsSAnZWagAAGQkP/2QtAIWwNwq9fvQYdSKu\nrT/95V7V+huKKhqJS0BRPhm8F46KOvro9wksZxf3c5I8ssP6+rbWYoGiufm9\nxi11LI1KJ4VqDmkBkFhu7l6WxbXbq5G98FxL5kN3AwnlsMtNyXPfrS8/gt0H\nq9pIdEkWBh3/N+WG2lK4gc3Y95/Onpf0pMeZC4/ssrD52OJ/qsOoV4EiqJK9\nFy1QjfwgHlcmbS4839HQEvhNqN78wl1fxCIZ4uRdVYj0nwM8TSYrM6sVnp4K\nmPMvX+iyacd2W0yG/FuUFdUX4e8iaonzK6Yyxhz40W+0xiMqAenQt8QH8/+a\nBmF9rWcterlzFPmaVWjcck21bHwKeIwDj4QXHRSqvyFsUfdz2mz5qaAu6OsP\nNXqQHjTMBBSBQCxtnsmpOcqdriSaiQYRDBHSufBSKCBHULiNZU2ey0ueBZXG\nyvvvO8D/TKo5dIVvFs6Q/ktklb470TnkRY5/c59sRDL2d0Kqg50883Y3tOfM\nGxohSJI+Bz+A5BEtSVp+oxPLXba0dboaDDXnZNJnK8fKdenunTdgIF7126T/\n5Yvw6YzA5tgToCqNzCxctFV1qe1xeFRRmiRMgdKOaMefPX6eYfuFEO+823SE\nulFAUGOVX+NIzkvKkN9iqIA5ygEbFIZbkSXykYbORGGm2dwhfDi7vqWSUhZo\nWgkX\r\n=sOSR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"7a3596f57f76c50f6f0d391bdfc07b2787facdcb","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.5.0","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.14.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.0-beta.18","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^7.1.0-beta.3","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.61_1580143227504_0.48560426950011615","host":"s3://npm-registry-packages"}},"3.0.0-beta.1":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0-beta.1","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0-beta.1","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fahdw","email":"fwahab9@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"79f32d626c45f871f62c0d62c70efe419078519c","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0-beta.1.tgz","fileCount":95,"integrity":"sha512-htwpJYmLpbLxkuqdi+gFuqwqhu/sRHp/NtdZSsNjUQiw5hK5R/6WBePp9jh0jF/6z4GL31qaA8d53m1LvBE3Pg==","signatures":[{"sig":"MEUCIBpbzz6gKmhV2qpBMQFxdkn3TqNm+9yWAARbcx99SGVqAiEAnBf0diTq5uY5Zn08dOBsRr7qSxczVvE/YkhPySDZwC8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47560656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeclZcCRA9TVsSAnZWagAAsY8P/29cUvf7KJsgyCznHdxE\nLIV3ajtnycm2+nQFpRpONznoovgU13IfaKg+YWLlc92aVUKKX5BYC8keXJaq\noPpqLzLWD8y5Nkm3iZs9hmlqH9wdLTzqB6OjXIsfy3z1x0si8FlIJkvG0HBo\nq6QV2p4sUIx7R2XoXICKsKBL5CtCyLJ3voD8Vc+NSO6uDqixTgvTvj5ifjr8\na9904MDMX4/3mzidB8D18ljhwZMHWLW+Tg5oF51Qfba/XgKt09FfkVvIKYJ+\nYNzumERt7ElNjF3zaKspaN9a1xLzwIW+3IbG/w3GPsXHPESkEKd9fMCwZ2Ae\nc1jyTJ7djf3QsGiN45C68w1DifwTsLRXhWDMcY5Q4zDpzrItyjxPU3Awv7qO\nlxsV9Slr2AjqqQWmA4Wb7vfS3ezVmhiO1JXHJ8j+59szkQ+6k5xixyfpgawO\nm+BICaFnclxVH/71XxJsz3yKPej7dLuGIC6GctE5o64xe/njV9BRx31+QfFI\nfd6sVjVa/QjwVXRLOWFjObXu5rdGEaYsla3bUsscdhshazq3V1nrqfuwgLeE\ngNCDHvalHHm0/8pcDS+DGw3bpuqap2PMagdIjF0lrVpcoAlmDI1Vr9RqfqAw\nCj9yBdudr6hufEpE+paPEkSl5xTJ7UZY7mNHnrmMlTStBK/6dV1UaiDq6GPJ\nwgAm\r\n=quRD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"730ddf6352dfcb00268e5245e23ce81a7c9b2348","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.14.2","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.4","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^8.0.0","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0-beta.1_1584551516012_0.8803432060320757","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"@polymathnetwork/contract-wrappers","version":"3.0.0","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.0.0","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fahdw","email":"fwahab9@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"d9fc46dfbf7b84b65a8c8aee0986fa5d1a41e16f","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.0.0.tgz","fileCount":95,"integrity":"sha512-u+tFlpcEydbnBa1PfJCdAxdhqS6YIbHDRGO4knbcV3JO2A3plEn79qqDMOhoBD2R7jzWTgeTJK6e0YODEDBx5w==","signatures":[{"sig":"MEYCIQCtH7rIh0ndqX/wOOj6IK2BOOrlUqyQgFjZs6ptro8swAIhANaQAXqESe5sDSZKKFVJhfbJ79AT/S0sdcxSRyW29L+n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47582311,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecl2ECRA9TVsSAnZWagAAlhYP/3ONlp4Vq9DH51jEpI9J\nKrlI75W2+hzG2j1KScHd0GLE4opETNOXmhbiAbQFlxsNAguP5XM9MG5zQj+K\nzYlGlNVDMXyJ8BLtag3+bOjFb4xEduVEQw63ZTvLmI0gXHvWEGeVH8CDLkhg\n+4kF02RMQLo88jIFfmIMYjGvxE8Bj1elRdjQ5ytBRFILj8ZyasNUXxTZQUvi\n72zWEFWnHUcByYofn7W1Vc05fPeP08rK7Q+MKJRGxIlQIKRgouo8WFqep31D\nwhYhMHD/48Jrgkz1AEdle5Wv5D2htQxHuXbMxYSwZzz2uwlafe6xPfJIJtqm\nH4E9HykoUPsK7DyfgujmJ0CxQ00sD35nP7POPomeJdSBA4IvBkWpITBnAmd3\nTKkWqa7EaHy8njuX8q7u0SVseAzn01Tl9Ift0z//dKPdaqMVSS0YGZT6KD+Q\nN73mnAx0boRUXTQ808G9TvL4y/9SFC6L76n7qkRTeeh50sNQ4OvWgudky3gD\nxor0Uzaf0XLJ1GaavhMTpYcknMLn8eHMxBHZ1LYn+VyHZ4J/Pf4NhaQAChJT\nNFeOYKRSRKFDa0Alp0DFqZtFFikGnJgjWXQ2c1f0snjL6UgeRmIgtoFTiRU7\nWWU0qjkkGGfOeZTq7GBKLcM+FB28NzZuoYzL7II3KWROyv8Skf454vG5dLzB\ntpwZ\r\n=YFNk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"cf3b3ca4640ebad669916998bc1fa281619ab4b0","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.14.2","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.16.1","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.4","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^8.0.0","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.0.0_1584553347481_0.8063032812110118","host":"s3://npm-registry-packages"}},"3.1.0-beta.1":{"name":"@polymathnetwork/contract-wrappers","version":"3.1.0-beta.1","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.1.0-beta.1","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fahdw","email":"fwahab9@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"c914a86daa7b336165df3982c5c7c73d67805880","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.1.0-beta.1.tgz","fileCount":95,"integrity":"sha512-dN2kGJvOel6soD2ChOjpqUW4CIb66VRF6ped6s0gPg4D2NcVOk3IwehGZLXD/hCEQGX0ogbTw7K7ON84q9L5Ww==","signatures":[{"sig":"MEUCIFVL6/vkUmbIForvK4Q3mzWiqHr8Heqw59o2ZTqlG2P+AiEAu+jxIsGKqbJ+bS39+XHW/kbZBRcDknXq0du8wvJDoZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47582573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6VIACRA9TVsSAnZWagAAo20P/2rE7H7EwBIH+91TMPHH\nxTxOduTaTfYU5urrIAA1kdu5dkDz1I/Mx6KmPzewiQ7c/Drm7YhvvZHJK4PK\n3gYEPuu8RIDv9UbYqB9E5RrrXaYQVrx5yRP8ioC3tWxFQvvjf7YiA0f8U7A+\nxWcJ8B9h40I+Uq882sX/3cg6kK+3SMYMn452CpMfaN9tDUaq/08APtV1/Rzn\nVdBVAPCUFUoMXewdTmYZXS2c9hjjKo1RRHkamfP9TUiKepumujYyrA3aYMvO\nAx7aoERPhoUm8fcSXpOE7gIOglZ6BA7QXTsIqzbJFUsTLT8ExGhRfA8xKend\nl5a2oYOopFb2k0Y1pRvLvTqkUzMrY6wmOowYD72sE5tsUJPHZn7XX1QNvTM8\nl0BNl9RkO6vzB0jzK7cYUa624GnHpT4cxH2qXIu+sLTG/F98li+i4SxTxhny\nOPkUrNSsk845l4En5UBtBYXkf3S0zY+QGf3SjXyZ7qnP+SJgC4LO53wFmDAn\nMuGrkzE72+MSiJGdKEL1C0CiWxaKtTnUafZ43Xl5qj2pI67JsgzmGA/HG++7\nebz5zjB4JIGtetLpg287dS35pj+rR8+CD5cSYdZMCnB4v/bX5/7S9Qkoze57\nwBwE4zugFizVgsYfUiFoK1Ti758CGjc8LzcEdMtkEeHzdk6Al+NaIk6ZblAz\n3ZBw\r\n=bFOp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"2573332b2da17dd696a38474e0de3d28ae8a99e9","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.14.2","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.18.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.4","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^8.0.0","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.1.0-beta.1_1592349183960_0.23006854956167033","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@polymathnetwork/contract-wrappers","version":"3.1.0","keywords":["polymath","ethereum"],"license":"Apache-2.0","_id":"@polymathnetwork/contract-wrappers@3.1.0","maintainers":[{"name":"bakii_agl","email":"satyam0499@gmail.com"},{"name":"fahdw","email":"fwahab9@gmail.com"},{"name":"polymath.network","email":"devops@polymath.network"},{"name":"polymathdevops","email":"devops@polymath.network"},{"name":"shuffledex","email":"federico@polymath.network"},{"name":"victorvicente","email":"victor.g.vicente@gmail.com"}],"homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"dist":{"shasum":"6292d9c04697a2c1488337fedc54f3c0e8553192","tarball":"https://registry.npmjs.org/@polymathnetwork/contract-wrappers/-/contract-wrappers-3.1.0.tgz","fileCount":95,"integrity":"sha512-j6Imkb3yCP/walQsU8Dt9QPGvHGRQc5dXmnqdzbohnPnkjcwwTaquNN7JgsFKaUJj1JvPzh2GgBpj04qLqz7Yg==","signatures":[{"sig":"MEUCIBIorkjlMSQPWm+KOiThmHsIfwwf7NnLbvhnQp3yu1UjAiEA5XKfZudcPXebkbmoYhssoUD4Xu3ICQX+Hil3f7eawWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47582814,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2WxsCRA9TVsSAnZWagAAYGgP/3E2v4mm/KpWtnNLrFVG\ngI2GPvgapmGQxQdmSPdH0DzmSWxhcoR7G/AIsqNL8ID8ZQLLv98TfICfLjzt\nrfEgjUw7OpME5d0SMh9Oggf2ElnWMzWCgsPfLgAc5nCBJoR01yElGEICtBwb\nhYV2/gQw7u9EpmDBTdtmTHw6R7FQ7V36BJol150SDsuL6BA1ZtQRMFzzcjd4\nDwOF4qNBWUaiJKRp9DsLviWG7IOc3PvUgOAC3TsTEhhxnOh7DM69jW2ktuE8\nn6prXSrXDcvaM9t06XOM/dhNZKnkNV/dpPrHijC7I2INHBEye2RMokyBz8YD\n5GffKuGK8tZCtKbcHnL997h2g83c/+F3wVS/EPmU7F+XsRaSshA1bjwZdzhK\nmp/X4jBZe40orznE7KnZkg5n8bbfj9Mc1XuDq5K61rv41A1b1NF2nAAlvUJo\nC5wmR/DFZY7hdwD+dXAZc6qr/38FNg5o3YSS9j1nvwVRZER5uDaNg0C7P6GN\nxbpe8gdDJE5dLX0bzqsrG3wHCJcWhHHhl58YeYU71WuK00XHEpWQmBbk7syK\n1+XCQSU+JjvOQJIJIQ+FF80egSmR1qsCPx5V1raAhOJ9H13WsYhuwz/Ucunl\n/FGoxtOYYjqGXZtiwaeR3m70U0k/3kWnaX/WcPJ3vpnbLutpPDqwAqMTso3Q\nKmWO\r\n=t096\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","husky":{"hooks":{"commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"lint-staged"}},"types":"lib/index.d.ts","config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"browser":"lib/index.browser.js","engines":{"node":">=6.0.0"},"gitHead":"6c5d32ab6bba6ec11f79c3071c58959a191b5474","scripts":{"docs":"typedoc --excludePrivate --excludeExternals --exclude node_modules/ --name 'Polymath API' --target ES5 --module commonjs --tsconfig typedoc-tsconfig.json --out docs/ src/","lint":"eslint ./src --ext .js,.ts","build":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack","clean":"shx rm -rf lib docs","start":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack-dev-server --config=webpack.config.dev.js","commit":"npx git-cz","build:ci":"yarn build","lint:fix":"eslint ./src --ext .js,.ts --fix","coveralls":"jest --coverage && cat ./coverage/lcov.info | coveralls","build:analyze":"cross-env NODE_OPTIONS=--max_old_space_size=4096 webpack --config=webpack.config.analyze.js","semantic-release":"semantic-release"},"_npmUser":{"name":"polymathdevops","email":"devops@polymath.network"},"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"_npmVersion":"6.14.2","description":"Smart TS wrappers for Polymath smart contracts","directories":{},"lint-staged":{"*.{js,ts}":"eslint"},"_nodeVersion":"12.18.0","dependencies":{"uuid":"^3.3.2","lodash":"^4.17.5","moment":"^2.24.0","semver":"^6.3.0","js-sha3":"^0.8.0","bluebird":"^3.5.5","@0x/types":"2.4.3","@0x/assert":"2.1.6","eth-sig-util":"^2.5.2","@types/semver":"^6.0.1","@types/bluebird":"^3.5.27","ethereumjs-util":"^6.1.0","@0x/json-schemas":"4.0.2","@0x/subproviders":"5.0.4","@types/eth-sig-util":"^2.1.0","@0x/typescript-typings":"4.3.0","ethereumjs-blockstream":"^6.0.0","@polymathnetwork/abi-wrappers":"4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"shx":"^0.3.2","jest":"^24.7.1","husky":"^3.0.0","eslint":"^5.16.0","ts-jest":"^24.0.1","typedoc":"0.13.0","webpack":"^4.28.4","prettier":"^1.16.4","coveralls":"^3.0.3","cross-env":"^6.0.0","ts-mockito":"^2.3.1","typescript":"3.2.2","@types/jest":"^24.0.11","@types/node":"*","@types/uuid":"^3.4.4","@types/web3":"^1.0.14","lint-staged":">=8","webpack-cli":"^3.2.1","@types/lodash":"4.14.104","webpack-merge":"^4.2.1","@commitlint/cli":"^8.2.0","semantic-release":"16.0.4","eslint-plugin-jest":"^22.4.1","webpack-dev-server":"^3.1.14","html-webpack-plugin":"^3.2.0","eslint-plugin-import":"^2.14.0","semantic-release-cli":"^5.1.1","web3-provider-engine":"14.0.6","@semantic-release/git":"^8.0.0","@types/ethereumjs-util":"^5.2.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","webpack-bundle-analyzer":"^3.4.1","@typescript-eslint/parser":"^1.6.0","awesome-typescript-loader":"^5.2.1","cz-conventional-changelog":"^2.1.0","eslint-config-airbnb-base":"13.1.0","@semantic-release/changelog":"^3.0.4","@types/web3-provider-engine":"^14.0.0","tsconfig-paths-webpack-plugin":"^3.2.0","@commitlint/config-conventional":"^8.2.0","@typescript-eslint/eslint-plugin":"^1.6.0","case-sensitive-paths-webpack-plugin":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/contract-wrappers_3.1.0_1592350313477_0.5757665695985319","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-02-18T17:42:49.452Z","modified":"2025-09-19T18:59:04.426Z","2.1.0-alpha.2":"2019-02-18T17:42:49.893Z","2.1.0-alpha.3":"2019-02-18T18:33:10.867Z","2.1.0-alpha.4":"2019-02-18T19:06:25.410Z","2.1.0-alpha.7":"2019-02-19T12:15:40.141Z","2.1.0-beta.1":"2019-02-20T15:18:28.919Z","2.1.0-beta.2":"2019-02-20T15:28:04.585Z","2.1.0-beta.3":"2019-02-22T20:32:41.134Z","2.1.0-beta.4":"2019-06-20T13:43:12.806Z","2.1.0-beta.5":"2019-07-04T03:37:20.241Z","2.1.0-beta.6":"2019-07-05T18:12:19.091Z","2.1.0-beta.7":"2019-07-08T16:48:14.272Z","2.1.0-beta.8":"2019-07-08T17:32:18.946Z","1.0.0-beta.1":"2019-07-10T12:36:36.517Z","2.1.0-beta.10":"2019-07-10T13:12:16.487Z","2.1.0-beta.11":"2019-07-10T15:59:54.287Z","2.1.0-beta.12":"2019-07-11T05:13:56.328Z","2.1.0-beta.13":"2019-07-18T22:16:23.503Z","2.1.0-beta.14":"2019-07-22T23:29:16.975Z","2.1.0-beta.15":"2019-07-23T00:28:35.249Z","2.1.0-beta.16":"2019-07-23T03:33:47.032Z","2.1.0-beta.17":"2019-07-23T15:04:27.422Z","1.0.0":"2019-07-24T14:47:16.397Z","2.1.0-beta.18":"2019-07-24T16:47:59.143Z","1.0.1":"2019-07-24T17:33:44.596Z","2.0.0-beta.2":"2019-07-24T20:24:28.716Z","2.0.0-beta.3":"2019-07-24T20:58:01.411Z","2.0.0-beta.4":"2019-07-24T22:22:50.124Z","3.0.0-beta.2":"2019-07-24T22:50:31.565Z","3.0.0-beta.3":"2019-07-24T23:29:37.779Z","2.0.0-beta.5":"2019-07-25T00:02:29.970Z","2.0.0-beta.6":"2019-07-29T20:40:15.360Z","2.0.0-beta.7":"2019-07-30T01:14:40.163Z","2.0.0-beta.8":"2019-07-30T14:38:36.804Z","2.0.0-beta.9":"2019-08-01T18:10:37.689Z","2.0.0-beta.10":"2019-08-01T18:13:38.008Z","2.0.0-beta.11":"2019-08-01T18:17:22.701Z","2.0.0-beta.12":"2019-08-01T21:16:25.397Z","2.0.0-beta.13":"2019-08-02T00:41:28.213Z","2.0.0-beta.14":"2019-08-02T19:48:18.962Z","2.0.0-beta.15":"2019-08-02T20:01:44.986Z","2.0.0-beta.16":"2019-08-03T18:44:15.366Z","2.0.0-beta.17":"2019-08-05T15:22:13.173Z","2.0.0-beta.18":"2019-08-05T16:36:20.214Z","2.0.0-beta.19":"2019-08-09T03:51:47.687Z","2.0.0-beta.20":"2019-08-09T19:09:06.609Z","2.0.0-beta.21":"2019-08-10T18:09:01.521Z","2.0.0-beta.22":"2019-08-12T15:01:59.145Z","2.0.0-beta.23":"2019-08-12T17:18:58.269Z","2.0.0-beta.24":"2019-08-13T21:15:34.364Z","2.0.0-beta.25":"2019-08-13T22:05:30.278Z","2.0.0-beta.26":"2019-08-19T22:45:59.535Z","2.0.0-beta.27":"2019-08-20T14:31:24.972Z","2.0.0-beta.28":"2019-08-21T04:04:01.106Z","2.0.0-beta.29":"2019-08-21T17:01:09.496Z","2.0.0-beta.30":"2019-08-21T17:10:38.593Z","2.0.0-beta.31":"2019-08-21T19:28:11.407Z","2.0.0-beta.32":"2019-08-22T16:18:19.964Z","2.0.0-beta.33":"2019-08-26T20:54:15.184Z","2.0.0-beta.34":"2019-08-28T15:13:02.493Z","2.0.0-beta.35":"2019-08-28T16:00:33.697Z","2.0.0-beta.36":"2019-09-02T20:04:29.631Z","2.0.0-beta.37":"2019-09-02T20:16:43.886Z","2.0.0-beta.38":"2019-09-02T20:37:32.899Z","2.0.0":"2019-09-02T22:02:33.398Z","2.0.0-beta.39":"2019-09-10T20:34:03.657Z","2.0.0-beta.40":"2019-09-10T21:32:04.694Z","3.0.0-beta.41":"2019-09-12T17:49:56.609Z","3.0.0-beta.42":"2019-09-19T21:17:55.397Z","3.0.0-beta.43":"2019-09-30T20:26:16.199Z","3.0.0-beta.44":"2019-09-30T21:20:01.703Z","3.0.0-beta.45":"2019-10-01T00:07:03.090Z","3.0.0-beta.46":"2019-10-01T00:38:47.132Z","3.0.0-beta.47":"2019-10-01T01:29:34.511Z","3.0.0-beta.48":"2019-10-01T18:47:15.224Z","3.0.0-beta.49":"2019-10-03T17:26:18.835Z","3.0.0-beta.50":"2019-10-09T15:49:05.958Z","3.0.0-beta.51":"2019-10-09T23:22:38.531Z","3.0.0-beta.52":"2019-10-25T16:02:30.267Z","3.0.0-beta.53":"2019-10-29T23:51:39.990Z","3.0.0-beta.54":"2019-11-04T19:53:53.380Z","3.0.0-beta.55":"2019-11-07T21:17:52.683Z","3.0.0-beta.56":"2019-11-07T22:20:49.591Z","3.0.0-beta.57":"2019-11-27T17:09:04.246Z","3.0.0-beta.58":"2019-12-03T14:33:57.805Z","3.0.0-beta.59":"2019-12-04T13:45:26.582Z","3.0.0-beta.60":"2019-12-11T13:24:13.263Z","3.0.0-beta.61":"2020-01-27T16:40:28.101Z","3.0.0-beta.1":"2020-03-18T17:11:56.440Z","3.0.0":"2020-03-18T17:42:27.924Z","3.1.0-beta.1":"2020-06-16T23:13:04.501Z","3.1.0":"2020-06-16T23:31:53.788Z"},"bugs":{"url":"https://github.com/PolymathNetwork/polymath-contract-wrappers/issues"},"license":"Apache-2.0","homepage":"https://github.com/PolymathNetwork/polymath-contract-wrappers/blob/master/README.md","keywords":["polymath","ethereum"],"repository":{"url":"git+https://github.com/PolymathNetwork/polymath-contract-wrappers.git","type":"git"},"description":"Smart TS wrappers for Polymath smart contracts","maintainers":[{"email":"devops@polymath.network","name":"polymath.network"},{"email":"devops@polymath.network","name":"polymathdevops"},{"email":"leaksin@gmail.com","name":"vandaad"},{"email":"jaskaran@polymath.network","name":"polymath-dev"}],"readme":"[![Build Status](https://travis-ci.org/PolymathNetwork/polymath-contract-wrappers.svg?branch=master)](https://travis-ci.org/PolymathNetwork/contract-wrappers)\n[![Coverage Status](https://coveralls.io/repos/github/PolymathNetwork/polymath-contract-wrappers/badge.svg?branch=master)](https://coveralls.io/github/PolymathNetwork/polymath-contract-wrappers?branch=master)\n[![Gitter](https://img.shields.io/badge/chat-gitter-green.svg)](https://gitter.im/PolymathNetwork/Lobby)\n[![Telegram](https://img.shields.io/badge/50k+-telegram-blue.svg)](https://gitter.im/PolymathNetwork/Lobby)\n\n![Polymath logo](Polymath.png)\n\n## @polymathnetwork/contract-wrappers\n\nVersion 3.0.0 of the Polymath-Core Ethereum Smart Contracts\n\nSmart TS wrappers for Polymath smart contracts.\n\n## Installation\n\n**Install**\n\n```bash\nnpm install @polymathnetwork/contract-wrappers --save\n```\n\n**Import**\n\n```javascript\nimport { PolymathAPI } from '@polymathnetwork/contract-wrappers';\n```\n\nIf your project is in [TypeScript](https://www.typescriptlang.org/), add the following to your `tsconfig.json`:\n\n```json\n\"compilerOptions\": {\n    \"typeRoots\": [\"node_modules/@0x/typescript-typings/types\", \"node_modules/@types\"],\n}\n```\n\n## Documentation\n\nThis project uses typedoc documentation style.\n\nYou can access these docs by cloning this repo and opening `docs/index.html` in the browser.\n\n## Contributing\n\nWe strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.\n\nCommits should follow the [conventional commits](https://www.conventionalcommits.org) standard. You can use `yarn commit` which will launch [commitizen](https://github.com/commitizen/cz-cli) to help you format commit messages in the correct manner\n\n### A note on breaking changes\n\n_Anything_ that forcefully changes the way the client interacts with the package is considered a breaking change and should be described in the `BREAKING CHANGE` section of the corresponding commit. This includes (but is not limited to):\n\n- Renaming a public function/class/interface/type\n- Deleting a public function/class/interface/type\n- Changing a public function's argument list in a way that the user needs to rewrite existing calls to it\n- Changing a public function's return type\n\nWhatever is written under `BREAKING CHANGES` is literally what will go into the changelog, so please be clear on the messages. For example, if I change the return type of a function called `foo` in class `Bar`, the `BREAKING CHANGE` section of my commit should say something like\n\n```\nchange return type of the `Bar` class's `foo` function from `string` to `number`\n```\n\n### Install dependencies\n\nIf you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:\n\n```bash\nyarn config set workspaces-experimental true\n```\n\nThen install dependencies\n\n```bash\nyarn install\n```\n\n### Build\n\nTo build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:\n\n```bash\nyarn build\n```\n\nor continuously rebuild on change:\n\n```bash\nyarn watch\n```\n\n### Clean\n\n```bash\nyarn clean\n```\n\n### Lint\n\n```bash\nyarn lint\n```\n\n### Testing\n\nThis project uses Jest to do unit testing on the contract wrappers.\n\n```bash\nyarn jest\n```\n\n## Deployment\n\nThis package has automatic publishing and versioning via [semantic-release](https://github.com/semantic-release/semantic-release) and forceful use of [conventional commits](https://www.conventionalcommits.org)\n\n## Sandbox\n\nWe provide a sandbox dev server to manually play with the package in the browser\n\nTo boot it up:\n\n```\nyarn start\n```\n\nThis will generate a git-ignored sandbox.ts file you can edit locally\nto start playing around with the code\n\n## Starting up- Code Examples\n\nIn order to setup the Polymath API included in these contract wrappers, you must first establish a blockchain provider.\n\nEthereum providers are important in both reading and writing from an Ethereum RPC Node.\n\nThe API must be provided with the network id you would like to use, or RPC Node. The provider may exist on a node, on the browser as an injected provider (like Metamask), or both.\n\nIn order to configure the provider use the following code samples to set up the Project. Follow one of the following examples to set this up in your sandbox, dapp or node server, dependent on the situation.\n\nFor cases (1) and (2) you will need to set up an Injected Web3 Provider (Metamask). An example of doing so is below. More info on new and legacy metamask providers here: [Metamask Medium Post](https://medium.com/metamask/https-medium-com-metamask-breaking-change-injecting-web3-7722797916a8)\n\n```javascript\nasync function getInjectedProviderIfExists(): Promise<Provider> {\n  // New Metamask Version\n  let injectedProviderIfExists = (window as any).ethereum;\n  if (injectedProviderIfExists !== undefined) {\n    if (injectedProviderIfExists.enable !== undefined) {\n      try {\n        await injectedProviderIfExists.enable();\n      } catch (err) {\n        // Error with Enabling Metamask\n      }\n    }\n  } else {\n    // Legacy Metamask Version\n    const injectedWeb3IfExists = (window as any).web3;\n    if (injectedWeb3IfExists !== undefined && injectedWeb3IfExists.currentProvider !== undefined) {\n      injectedProviderIfExists = injectedWeb3IfExists.currentProvider;\n    } else {\n      // Error with legacy metamask\n    }\n  }\n  return injectedProviderIfExists;\n}\n```\n\n_Setting up Polymath API for 4 different cases_\n\n(1) Using Injected Provider (Metamask) to read from the blockchain and publish transactions on the blockchain.\n\n```javascript\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: new MetamaskSubprovider(injectedProviderIfExists),\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(2) Using a Redundant Provider on node to read from the blokchain and Injected Provider (Metamask) to publish transactions.\n\n```javascript\n// Instantiate a provider engine\nconst providerEngine = new Web3ProviderEngine();\n\nconst injectedProviderIfExists = await getInjectedProviderIfExists();\nproviderEngine.addProvider(new MetamaskSubprovider(injectedProviderIfExists));\n\n// Add Redundant Subprovider\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(3) Using a Redundant Provider on a node to read from the blockchain and publish transactions on an unlocked blockchain node (No Private Key Required).\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n(4) Using a PrivateKeyWalletSubProvider to sign transactions being published on a normal blockchain node, and using Redundant Provider to read from blockchain.\n\n```javascript\n// Instantiate Provider Engine\nconst providerEngine = new Web3ProviderEngine();\nproviderEngine.addProvider(new PrivateKeyWalletSubprovider('<Private Key Here>'));\nproviderEngine.addProvider(new RedundantSubprovider([new RPCSubprovider('<http://examplenoderpc:port>')]));\nproviderEngine.start();\n\n// Setup API\nconst params: ApiConstructorParams = {\n  provider: providerEngine,\n  polymathRegistryAddress: '<Deployed Polymath Registry Address>',\n};\nconst polymathAPI = new PolymathAPI(params);\n```\n\n### Module code examples\n\nIn the `/examples` directory there are several examples to help developers understand how to use the API within the sandbox.\n\nThese examples demonstrate the use of the project's PolymathAPI to get data and publish transactions with Polymath's smart contracts. Register a ticker, generate a new security token and then you can add a module.\n\nWhen a security token has a module successfully attached, the examples demonstrate how one can work with sto creation, transfer restrictions, permissioning, and directly with the security token.\n\nThe sandbox code included in the examples demonstrates how to subscribe to events fired from the smart contracts. It also demonstrates how to better catch issues when they happen, during token transfers for instance.\n","readmeFilename":"README.md"}