├── .eslintrc.json ├── .gitignore ├── .solhint.json ├── LICENSE.md ├── README.md ├── contracts ├── Migrations.sol ├── SubscriptionContract.sol └── test │ └── TestToken.sol ├── migrations ├── 1_initial_migration.js └── 2_deploy_contracts.js ├── package-lock.json ├── package.json ├── test ├── SubscriptionContract.test.js └── TestToken.test.js └── truffle.js /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "airbnb-base" 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/ignore-files/ for more about ignoring files. 2 | 3 | # secrets 4 | .env 5 | 6 | # dependencies 7 | /node_modules 8 | 9 | # build 10 | /build 11 | 12 | # misc 13 | .DS_Store 14 | 15 | npm-debug.log* 16 | yarn-debug.log* 17 | yarn-error.log* 18 | -------------------------------------------------------------------------------- /.solhint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "default", 3 | "rules": { 4 | "indent": ["error", 4], 5 | "quotes": ["error", "double"], 6 | "max-line-length": ["error", 120] 7 | } 8 | } -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 Clement Lakhal 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SubscriptionContract 2 | 3 | ## Introduction 4 | 5 | This is an experimental project aiming to create a way to provide a subscription solution using smart-contracts on the Ethereum blockchain. 6 | 7 | This project is written in Solidity, using Truffle. 8 | 9 | ## How it works 10 | 11 | Basically users are able to subscribe to the contract for a specific period, using an already defined token. Later, they will be able to pay to continue the subscription or pause it. 12 | 13 | 14 | 15 | This is an on-going project, the current features are: 16 | - [x] Subscribe to the contract (using a specific token) 17 | - [x] Pay for a subscription 18 | - [x] Pause the subscription 19 | 20 | Future features will be: 21 | - [ ] Multi-tokens support 22 | 23 | ## Related work 24 | 25 | This project was inspired by https://github.com/EthereumOpenSubscriptions/standard. 26 | -------------------------------------------------------------------------------- /contracts/Migrations.sol: -------------------------------------------------------------------------------- 1 | pragma solidity 0.5.0; 2 | 3 | 4 | contract Migrations { 5 | address public owner; 6 | uint256 public lastCompletedMigration; 7 | 8 | constructor() public { 9 | owner = msg.sender; 10 | } 11 | 12 | modifier restricted() { 13 | if (msg.sender == owner) _; 14 | } 15 | 16 | function setCompleted(uint256 completed) public restricted { 17 | lastCompletedMigration = completed; 18 | } 19 | 20 | function upgrade(address newAddress) public restricted { 21 | Migrations upgraded = Migrations(newAddress); 22 | upgraded.setCompleted(lastCompletedMigration); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /contracts/SubscriptionContract.sol: -------------------------------------------------------------------------------- 1 | /* solhint-disable not-rely-on-time */ 2 | pragma solidity 0.5.0; 3 | 4 | 5 | import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol"; 6 | import "openzeppelin-solidity/contracts/math/SafeMath.sol"; 7 | import "openzeppelin-solidity/contracts/ownership/Ownable.sol"; 8 | 9 | 10 | /** 11 | * @title An amazing project called SubscriptionContract 12 | * @dev This contract is the base of our project 13 | */ 14 | contract SubscriptionContract is Ownable { 15 | address public tokenAddress; 16 | 17 | uint256 public subscriptionFee = 10 * 10 ** 18; 18 | uint256 public periodLength = 60 * 60 * 24 * 30; 19 | 20 | struct Subscription { 21 | bool isPaused; 22 | uint256 period; 23 | } 24 | 25 | mapping (address => Subscription) public subscribersToSubscriptions; 26 | 27 | event NewSubscriber( 28 | address subscriber, 29 | uint256 period 30 | ); 31 | 32 | function updateTokenAddress(address newTokenAddress) public onlyOwner() { 33 | require(newTokenAddress != address(0), "New token address is invalid"); 34 | 35 | tokenAddress = newTokenAddress; 36 | } 37 | 38 | function createSubscription( 39 | uint256 periodMultiplier 40 | ) public { 41 | require( 42 | subscribersToSubscriptions[msg.sender].period == 0, 43 | "User is already subscribed" 44 | ); 45 | 46 | IERC20 token = IERC20(tokenAddress); 47 | 48 | require( 49 | token.allowance(msg.sender, address(this)) >= SafeMath.mul(subscriptionFee, periodMultiplier), 50 | "Contract is not allowed to manipulate subscriber funds" 51 | ); 52 | 53 | require( 54 | token.transferFrom(msg.sender, address(this), SafeMath.mul(subscriptionFee, periodMultiplier)), 55 | "Funds could not be transfered" 56 | ); 57 | 58 | uint256 subscribedPeriod = SafeMath.add( 59 | now, 60 | SafeMath.mul(subscriptionFee, periodMultiplier) 61 | ); 62 | 63 | subscribersToSubscriptions[msg.sender].period = subscribedPeriod; 64 | } 65 | 66 | function pauseSubscription() public { 67 | subscribersToSubscriptions[msg.sender].isPaused = true; 68 | } 69 | 70 | function paySubscription( 71 | uint256 periodMultiplier 72 | ) public { 73 | require( 74 | subscribersToSubscriptions[msg.sender].period > 0, 75 | "User is not subscribed yet" 76 | ); 77 | 78 | IERC20 token = IERC20(tokenAddress); 79 | 80 | require( 81 | token.allowance(msg.sender, address(this)) >= SafeMath.mul(subscriptionFee, periodMultiplier), 82 | "Contract is not allowed to manipulate subscriber funds" 83 | ); 84 | 85 | require( 86 | token.transferFrom(msg.sender, address(this), SafeMath.mul(subscriptionFee, periodMultiplier)), 87 | "Funds could not be transfered" 88 | ); 89 | 90 | if (subscribersToSubscriptions[msg.sender].isPaused == true) { 91 | subscribersToSubscriptions[msg.sender].period = SafeMath.add( 92 | now, 93 | SafeMath.mul(subscriptionFee, periodMultiplier) 94 | ); 95 | } else { 96 | subscribersToSubscriptions[msg.sender].period = SafeMath.add( 97 | subscribersToSubscriptions[msg.sender].period, 98 | SafeMath.mul(subscriptionFee, periodMultiplier) 99 | ); 100 | } 101 | } 102 | 103 | function getSubscription(address subscriber) public view returns ( 104 | bool, 105 | uint256 106 | ) { 107 | return ( 108 | subscribersToSubscriptions[subscriber].isPaused, 109 | subscribersToSubscriptions[subscriber].period 110 | ); 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /contracts/test/TestToken.sol: -------------------------------------------------------------------------------- 1 | pragma solidity 0.5.0; 2 | 3 | import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol"; 4 | 5 | 6 | contract TestToken is ERC20 { 7 | constructor() public { 8 | _mint(msg.sender, 21000000 * 10 ** 18); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /migrations/1_initial_migration.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | /* global artifacts */ 3 | 4 | const Migrations = artifacts.require('./Migrations.sol'); 5 | 6 | function deployContracts(deployer) { 7 | deployer.deploy(Migrations); 8 | } 9 | 10 | module.exports = deployContracts; 11 | -------------------------------------------------------------------------------- /migrations/2_deploy_contracts.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | /* global artifacts */ 3 | 4 | const SubscriptionContract = artifacts.require('SubscriptionContract'); 5 | const TestToken = artifacts.require('TestToken'); 6 | 7 | function deployContracts(deployer) { 8 | deployer.deploy(TestToken); 9 | deployer.deploy(SubscriptionContract); 10 | } 11 | 12 | module.exports = deployContracts; 13 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SubscriptionContract", 3 | "version": "0.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.0.0", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", 10 | "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.0.0" 14 | } 15 | }, 16 | "@babel/highlight": { 17 | "version": "7.0.0", 18 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", 19 | "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", 20 | "dev": true, 21 | "requires": { 22 | "chalk": "^2.0.0", 23 | "esutils": "^2.0.2", 24 | "js-tokens": "^4.0.0" 25 | } 26 | }, 27 | "@types/node": { 28 | "version": "10.12.18", 29 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", 30 | "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" 31 | }, 32 | "accepts": { 33 | "version": "1.3.5", 34 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", 35 | "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", 36 | "requires": { 37 | "mime-types": "~2.1.18", 38 | "negotiator": "0.6.1" 39 | } 40 | }, 41 | "acorn": { 42 | "version": "6.0.5", 43 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.5.tgz", 44 | "integrity": "sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg==", 45 | "dev": true 46 | }, 47 | "acorn-jsx": { 48 | "version": "5.0.1", 49 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", 50 | "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", 51 | "dev": true 52 | }, 53 | "aes-js": { 54 | "version": "3.0.0", 55 | "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", 56 | "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" 57 | }, 58 | "ajv": { 59 | "version": "6.7.0", 60 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", 61 | "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", 62 | "requires": { 63 | "fast-deep-equal": "^2.0.1", 64 | "fast-json-stable-stringify": "^2.0.0", 65 | "json-schema-traverse": "^0.4.1", 66 | "uri-js": "^4.2.2" 67 | } 68 | }, 69 | "ansi-escapes": { 70 | "version": "3.1.0", 71 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", 72 | "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", 73 | "dev": true 74 | }, 75 | "ansi-regex": { 76 | "version": "3.0.0", 77 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 78 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 79 | "dev": true 80 | }, 81 | "ansi-styles": { 82 | "version": "3.2.1", 83 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 84 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 85 | "dev": true, 86 | "requires": { 87 | "color-convert": "^1.9.0" 88 | } 89 | }, 90 | "any-promise": { 91 | "version": "1.3.0", 92 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 93 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" 94 | }, 95 | "argparse": { 96 | "version": "1.0.10", 97 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 98 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 99 | "dev": true, 100 | "requires": { 101 | "sprintf-js": "~1.0.2" 102 | } 103 | }, 104 | "array-flatten": { 105 | "version": "1.1.1", 106 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 107 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 108 | }, 109 | "asn1": { 110 | "version": "0.2.4", 111 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 112 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 113 | "requires": { 114 | "safer-buffer": "~2.1.0" 115 | } 116 | }, 117 | "asn1.js": { 118 | "version": "4.10.1", 119 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", 120 | "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", 121 | "requires": { 122 | "bn.js": "^4.0.0", 123 | "inherits": "^2.0.1", 124 | "minimalistic-assert": "^1.0.0" 125 | } 126 | }, 127 | "assert-plus": { 128 | "version": "1.0.0", 129 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 130 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 131 | }, 132 | "astral-regex": { 133 | "version": "1.0.0", 134 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", 135 | "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", 136 | "dev": true 137 | }, 138 | "async-limiter": { 139 | "version": "1.0.0", 140 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", 141 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" 142 | }, 143 | "asynckit": { 144 | "version": "0.4.0", 145 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 146 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 147 | }, 148 | "aws-sign2": { 149 | "version": "0.7.0", 150 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 151 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 152 | }, 153 | "aws4": { 154 | "version": "1.8.0", 155 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", 156 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" 157 | }, 158 | "balanced-match": { 159 | "version": "1.0.0", 160 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 161 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 162 | }, 163 | "base64-js": { 164 | "version": "1.3.0", 165 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", 166 | "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" 167 | }, 168 | "bcrypt-pbkdf": { 169 | "version": "1.0.2", 170 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 171 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 172 | "requires": { 173 | "tweetnacl": "^0.14.3" 174 | } 175 | }, 176 | "bindings": { 177 | "version": "1.3.1", 178 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", 179 | "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==" 180 | }, 181 | "bl": { 182 | "version": "1.2.2", 183 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", 184 | "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", 185 | "requires": { 186 | "readable-stream": "^2.3.5", 187 | "safe-buffer": "^5.1.1" 188 | } 189 | }, 190 | "block-stream": { 191 | "version": "0.0.9", 192 | "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", 193 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", 194 | "requires": { 195 | "inherits": "~2.0.0" 196 | } 197 | }, 198 | "bluebird": { 199 | "version": "3.5.3", 200 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", 201 | "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" 202 | }, 203 | "bn.js": { 204 | "version": "4.11.8", 205 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 206 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 207 | }, 208 | "body-parser": { 209 | "version": "1.18.3", 210 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", 211 | "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", 212 | "requires": { 213 | "bytes": "3.0.0", 214 | "content-type": "~1.0.4", 215 | "debug": "2.6.9", 216 | "depd": "~1.1.2", 217 | "http-errors": "~1.6.3", 218 | "iconv-lite": "0.4.23", 219 | "on-finished": "~2.3.0", 220 | "qs": "6.5.2", 221 | "raw-body": "2.3.3", 222 | "type-is": "~1.6.16" 223 | } 224 | }, 225 | "brace-expansion": { 226 | "version": "1.1.11", 227 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 228 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 229 | "requires": { 230 | "balanced-match": "^1.0.0", 231 | "concat-map": "0.0.1" 232 | } 233 | }, 234 | "brorand": { 235 | "version": "1.1.0", 236 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 237 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" 238 | }, 239 | "browserify-aes": { 240 | "version": "1.2.0", 241 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 242 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 243 | "requires": { 244 | "buffer-xor": "^1.0.3", 245 | "cipher-base": "^1.0.0", 246 | "create-hash": "^1.1.0", 247 | "evp_bytestokey": "^1.0.3", 248 | "inherits": "^2.0.1", 249 | "safe-buffer": "^5.0.1" 250 | } 251 | }, 252 | "browserify-cipher": { 253 | "version": "1.0.1", 254 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 255 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 256 | "requires": { 257 | "browserify-aes": "^1.0.4", 258 | "browserify-des": "^1.0.0", 259 | "evp_bytestokey": "^1.0.0" 260 | } 261 | }, 262 | "browserify-des": { 263 | "version": "1.0.2", 264 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 265 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 266 | "requires": { 267 | "cipher-base": "^1.0.1", 268 | "des.js": "^1.0.0", 269 | "inherits": "^2.0.1", 270 | "safe-buffer": "^5.1.2" 271 | } 272 | }, 273 | "browserify-rsa": { 274 | "version": "4.0.1", 275 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", 276 | "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", 277 | "requires": { 278 | "bn.js": "^4.1.0", 279 | "randombytes": "^2.0.1" 280 | } 281 | }, 282 | "browserify-sha3": { 283 | "version": "0.0.4", 284 | "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", 285 | "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", 286 | "requires": { 287 | "js-sha3": "^0.6.1", 288 | "safe-buffer": "^5.1.1" 289 | } 290 | }, 291 | "browserify-sign": { 292 | "version": "4.0.4", 293 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", 294 | "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", 295 | "requires": { 296 | "bn.js": "^4.1.1", 297 | "browserify-rsa": "^4.0.0", 298 | "create-hash": "^1.1.0", 299 | "create-hmac": "^1.1.2", 300 | "elliptic": "^6.0.0", 301 | "inherits": "^2.0.1", 302 | "parse-asn1": "^5.0.0" 303 | } 304 | }, 305 | "buffer": { 306 | "version": "5.2.1", 307 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", 308 | "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", 309 | "requires": { 310 | "base64-js": "^1.0.2", 311 | "ieee754": "^1.1.4" 312 | } 313 | }, 314 | "buffer-alloc": { 315 | "version": "1.2.0", 316 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 317 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 318 | "requires": { 319 | "buffer-alloc-unsafe": "^1.1.0", 320 | "buffer-fill": "^1.0.0" 321 | } 322 | }, 323 | "buffer-alloc-unsafe": { 324 | "version": "1.1.0", 325 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 326 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" 327 | }, 328 | "buffer-crc32": { 329 | "version": "0.2.13", 330 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 331 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" 332 | }, 333 | "buffer-fill": { 334 | "version": "1.0.0", 335 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 336 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" 337 | }, 338 | "buffer-to-arraybuffer": { 339 | "version": "0.0.5", 340 | "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", 341 | "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" 342 | }, 343 | "buffer-xor": { 344 | "version": "1.0.3", 345 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 346 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" 347 | }, 348 | "builtin-modules": { 349 | "version": "1.1.1", 350 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", 351 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", 352 | "dev": true 353 | }, 354 | "bytes": { 355 | "version": "3.0.0", 356 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 357 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" 358 | }, 359 | "callsites": { 360 | "version": "3.0.0", 361 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", 362 | "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", 363 | "dev": true 364 | }, 365 | "caseless": { 366 | "version": "0.12.0", 367 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 368 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 369 | }, 370 | "chalk": { 371 | "version": "2.4.2", 372 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 373 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 374 | "dev": true, 375 | "requires": { 376 | "ansi-styles": "^3.2.1", 377 | "escape-string-regexp": "^1.0.5", 378 | "supports-color": "^5.3.0" 379 | } 380 | }, 381 | "chardet": { 382 | "version": "0.7.0", 383 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", 384 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", 385 | "dev": true 386 | }, 387 | "cipher-base": { 388 | "version": "1.0.4", 389 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 390 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 391 | "requires": { 392 | "inherits": "^2.0.1", 393 | "safe-buffer": "^5.0.1" 394 | } 395 | }, 396 | "circular-json": { 397 | "version": "0.3.3", 398 | "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", 399 | "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", 400 | "dev": true 401 | }, 402 | "cli-cursor": { 403 | "version": "2.1.0", 404 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", 405 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", 406 | "dev": true, 407 | "requires": { 408 | "restore-cursor": "^2.0.0" 409 | } 410 | }, 411 | "cli-width": { 412 | "version": "2.2.0", 413 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 414 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 415 | "dev": true 416 | }, 417 | "color-convert": { 418 | "version": "1.9.3", 419 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 420 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 421 | "dev": true, 422 | "requires": { 423 | "color-name": "1.1.3" 424 | } 425 | }, 426 | "color-name": { 427 | "version": "1.1.3", 428 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 429 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 430 | "dev": true 431 | }, 432 | "combined-stream": { 433 | "version": "1.0.7", 434 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", 435 | "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", 436 | "requires": { 437 | "delayed-stream": "~1.0.0" 438 | } 439 | }, 440 | "commander": { 441 | "version": "2.8.1", 442 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 443 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 444 | "requires": { 445 | "graceful-readlink": ">= 1.0.0" 446 | } 447 | }, 448 | "concat-map": { 449 | "version": "0.0.1", 450 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 451 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 452 | }, 453 | "contains-path": { 454 | "version": "0.1.0", 455 | "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", 456 | "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", 457 | "dev": true 458 | }, 459 | "content-disposition": { 460 | "version": "0.5.2", 461 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", 462 | "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" 463 | }, 464 | "content-type": { 465 | "version": "1.0.4", 466 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 467 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 468 | }, 469 | "cookie": { 470 | "version": "0.3.1", 471 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 472 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 473 | }, 474 | "cookie-signature": { 475 | "version": "1.0.6", 476 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 477 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 478 | }, 479 | "cookiejar": { 480 | "version": "2.1.2", 481 | "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", 482 | "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" 483 | }, 484 | "core-util-is": { 485 | "version": "1.0.2", 486 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 487 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 488 | }, 489 | "cors": { 490 | "version": "2.8.5", 491 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 492 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 493 | "requires": { 494 | "object-assign": "^4", 495 | "vary": "^1" 496 | } 497 | }, 498 | "create-ecdh": { 499 | "version": "4.0.3", 500 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", 501 | "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", 502 | "requires": { 503 | "bn.js": "^4.1.0", 504 | "elliptic": "^6.0.0" 505 | } 506 | }, 507 | "create-hash": { 508 | "version": "1.2.0", 509 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 510 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 511 | "requires": { 512 | "cipher-base": "^1.0.1", 513 | "inherits": "^2.0.1", 514 | "md5.js": "^1.3.4", 515 | "ripemd160": "^2.0.1", 516 | "sha.js": "^2.4.0" 517 | } 518 | }, 519 | "create-hmac": { 520 | "version": "1.1.7", 521 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 522 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 523 | "requires": { 524 | "cipher-base": "^1.0.3", 525 | "create-hash": "^1.1.0", 526 | "inherits": "^2.0.1", 527 | "ripemd160": "^2.0.0", 528 | "safe-buffer": "^5.0.1", 529 | "sha.js": "^2.4.8" 530 | } 531 | }, 532 | "cross-spawn": { 533 | "version": "6.0.5", 534 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 535 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 536 | "dev": true, 537 | "requires": { 538 | "nice-try": "^1.0.4", 539 | "path-key": "^2.0.1", 540 | "semver": "^5.5.0", 541 | "shebang-command": "^1.2.0", 542 | "which": "^1.2.9" 543 | } 544 | }, 545 | "crypto-browserify": { 546 | "version": "3.12.0", 547 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", 548 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", 549 | "requires": { 550 | "browserify-cipher": "^1.0.0", 551 | "browserify-sign": "^4.0.0", 552 | "create-ecdh": "^4.0.0", 553 | "create-hash": "^1.1.0", 554 | "create-hmac": "^1.1.0", 555 | "diffie-hellman": "^5.0.0", 556 | "inherits": "^2.0.1", 557 | "pbkdf2": "^3.0.3", 558 | "public-encrypt": "^4.0.0", 559 | "randombytes": "^2.0.0", 560 | "randomfill": "^1.0.3" 561 | } 562 | }, 563 | "dashdash": { 564 | "version": "1.14.1", 565 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 566 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 567 | "requires": { 568 | "assert-plus": "^1.0.0" 569 | } 570 | }, 571 | "debug": { 572 | "version": "2.6.9", 573 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 574 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 575 | "requires": { 576 | "ms": "2.0.0" 577 | } 578 | }, 579 | "decode-uri-component": { 580 | "version": "0.2.0", 581 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 582 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 583 | }, 584 | "decompress": { 585 | "version": "4.2.0", 586 | "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", 587 | "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", 588 | "requires": { 589 | "decompress-tar": "^4.0.0", 590 | "decompress-tarbz2": "^4.0.0", 591 | "decompress-targz": "^4.0.0", 592 | "decompress-unzip": "^4.0.1", 593 | "graceful-fs": "^4.1.10", 594 | "make-dir": "^1.0.0", 595 | "pify": "^2.3.0", 596 | "strip-dirs": "^2.0.0" 597 | } 598 | }, 599 | "decompress-response": { 600 | "version": "3.3.0", 601 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 602 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 603 | "requires": { 604 | "mimic-response": "^1.0.0" 605 | } 606 | }, 607 | "decompress-tar": { 608 | "version": "4.1.1", 609 | "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", 610 | "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", 611 | "requires": { 612 | "file-type": "^5.2.0", 613 | "is-stream": "^1.1.0", 614 | "tar-stream": "^1.5.2" 615 | } 616 | }, 617 | "decompress-tarbz2": { 618 | "version": "4.1.1", 619 | "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", 620 | "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", 621 | "requires": { 622 | "decompress-tar": "^4.1.0", 623 | "file-type": "^6.1.0", 624 | "is-stream": "^1.1.0", 625 | "seek-bzip": "^1.0.5", 626 | "unbzip2-stream": "^1.0.9" 627 | }, 628 | "dependencies": { 629 | "file-type": { 630 | "version": "6.2.0", 631 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", 632 | "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" 633 | } 634 | } 635 | }, 636 | "decompress-targz": { 637 | "version": "4.1.1", 638 | "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", 639 | "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", 640 | "requires": { 641 | "decompress-tar": "^4.1.1", 642 | "file-type": "^5.2.0", 643 | "is-stream": "^1.1.0" 644 | } 645 | }, 646 | "decompress-unzip": { 647 | "version": "4.0.1", 648 | "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", 649 | "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", 650 | "requires": { 651 | "file-type": "^3.8.0", 652 | "get-stream": "^2.2.0", 653 | "pify": "^2.3.0", 654 | "yauzl": "^2.4.2" 655 | }, 656 | "dependencies": { 657 | "file-type": { 658 | "version": "3.9.0", 659 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", 660 | "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" 661 | }, 662 | "get-stream": { 663 | "version": "2.3.1", 664 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", 665 | "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", 666 | "requires": { 667 | "object-assign": "^4.0.1", 668 | "pinkie-promise": "^2.0.0" 669 | } 670 | } 671 | } 672 | }, 673 | "deep-is": { 674 | "version": "0.1.3", 675 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", 676 | "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", 677 | "dev": true 678 | }, 679 | "define-properties": { 680 | "version": "1.1.3", 681 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 682 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 683 | "dev": true, 684 | "requires": { 685 | "object-keys": "^1.0.12" 686 | } 687 | }, 688 | "delayed-stream": { 689 | "version": "1.0.0", 690 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 691 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 692 | }, 693 | "depd": { 694 | "version": "1.1.2", 695 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 696 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 697 | }, 698 | "des.js": { 699 | "version": "1.0.0", 700 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", 701 | "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", 702 | "requires": { 703 | "inherits": "^2.0.1", 704 | "minimalistic-assert": "^1.0.0" 705 | } 706 | }, 707 | "destroy": { 708 | "version": "1.0.4", 709 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 710 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 711 | }, 712 | "diffie-hellman": { 713 | "version": "5.0.3", 714 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 715 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 716 | "requires": { 717 | "bn.js": "^4.1.0", 718 | "miller-rabin": "^4.0.0", 719 | "randombytes": "^2.0.0" 720 | } 721 | }, 722 | "doctrine": { 723 | "version": "2.1.0", 724 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 725 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 726 | "dev": true, 727 | "requires": { 728 | "esutils": "^2.0.2" 729 | } 730 | }, 731 | "dom-walk": { 732 | "version": "0.1.1", 733 | "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", 734 | "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" 735 | }, 736 | "dotenv": { 737 | "version": "6.2.0", 738 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", 739 | "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==" 740 | }, 741 | "duplexer3": { 742 | "version": "0.1.4", 743 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 744 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 745 | }, 746 | "ecc-jsbn": { 747 | "version": "0.1.2", 748 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 749 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 750 | "requires": { 751 | "jsbn": "~0.1.0", 752 | "safer-buffer": "^2.1.0" 753 | } 754 | }, 755 | "ee-first": { 756 | "version": "1.1.1", 757 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 758 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 759 | }, 760 | "elliptic": { 761 | "version": "6.4.1", 762 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", 763 | "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", 764 | "requires": { 765 | "bn.js": "^4.4.0", 766 | "brorand": "^1.0.1", 767 | "hash.js": "^1.0.0", 768 | "hmac-drbg": "^1.0.0", 769 | "inherits": "^2.0.1", 770 | "minimalistic-assert": "^1.0.0", 771 | "minimalistic-crypto-utils": "^1.0.0" 772 | } 773 | }, 774 | "encodeurl": { 775 | "version": "1.0.2", 776 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 777 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 778 | }, 779 | "end-of-stream": { 780 | "version": "1.4.1", 781 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 782 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 783 | "requires": { 784 | "once": "^1.4.0" 785 | } 786 | }, 787 | "error-ex": { 788 | "version": "1.3.2", 789 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 790 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 791 | "dev": true, 792 | "requires": { 793 | "is-arrayish": "^0.2.1" 794 | } 795 | }, 796 | "es-abstract": { 797 | "version": "1.13.0", 798 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", 799 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", 800 | "dev": true, 801 | "requires": { 802 | "es-to-primitive": "^1.2.0", 803 | "function-bind": "^1.1.1", 804 | "has": "^1.0.3", 805 | "is-callable": "^1.1.4", 806 | "is-regex": "^1.0.4", 807 | "object-keys": "^1.0.12" 808 | } 809 | }, 810 | "es-to-primitive": { 811 | "version": "1.2.0", 812 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", 813 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", 814 | "dev": true, 815 | "requires": { 816 | "is-callable": "^1.1.4", 817 | "is-date-object": "^1.0.1", 818 | "is-symbol": "^1.0.2" 819 | } 820 | }, 821 | "escape-html": { 822 | "version": "1.0.3", 823 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 824 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 825 | }, 826 | "escape-string-regexp": { 827 | "version": "1.0.5", 828 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 829 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 830 | "dev": true 831 | }, 832 | "eslint": { 833 | "version": "5.12.1", 834 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.12.1.tgz", 835 | "integrity": "sha512-54NV+JkTpTu0d8+UYSA8mMKAG4XAsaOrozA9rCW7tgneg1mevcL7wIotPC+fZ0SkWwdhNqoXoxnQCTBp7UvTsg==", 836 | "dev": true, 837 | "requires": { 838 | "@babel/code-frame": "^7.0.0", 839 | "ajv": "^6.5.3", 840 | "chalk": "^2.1.0", 841 | "cross-spawn": "^6.0.5", 842 | "debug": "^4.0.1", 843 | "doctrine": "^2.1.0", 844 | "eslint-scope": "^4.0.0", 845 | "eslint-utils": "^1.3.1", 846 | "eslint-visitor-keys": "^1.0.0", 847 | "espree": "^5.0.0", 848 | "esquery": "^1.0.1", 849 | "esutils": "^2.0.2", 850 | "file-entry-cache": "^2.0.0", 851 | "functional-red-black-tree": "^1.0.1", 852 | "glob": "^7.1.2", 853 | "globals": "^11.7.0", 854 | "ignore": "^4.0.6", 855 | "import-fresh": "^3.0.0", 856 | "imurmurhash": "^0.1.4", 857 | "inquirer": "^6.1.0", 858 | "js-yaml": "^3.12.0", 859 | "json-stable-stringify-without-jsonify": "^1.0.1", 860 | "levn": "^0.3.0", 861 | "lodash": "^4.17.5", 862 | "minimatch": "^3.0.4", 863 | "mkdirp": "^0.5.1", 864 | "natural-compare": "^1.4.0", 865 | "optionator": "^0.8.2", 866 | "path-is-inside": "^1.0.2", 867 | "pluralize": "^7.0.0", 868 | "progress": "^2.0.0", 869 | "regexpp": "^2.0.1", 870 | "semver": "^5.5.1", 871 | "strip-ansi": "^4.0.0", 872 | "strip-json-comments": "^2.0.1", 873 | "table": "^5.0.2", 874 | "text-table": "^0.2.0" 875 | }, 876 | "dependencies": { 877 | "debug": { 878 | "version": "4.1.1", 879 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", 880 | "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", 881 | "dev": true, 882 | "requires": { 883 | "ms": "^2.1.1" 884 | } 885 | }, 886 | "ms": { 887 | "version": "2.1.1", 888 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", 889 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", 890 | "dev": true 891 | } 892 | } 893 | }, 894 | "eslint-config-airbnb-base": { 895 | "version": "13.1.0", 896 | "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz", 897 | "integrity": "sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw==", 898 | "dev": true, 899 | "requires": { 900 | "eslint-restricted-globals": "^0.1.1", 901 | "object.assign": "^4.1.0", 902 | "object.entries": "^1.0.4" 903 | } 904 | }, 905 | "eslint-import-resolver-node": { 906 | "version": "0.3.2", 907 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", 908 | "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", 909 | "dev": true, 910 | "requires": { 911 | "debug": "^2.6.9", 912 | "resolve": "^1.5.0" 913 | } 914 | }, 915 | "eslint-module-utils": { 916 | "version": "2.2.0", 917 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", 918 | "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", 919 | "dev": true, 920 | "requires": { 921 | "debug": "^2.6.8", 922 | "pkg-dir": "^1.0.0" 923 | } 924 | }, 925 | "eslint-plugin-import": { 926 | "version": "2.14.0", 927 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", 928 | "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", 929 | "dev": true, 930 | "requires": { 931 | "contains-path": "^0.1.0", 932 | "debug": "^2.6.8", 933 | "doctrine": "1.5.0", 934 | "eslint-import-resolver-node": "^0.3.1", 935 | "eslint-module-utils": "^2.2.0", 936 | "has": "^1.0.1", 937 | "lodash": "^4.17.4", 938 | "minimatch": "^3.0.3", 939 | "read-pkg-up": "^2.0.0", 940 | "resolve": "^1.6.0" 941 | }, 942 | "dependencies": { 943 | "doctrine": { 944 | "version": "1.5.0", 945 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", 946 | "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", 947 | "dev": true, 948 | "requires": { 949 | "esutils": "^2.0.2", 950 | "isarray": "^1.0.0" 951 | } 952 | } 953 | } 954 | }, 955 | "eslint-restricted-globals": { 956 | "version": "0.1.1", 957 | "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", 958 | "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", 959 | "dev": true 960 | }, 961 | "eslint-scope": { 962 | "version": "4.0.0", 963 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", 964 | "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", 965 | "dev": true, 966 | "requires": { 967 | "esrecurse": "^4.1.0", 968 | "estraverse": "^4.1.1" 969 | } 970 | }, 971 | "eslint-utils": { 972 | "version": "1.3.1", 973 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", 974 | "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", 975 | "dev": true 976 | }, 977 | "eslint-visitor-keys": { 978 | "version": "1.0.0", 979 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", 980 | "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", 981 | "dev": true 982 | }, 983 | "espree": { 984 | "version": "5.0.0", 985 | "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz", 986 | "integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==", 987 | "dev": true, 988 | "requires": { 989 | "acorn": "^6.0.2", 990 | "acorn-jsx": "^5.0.0", 991 | "eslint-visitor-keys": "^1.0.0" 992 | } 993 | }, 994 | "esprima": { 995 | "version": "4.0.1", 996 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 997 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 998 | "dev": true 999 | }, 1000 | "esquery": { 1001 | "version": "1.0.1", 1002 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", 1003 | "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", 1004 | "dev": true, 1005 | "requires": { 1006 | "estraverse": "^4.0.0" 1007 | } 1008 | }, 1009 | "esrecurse": { 1010 | "version": "4.2.1", 1011 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 1012 | "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", 1013 | "dev": true, 1014 | "requires": { 1015 | "estraverse": "^4.1.0" 1016 | } 1017 | }, 1018 | "estraverse": { 1019 | "version": "4.2.0", 1020 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", 1021 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", 1022 | "dev": true 1023 | }, 1024 | "esutils": { 1025 | "version": "2.0.2", 1026 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1027 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1028 | "dev": true 1029 | }, 1030 | "etag": { 1031 | "version": "1.8.1", 1032 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 1033 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 1034 | }, 1035 | "eth-ens-namehash": { 1036 | "version": "2.0.8", 1037 | "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", 1038 | "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", 1039 | "requires": { 1040 | "idna-uts46-hx": "^2.3.1", 1041 | "js-sha3": "^0.5.7" 1042 | }, 1043 | "dependencies": { 1044 | "js-sha3": { 1045 | "version": "0.5.7", 1046 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", 1047 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" 1048 | } 1049 | } 1050 | }, 1051 | "eth-lib": { 1052 | "version": "0.1.27", 1053 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", 1054 | "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", 1055 | "requires": { 1056 | "bn.js": "^4.11.6", 1057 | "elliptic": "^6.4.0", 1058 | "keccakjs": "^0.2.1", 1059 | "nano-json-stream-parser": "^0.1.2", 1060 | "servify": "^0.1.12", 1061 | "ws": "^3.0.0", 1062 | "xhr-request-promise": "^0.1.2" 1063 | } 1064 | }, 1065 | "ethers": { 1066 | "version": "4.0.0-beta.1", 1067 | "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.1.tgz", 1068 | "integrity": "sha512-SoYhktEbLxf+fiux5SfCEwdzWENMvgIbMZD90I62s4GZD9nEjgEWy8ZboI3hck193Vs0bDoTohDISx84f2H2tw==", 1069 | "requires": { 1070 | "@types/node": "^10.3.2", 1071 | "aes-js": "3.0.0", 1072 | "bn.js": "^4.4.0", 1073 | "elliptic": "6.3.3", 1074 | "hash.js": "1.1.3", 1075 | "js-sha3": "0.5.7", 1076 | "scrypt-js": "2.0.3", 1077 | "setimmediate": "1.0.4", 1078 | "uuid": "2.0.1", 1079 | "xmlhttprequest": "1.8.0" 1080 | }, 1081 | "dependencies": { 1082 | "elliptic": { 1083 | "version": "6.3.3", 1084 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", 1085 | "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", 1086 | "requires": { 1087 | "bn.js": "^4.4.0", 1088 | "brorand": "^1.0.1", 1089 | "hash.js": "^1.0.0", 1090 | "inherits": "^2.0.1" 1091 | } 1092 | }, 1093 | "hash.js": { 1094 | "version": "1.1.3", 1095 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", 1096 | "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", 1097 | "requires": { 1098 | "inherits": "^2.0.3", 1099 | "minimalistic-assert": "^1.0.0" 1100 | } 1101 | }, 1102 | "js-sha3": { 1103 | "version": "0.5.7", 1104 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", 1105 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" 1106 | }, 1107 | "setimmediate": { 1108 | "version": "1.0.4", 1109 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", 1110 | "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" 1111 | }, 1112 | "uuid": { 1113 | "version": "2.0.1", 1114 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", 1115 | "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" 1116 | } 1117 | } 1118 | }, 1119 | "ethjs-unit": { 1120 | "version": "0.1.6", 1121 | "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", 1122 | "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", 1123 | "requires": { 1124 | "bn.js": "4.11.6", 1125 | "number-to-bn": "1.7.0" 1126 | }, 1127 | "dependencies": { 1128 | "bn.js": { 1129 | "version": "4.11.6", 1130 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 1131 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 1132 | } 1133 | } 1134 | }, 1135 | "eventemitter3": { 1136 | "version": "1.1.1", 1137 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", 1138 | "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" 1139 | }, 1140 | "evp_bytestokey": { 1141 | "version": "1.0.3", 1142 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 1143 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 1144 | "requires": { 1145 | "md5.js": "^1.3.4", 1146 | "safe-buffer": "^5.1.1" 1147 | } 1148 | }, 1149 | "express": { 1150 | "version": "4.16.4", 1151 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", 1152 | "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", 1153 | "requires": { 1154 | "accepts": "~1.3.5", 1155 | "array-flatten": "1.1.1", 1156 | "body-parser": "1.18.3", 1157 | "content-disposition": "0.5.2", 1158 | "content-type": "~1.0.4", 1159 | "cookie": "0.3.1", 1160 | "cookie-signature": "1.0.6", 1161 | "debug": "2.6.9", 1162 | "depd": "~1.1.2", 1163 | "encodeurl": "~1.0.2", 1164 | "escape-html": "~1.0.3", 1165 | "etag": "~1.8.1", 1166 | "finalhandler": "1.1.1", 1167 | "fresh": "0.5.2", 1168 | "merge-descriptors": "1.0.1", 1169 | "methods": "~1.1.2", 1170 | "on-finished": "~2.3.0", 1171 | "parseurl": "~1.3.2", 1172 | "path-to-regexp": "0.1.7", 1173 | "proxy-addr": "~2.0.4", 1174 | "qs": "6.5.2", 1175 | "range-parser": "~1.2.0", 1176 | "safe-buffer": "5.1.2", 1177 | "send": "0.16.2", 1178 | "serve-static": "1.13.2", 1179 | "setprototypeof": "1.1.0", 1180 | "statuses": "~1.4.0", 1181 | "type-is": "~1.6.16", 1182 | "utils-merge": "1.0.1", 1183 | "vary": "~1.1.2" 1184 | }, 1185 | "dependencies": { 1186 | "statuses": { 1187 | "version": "1.4.0", 1188 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 1189 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 1190 | } 1191 | } 1192 | }, 1193 | "extend": { 1194 | "version": "3.0.2", 1195 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 1196 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 1197 | }, 1198 | "external-editor": { 1199 | "version": "3.0.3", 1200 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", 1201 | "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", 1202 | "dev": true, 1203 | "requires": { 1204 | "chardet": "^0.7.0", 1205 | "iconv-lite": "^0.4.24", 1206 | "tmp": "^0.0.33" 1207 | }, 1208 | "dependencies": { 1209 | "iconv-lite": { 1210 | "version": "0.4.24", 1211 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", 1212 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", 1213 | "dev": true, 1214 | "requires": { 1215 | "safer-buffer": ">= 2.1.2 < 3" 1216 | } 1217 | } 1218 | } 1219 | }, 1220 | "extsprintf": { 1221 | "version": "1.3.0", 1222 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1223 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 1224 | }, 1225 | "fast-deep-equal": { 1226 | "version": "2.0.1", 1227 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 1228 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" 1229 | }, 1230 | "fast-json-stable-stringify": { 1231 | "version": "2.0.0", 1232 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1233 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 1234 | }, 1235 | "fast-levenshtein": { 1236 | "version": "2.0.6", 1237 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1238 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", 1239 | "dev": true 1240 | }, 1241 | "fd-slicer": { 1242 | "version": "1.1.0", 1243 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 1244 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 1245 | "requires": { 1246 | "pend": "~1.2.0" 1247 | } 1248 | }, 1249 | "figures": { 1250 | "version": "2.0.0", 1251 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", 1252 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", 1253 | "dev": true, 1254 | "requires": { 1255 | "escape-string-regexp": "^1.0.5" 1256 | } 1257 | }, 1258 | "file-entry-cache": { 1259 | "version": "2.0.0", 1260 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", 1261 | "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", 1262 | "dev": true, 1263 | "requires": { 1264 | "flat-cache": "^1.2.1", 1265 | "object-assign": "^4.0.1" 1266 | } 1267 | }, 1268 | "file-type": { 1269 | "version": "5.2.0", 1270 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", 1271 | "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" 1272 | }, 1273 | "finalhandler": { 1274 | "version": "1.1.1", 1275 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", 1276 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", 1277 | "requires": { 1278 | "debug": "2.6.9", 1279 | "encodeurl": "~1.0.2", 1280 | "escape-html": "~1.0.3", 1281 | "on-finished": "~2.3.0", 1282 | "parseurl": "~1.3.2", 1283 | "statuses": "~1.4.0", 1284 | "unpipe": "~1.0.0" 1285 | }, 1286 | "dependencies": { 1287 | "statuses": { 1288 | "version": "1.4.0", 1289 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 1290 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 1291 | } 1292 | } 1293 | }, 1294 | "find-up": { 1295 | "version": "1.1.2", 1296 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", 1297 | "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", 1298 | "dev": true, 1299 | "requires": { 1300 | "path-exists": "^2.0.0", 1301 | "pinkie-promise": "^2.0.0" 1302 | } 1303 | }, 1304 | "flat-cache": { 1305 | "version": "1.3.4", 1306 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", 1307 | "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", 1308 | "dev": true, 1309 | "requires": { 1310 | "circular-json": "^0.3.1", 1311 | "graceful-fs": "^4.1.2", 1312 | "rimraf": "~2.6.2", 1313 | "write": "^0.2.1" 1314 | } 1315 | }, 1316 | "for-each": { 1317 | "version": "0.3.3", 1318 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 1319 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 1320 | "requires": { 1321 | "is-callable": "^1.1.3" 1322 | } 1323 | }, 1324 | "forever-agent": { 1325 | "version": "0.6.1", 1326 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1327 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 1328 | }, 1329 | "form-data": { 1330 | "version": "2.3.3", 1331 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 1332 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 1333 | "requires": { 1334 | "asynckit": "^0.4.0", 1335 | "combined-stream": "^1.0.6", 1336 | "mime-types": "^2.1.12" 1337 | } 1338 | }, 1339 | "forwarded": { 1340 | "version": "0.1.2", 1341 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 1342 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 1343 | }, 1344 | "fresh": { 1345 | "version": "0.5.2", 1346 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 1347 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 1348 | }, 1349 | "fs-constants": { 1350 | "version": "1.0.0", 1351 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 1352 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 1353 | }, 1354 | "fs-extra": { 1355 | "version": "2.1.2", 1356 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz", 1357 | "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=", 1358 | "requires": { 1359 | "graceful-fs": "^4.1.2", 1360 | "jsonfile": "^2.1.0" 1361 | } 1362 | }, 1363 | "fs-promise": { 1364 | "version": "2.0.3", 1365 | "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz", 1366 | "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=", 1367 | "requires": { 1368 | "any-promise": "^1.3.0", 1369 | "fs-extra": "^2.0.0", 1370 | "mz": "^2.6.0", 1371 | "thenify-all": "^1.6.0" 1372 | } 1373 | }, 1374 | "fs.realpath": { 1375 | "version": "1.0.0", 1376 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1377 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" 1378 | }, 1379 | "fstream": { 1380 | "version": "1.0.11", 1381 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", 1382 | "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", 1383 | "requires": { 1384 | "graceful-fs": "^4.1.2", 1385 | "inherits": "~2.0.0", 1386 | "mkdirp": ">=0.5 0", 1387 | "rimraf": "2" 1388 | } 1389 | }, 1390 | "function-bind": { 1391 | "version": "1.1.1", 1392 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1393 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1394 | "dev": true 1395 | }, 1396 | "functional-red-black-tree": { 1397 | "version": "1.0.1", 1398 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1399 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", 1400 | "dev": true 1401 | }, 1402 | "get-stream": { 1403 | "version": "3.0.0", 1404 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1405 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1406 | }, 1407 | "getpass": { 1408 | "version": "0.1.7", 1409 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1410 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1411 | "requires": { 1412 | "assert-plus": "^1.0.0" 1413 | } 1414 | }, 1415 | "glob": { 1416 | "version": "7.1.3", 1417 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", 1418 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", 1419 | "requires": { 1420 | "fs.realpath": "^1.0.0", 1421 | "inflight": "^1.0.4", 1422 | "inherits": "2", 1423 | "minimatch": "^3.0.4", 1424 | "once": "^1.3.0", 1425 | "path-is-absolute": "^1.0.0" 1426 | } 1427 | }, 1428 | "global": { 1429 | "version": "4.3.2", 1430 | "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", 1431 | "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", 1432 | "requires": { 1433 | "min-document": "^2.19.0", 1434 | "process": "~0.5.1" 1435 | } 1436 | }, 1437 | "globals": { 1438 | "version": "11.10.0", 1439 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.10.0.tgz", 1440 | "integrity": "sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ==", 1441 | "dev": true 1442 | }, 1443 | "got": { 1444 | "version": "7.1.0", 1445 | "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", 1446 | "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", 1447 | "requires": { 1448 | "decompress-response": "^3.2.0", 1449 | "duplexer3": "^0.1.4", 1450 | "get-stream": "^3.0.0", 1451 | "is-plain-obj": "^1.1.0", 1452 | "is-retry-allowed": "^1.0.0", 1453 | "is-stream": "^1.0.0", 1454 | "isurl": "^1.0.0-alpha5", 1455 | "lowercase-keys": "^1.0.0", 1456 | "p-cancelable": "^0.3.0", 1457 | "p-timeout": "^1.1.1", 1458 | "safe-buffer": "^5.0.1", 1459 | "timed-out": "^4.0.0", 1460 | "url-parse-lax": "^1.0.0", 1461 | "url-to-options": "^1.0.1" 1462 | } 1463 | }, 1464 | "graceful-fs": { 1465 | "version": "4.1.15", 1466 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", 1467 | "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" 1468 | }, 1469 | "graceful-readlink": { 1470 | "version": "1.0.1", 1471 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1472 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 1473 | }, 1474 | "har-schema": { 1475 | "version": "2.0.0", 1476 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1477 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 1478 | }, 1479 | "har-validator": { 1480 | "version": "5.1.3", 1481 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", 1482 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", 1483 | "requires": { 1484 | "ajv": "^6.5.5", 1485 | "har-schema": "^2.0.0" 1486 | } 1487 | }, 1488 | "has": { 1489 | "version": "1.0.3", 1490 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1491 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1492 | "dev": true, 1493 | "requires": { 1494 | "function-bind": "^1.1.1" 1495 | } 1496 | }, 1497 | "has-flag": { 1498 | "version": "3.0.0", 1499 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1500 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 1501 | "dev": true 1502 | }, 1503 | "has-symbol-support-x": { 1504 | "version": "1.4.2", 1505 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", 1506 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" 1507 | }, 1508 | "has-symbols": { 1509 | "version": "1.0.0", 1510 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", 1511 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", 1512 | "dev": true 1513 | }, 1514 | "has-to-string-tag-x": { 1515 | "version": "1.4.1", 1516 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 1517 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 1518 | "requires": { 1519 | "has-symbol-support-x": "^1.4.1" 1520 | } 1521 | }, 1522 | "hash-base": { 1523 | "version": "3.0.4", 1524 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", 1525 | "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", 1526 | "requires": { 1527 | "inherits": "^2.0.1", 1528 | "safe-buffer": "^5.0.1" 1529 | } 1530 | }, 1531 | "hash.js": { 1532 | "version": "1.1.7", 1533 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 1534 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 1535 | "requires": { 1536 | "inherits": "^2.0.3", 1537 | "minimalistic-assert": "^1.0.1" 1538 | } 1539 | }, 1540 | "hmac-drbg": { 1541 | "version": "1.0.1", 1542 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1543 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 1544 | "requires": { 1545 | "hash.js": "^1.0.3", 1546 | "minimalistic-assert": "^1.0.0", 1547 | "minimalistic-crypto-utils": "^1.0.1" 1548 | } 1549 | }, 1550 | "hosted-git-info": { 1551 | "version": "2.7.1", 1552 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", 1553 | "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", 1554 | "dev": true 1555 | }, 1556 | "http-errors": { 1557 | "version": "1.6.3", 1558 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", 1559 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", 1560 | "requires": { 1561 | "depd": "~1.1.2", 1562 | "inherits": "2.0.3", 1563 | "setprototypeof": "1.1.0", 1564 | "statuses": ">= 1.4.0 < 2" 1565 | } 1566 | }, 1567 | "http-https": { 1568 | "version": "1.0.0", 1569 | "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", 1570 | "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" 1571 | }, 1572 | "http-signature": { 1573 | "version": "1.2.0", 1574 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1575 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1576 | "requires": { 1577 | "assert-plus": "^1.0.0", 1578 | "jsprim": "^1.2.2", 1579 | "sshpk": "^1.7.0" 1580 | } 1581 | }, 1582 | "iconv-lite": { 1583 | "version": "0.4.23", 1584 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", 1585 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", 1586 | "requires": { 1587 | "safer-buffer": ">= 2.1.2 < 3" 1588 | } 1589 | }, 1590 | "idna-uts46-hx": { 1591 | "version": "2.3.1", 1592 | "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", 1593 | "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", 1594 | "requires": { 1595 | "punycode": "2.1.0" 1596 | }, 1597 | "dependencies": { 1598 | "punycode": { 1599 | "version": "2.1.0", 1600 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", 1601 | "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" 1602 | } 1603 | } 1604 | }, 1605 | "ieee754": { 1606 | "version": "1.1.12", 1607 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", 1608 | "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" 1609 | }, 1610 | "ignore": { 1611 | "version": "4.0.6", 1612 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", 1613 | "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", 1614 | "dev": true 1615 | }, 1616 | "import-fresh": { 1617 | "version": "3.0.0", 1618 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", 1619 | "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", 1620 | "dev": true, 1621 | "requires": { 1622 | "parent-module": "^1.0.0", 1623 | "resolve-from": "^4.0.0" 1624 | } 1625 | }, 1626 | "imurmurhash": { 1627 | "version": "0.1.4", 1628 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1629 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1630 | "dev": true 1631 | }, 1632 | "inflight": { 1633 | "version": "1.0.6", 1634 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1635 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1636 | "requires": { 1637 | "once": "^1.3.0", 1638 | "wrappy": "1" 1639 | } 1640 | }, 1641 | "inherits": { 1642 | "version": "2.0.3", 1643 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1644 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1645 | }, 1646 | "inquirer": { 1647 | "version": "6.2.1", 1648 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", 1649 | "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", 1650 | "dev": true, 1651 | "requires": { 1652 | "ansi-escapes": "^3.0.0", 1653 | "chalk": "^2.0.0", 1654 | "cli-cursor": "^2.1.0", 1655 | "cli-width": "^2.0.0", 1656 | "external-editor": "^3.0.0", 1657 | "figures": "^2.0.0", 1658 | "lodash": "^4.17.10", 1659 | "mute-stream": "0.0.7", 1660 | "run-async": "^2.2.0", 1661 | "rxjs": "^6.1.0", 1662 | "string-width": "^2.1.0", 1663 | "strip-ansi": "^5.0.0", 1664 | "through": "^2.3.6" 1665 | }, 1666 | "dependencies": { 1667 | "ansi-regex": { 1668 | "version": "4.0.0", 1669 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", 1670 | "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", 1671 | "dev": true 1672 | }, 1673 | "strip-ansi": { 1674 | "version": "5.0.0", 1675 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", 1676 | "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", 1677 | "dev": true, 1678 | "requires": { 1679 | "ansi-regex": "^4.0.0" 1680 | } 1681 | } 1682 | } 1683 | }, 1684 | "ipaddr.js": { 1685 | "version": "1.8.0", 1686 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", 1687 | "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" 1688 | }, 1689 | "is-arrayish": { 1690 | "version": "0.2.1", 1691 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 1692 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 1693 | "dev": true 1694 | }, 1695 | "is-builtin-module": { 1696 | "version": "1.0.0", 1697 | "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", 1698 | "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", 1699 | "dev": true, 1700 | "requires": { 1701 | "builtin-modules": "^1.0.0" 1702 | } 1703 | }, 1704 | "is-callable": { 1705 | "version": "1.1.4", 1706 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 1707 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" 1708 | }, 1709 | "is-date-object": { 1710 | "version": "1.0.1", 1711 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 1712 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 1713 | "dev": true 1714 | }, 1715 | "is-fullwidth-code-point": { 1716 | "version": "2.0.0", 1717 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 1718 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 1719 | "dev": true 1720 | }, 1721 | "is-function": { 1722 | "version": "1.0.1", 1723 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", 1724 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" 1725 | }, 1726 | "is-hex-prefixed": { 1727 | "version": "1.0.0", 1728 | "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", 1729 | "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" 1730 | }, 1731 | "is-natural-number": { 1732 | "version": "4.0.1", 1733 | "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", 1734 | "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" 1735 | }, 1736 | "is-object": { 1737 | "version": "1.0.1", 1738 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 1739 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" 1740 | }, 1741 | "is-plain-obj": { 1742 | "version": "1.1.0", 1743 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1744 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 1745 | }, 1746 | "is-promise": { 1747 | "version": "2.1.0", 1748 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1749 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 1750 | "dev": true 1751 | }, 1752 | "is-regex": { 1753 | "version": "1.0.4", 1754 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 1755 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 1756 | "dev": true, 1757 | "requires": { 1758 | "has": "^1.0.1" 1759 | } 1760 | }, 1761 | "is-retry-allowed": { 1762 | "version": "1.1.0", 1763 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 1764 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" 1765 | }, 1766 | "is-stream": { 1767 | "version": "1.1.0", 1768 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1769 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1770 | }, 1771 | "is-symbol": { 1772 | "version": "1.0.2", 1773 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", 1774 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", 1775 | "dev": true, 1776 | "requires": { 1777 | "has-symbols": "^1.0.0" 1778 | } 1779 | }, 1780 | "is-typedarray": { 1781 | "version": "1.0.0", 1782 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1783 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 1784 | }, 1785 | "isarray": { 1786 | "version": "1.0.0", 1787 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1788 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1789 | }, 1790 | "isexe": { 1791 | "version": "2.0.0", 1792 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1793 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1794 | "dev": true 1795 | }, 1796 | "isstream": { 1797 | "version": "0.1.2", 1798 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1799 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 1800 | }, 1801 | "isurl": { 1802 | "version": "1.0.0", 1803 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 1804 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 1805 | "requires": { 1806 | "has-to-string-tag-x": "^1.2.0", 1807 | "is-object": "^1.0.1" 1808 | } 1809 | }, 1810 | "js-sha3": { 1811 | "version": "0.6.1", 1812 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", 1813 | "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" 1814 | }, 1815 | "js-tokens": { 1816 | "version": "4.0.0", 1817 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1818 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1819 | "dev": true 1820 | }, 1821 | "js-yaml": { 1822 | "version": "3.12.1", 1823 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.1.tgz", 1824 | "integrity": "sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA==", 1825 | "dev": true, 1826 | "requires": { 1827 | "argparse": "^1.0.7", 1828 | "esprima": "^4.0.0" 1829 | } 1830 | }, 1831 | "jsbn": { 1832 | "version": "0.1.1", 1833 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1834 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 1835 | }, 1836 | "json-schema": { 1837 | "version": "0.2.3", 1838 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1839 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 1840 | }, 1841 | "json-schema-traverse": { 1842 | "version": "0.4.1", 1843 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1844 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 1845 | }, 1846 | "json-stable-stringify-without-jsonify": { 1847 | "version": "1.0.1", 1848 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1849 | "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", 1850 | "dev": true 1851 | }, 1852 | "json-stringify-safe": { 1853 | "version": "5.0.1", 1854 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1855 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 1856 | }, 1857 | "jsonfile": { 1858 | "version": "2.4.0", 1859 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 1860 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 1861 | "requires": { 1862 | "graceful-fs": "^4.1.6" 1863 | } 1864 | }, 1865 | "jsprim": { 1866 | "version": "1.4.1", 1867 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1868 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1869 | "requires": { 1870 | "assert-plus": "1.0.0", 1871 | "extsprintf": "1.3.0", 1872 | "json-schema": "0.2.3", 1873 | "verror": "1.10.0" 1874 | } 1875 | }, 1876 | "keccakjs": { 1877 | "version": "0.2.3", 1878 | "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", 1879 | "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", 1880 | "requires": { 1881 | "browserify-sha3": "^0.0.4", 1882 | "sha3": "^1.2.2" 1883 | } 1884 | }, 1885 | "levn": { 1886 | "version": "0.3.0", 1887 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 1888 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 1889 | "dev": true, 1890 | "requires": { 1891 | "prelude-ls": "~1.1.2", 1892 | "type-check": "~0.3.2" 1893 | } 1894 | }, 1895 | "load-json-file": { 1896 | "version": "2.0.0", 1897 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", 1898 | "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", 1899 | "dev": true, 1900 | "requires": { 1901 | "graceful-fs": "^4.1.2", 1902 | "parse-json": "^2.2.0", 1903 | "pify": "^2.0.0", 1904 | "strip-bom": "^3.0.0" 1905 | } 1906 | }, 1907 | "locate-path": { 1908 | "version": "2.0.0", 1909 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 1910 | "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", 1911 | "dev": true, 1912 | "requires": { 1913 | "p-locate": "^2.0.0", 1914 | "path-exists": "^3.0.0" 1915 | }, 1916 | "dependencies": { 1917 | "path-exists": { 1918 | "version": "3.0.0", 1919 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 1920 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", 1921 | "dev": true 1922 | } 1923 | } 1924 | }, 1925 | "lodash": { 1926 | "version": "4.17.11", 1927 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 1928 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", 1929 | "dev": true 1930 | }, 1931 | "lowercase-keys": { 1932 | "version": "1.0.1", 1933 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 1934 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 1935 | }, 1936 | "make-dir": { 1937 | "version": "1.3.0", 1938 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 1939 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 1940 | "requires": { 1941 | "pify": "^3.0.0" 1942 | }, 1943 | "dependencies": { 1944 | "pify": { 1945 | "version": "3.0.0", 1946 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1947 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 1948 | } 1949 | } 1950 | }, 1951 | "md5.js": { 1952 | "version": "1.3.5", 1953 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 1954 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 1955 | "requires": { 1956 | "hash-base": "^3.0.0", 1957 | "inherits": "^2.0.1", 1958 | "safe-buffer": "^5.1.2" 1959 | } 1960 | }, 1961 | "media-typer": { 1962 | "version": "0.3.0", 1963 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1964 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 1965 | }, 1966 | "merge-descriptors": { 1967 | "version": "1.0.1", 1968 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1969 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 1970 | }, 1971 | "methods": { 1972 | "version": "1.1.2", 1973 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1974 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 1975 | }, 1976 | "miller-rabin": { 1977 | "version": "4.0.1", 1978 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 1979 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 1980 | "requires": { 1981 | "bn.js": "^4.0.0", 1982 | "brorand": "^1.0.1" 1983 | } 1984 | }, 1985 | "mime": { 1986 | "version": "1.4.1", 1987 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", 1988 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" 1989 | }, 1990 | "mime-db": { 1991 | "version": "1.37.0", 1992 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", 1993 | "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" 1994 | }, 1995 | "mime-types": { 1996 | "version": "2.1.21", 1997 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", 1998 | "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", 1999 | "requires": { 2000 | "mime-db": "~1.37.0" 2001 | } 2002 | }, 2003 | "mimic-fn": { 2004 | "version": "1.2.0", 2005 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", 2006 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", 2007 | "dev": true 2008 | }, 2009 | "mimic-response": { 2010 | "version": "1.0.1", 2011 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 2012 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 2013 | }, 2014 | "min-document": { 2015 | "version": "2.19.0", 2016 | "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", 2017 | "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", 2018 | "requires": { 2019 | "dom-walk": "^0.1.0" 2020 | } 2021 | }, 2022 | "minimalistic-assert": { 2023 | "version": "1.0.1", 2024 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 2025 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 2026 | }, 2027 | "minimalistic-crypto-utils": { 2028 | "version": "1.0.1", 2029 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 2030 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" 2031 | }, 2032 | "minimatch": { 2033 | "version": "3.0.4", 2034 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2035 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2036 | "requires": { 2037 | "brace-expansion": "^1.1.7" 2038 | } 2039 | }, 2040 | "minimist": { 2041 | "version": "0.0.8", 2042 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2043 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 2044 | }, 2045 | "mkdirp": { 2046 | "version": "0.5.1", 2047 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2048 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2049 | "requires": { 2050 | "minimist": "0.0.8" 2051 | } 2052 | }, 2053 | "mkdirp-promise": { 2054 | "version": "5.0.1", 2055 | "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", 2056 | "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", 2057 | "requires": { 2058 | "mkdirp": "*" 2059 | } 2060 | }, 2061 | "mock-fs": { 2062 | "version": "4.7.0", 2063 | "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.7.0.tgz", 2064 | "integrity": "sha512-WlQNtUlzMRpvLHf8dqeUmNqfdPjGY29KrJF50Ldb4AcL+vQeR8QH3wQcFMgrhTwb1gHjZn9xggho+84tBskLgA==" 2065 | }, 2066 | "mout": { 2067 | "version": "0.11.1", 2068 | "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz", 2069 | "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k=" 2070 | }, 2071 | "ms": { 2072 | "version": "2.0.0", 2073 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2074 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 2075 | }, 2076 | "mute-stream": { 2077 | "version": "0.0.7", 2078 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", 2079 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", 2080 | "dev": true 2081 | }, 2082 | "mz": { 2083 | "version": "2.7.0", 2084 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 2085 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 2086 | "requires": { 2087 | "any-promise": "^1.0.0", 2088 | "object-assign": "^4.0.1", 2089 | "thenify-all": "^1.0.0" 2090 | } 2091 | }, 2092 | "nan": { 2093 | "version": "2.12.1", 2094 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", 2095 | "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" 2096 | }, 2097 | "nano-json-stream-parser": { 2098 | "version": "0.1.2", 2099 | "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", 2100 | "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" 2101 | }, 2102 | "natural-compare": { 2103 | "version": "1.4.0", 2104 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 2105 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", 2106 | "dev": true 2107 | }, 2108 | "negotiator": { 2109 | "version": "0.6.1", 2110 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", 2111 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" 2112 | }, 2113 | "nice-try": { 2114 | "version": "1.0.5", 2115 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 2116 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 2117 | "dev": true 2118 | }, 2119 | "normalize-package-data": { 2120 | "version": "2.4.0", 2121 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", 2122 | "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", 2123 | "dev": true, 2124 | "requires": { 2125 | "hosted-git-info": "^2.1.4", 2126 | "is-builtin-module": "^1.0.0", 2127 | "semver": "2 || 3 || 4 || 5", 2128 | "validate-npm-package-license": "^3.0.1" 2129 | } 2130 | }, 2131 | "number-to-bn": { 2132 | "version": "1.7.0", 2133 | "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", 2134 | "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", 2135 | "requires": { 2136 | "bn.js": "4.11.6", 2137 | "strip-hex-prefix": "1.0.0" 2138 | }, 2139 | "dependencies": { 2140 | "bn.js": { 2141 | "version": "4.11.6", 2142 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 2143 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 2144 | } 2145 | } 2146 | }, 2147 | "oauth-sign": { 2148 | "version": "0.9.0", 2149 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 2150 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 2151 | }, 2152 | "object-assign": { 2153 | "version": "4.1.1", 2154 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2155 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 2156 | }, 2157 | "object-keys": { 2158 | "version": "1.0.12", 2159 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", 2160 | "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", 2161 | "dev": true 2162 | }, 2163 | "object.assign": { 2164 | "version": "4.1.0", 2165 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", 2166 | "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", 2167 | "dev": true, 2168 | "requires": { 2169 | "define-properties": "^1.1.2", 2170 | "function-bind": "^1.1.1", 2171 | "has-symbols": "^1.0.0", 2172 | "object-keys": "^1.0.11" 2173 | } 2174 | }, 2175 | "object.entries": { 2176 | "version": "1.1.0", 2177 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", 2178 | "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", 2179 | "dev": true, 2180 | "requires": { 2181 | "define-properties": "^1.1.3", 2182 | "es-abstract": "^1.12.0", 2183 | "function-bind": "^1.1.1", 2184 | "has": "^1.0.3" 2185 | } 2186 | }, 2187 | "oboe": { 2188 | "version": "2.1.3", 2189 | "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz", 2190 | "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=", 2191 | "requires": { 2192 | "http-https": "^1.0.0" 2193 | } 2194 | }, 2195 | "on-finished": { 2196 | "version": "2.3.0", 2197 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 2198 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 2199 | "requires": { 2200 | "ee-first": "1.1.1" 2201 | } 2202 | }, 2203 | "once": { 2204 | "version": "1.4.0", 2205 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2206 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2207 | "requires": { 2208 | "wrappy": "1" 2209 | } 2210 | }, 2211 | "onetime": { 2212 | "version": "2.0.1", 2213 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", 2214 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", 2215 | "dev": true, 2216 | "requires": { 2217 | "mimic-fn": "^1.0.0" 2218 | } 2219 | }, 2220 | "openzeppelin-solidity": { 2221 | "version": "2.1.2", 2222 | "resolved": "https://registry.npmjs.org/openzeppelin-solidity/-/openzeppelin-solidity-2.1.2.tgz", 2223 | "integrity": "sha512-1ggh+AZFpMAgGfgnVMQ8dwYawjD2QN4xuWkQS4FUbeUz1fnCKJpguUl2cyadyfDYjBq1XJ6MA6VkzYpTZtJMqw==" 2224 | }, 2225 | "optionator": { 2226 | "version": "0.8.2", 2227 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", 2228 | "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", 2229 | "dev": true, 2230 | "requires": { 2231 | "deep-is": "~0.1.3", 2232 | "fast-levenshtein": "~2.0.4", 2233 | "levn": "~0.3.0", 2234 | "prelude-ls": "~1.1.2", 2235 | "type-check": "~0.3.2", 2236 | "wordwrap": "~1.0.0" 2237 | } 2238 | }, 2239 | "os-tmpdir": { 2240 | "version": "1.0.2", 2241 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2242 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2243 | "dev": true 2244 | }, 2245 | "p-cancelable": { 2246 | "version": "0.3.0", 2247 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", 2248 | "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" 2249 | }, 2250 | "p-finally": { 2251 | "version": "1.0.0", 2252 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 2253 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 2254 | }, 2255 | "p-limit": { 2256 | "version": "1.3.0", 2257 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 2258 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 2259 | "dev": true, 2260 | "requires": { 2261 | "p-try": "^1.0.0" 2262 | } 2263 | }, 2264 | "p-locate": { 2265 | "version": "2.0.0", 2266 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 2267 | "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", 2268 | "dev": true, 2269 | "requires": { 2270 | "p-limit": "^1.1.0" 2271 | } 2272 | }, 2273 | "p-timeout": { 2274 | "version": "1.2.1", 2275 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", 2276 | "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", 2277 | "requires": { 2278 | "p-finally": "^1.0.0" 2279 | } 2280 | }, 2281 | "p-try": { 2282 | "version": "1.0.0", 2283 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 2284 | "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", 2285 | "dev": true 2286 | }, 2287 | "parent-module": { 2288 | "version": "1.0.0", 2289 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", 2290 | "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", 2291 | "dev": true, 2292 | "requires": { 2293 | "callsites": "^3.0.0" 2294 | } 2295 | }, 2296 | "parse-asn1": { 2297 | "version": "5.1.3", 2298 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz", 2299 | "integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==", 2300 | "requires": { 2301 | "asn1.js": "^4.0.0", 2302 | "browserify-aes": "^1.0.0", 2303 | "create-hash": "^1.1.0", 2304 | "evp_bytestokey": "^1.0.0", 2305 | "pbkdf2": "^3.0.3", 2306 | "safe-buffer": "^5.1.1" 2307 | } 2308 | }, 2309 | "parse-headers": { 2310 | "version": "2.0.1", 2311 | "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", 2312 | "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", 2313 | "requires": { 2314 | "for-each": "^0.3.2", 2315 | "trim": "0.0.1" 2316 | } 2317 | }, 2318 | "parse-json": { 2319 | "version": "2.2.0", 2320 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", 2321 | "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", 2322 | "dev": true, 2323 | "requires": { 2324 | "error-ex": "^1.2.0" 2325 | } 2326 | }, 2327 | "parseurl": { 2328 | "version": "1.3.2", 2329 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", 2330 | "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" 2331 | }, 2332 | "path-exists": { 2333 | "version": "2.1.0", 2334 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", 2335 | "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", 2336 | "dev": true, 2337 | "requires": { 2338 | "pinkie-promise": "^2.0.0" 2339 | } 2340 | }, 2341 | "path-is-absolute": { 2342 | "version": "1.0.1", 2343 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2344 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" 2345 | }, 2346 | "path-is-inside": { 2347 | "version": "1.0.2", 2348 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2349 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 2350 | "dev": true 2351 | }, 2352 | "path-key": { 2353 | "version": "2.0.1", 2354 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2355 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 2356 | "dev": true 2357 | }, 2358 | "path-parse": { 2359 | "version": "1.0.6", 2360 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 2361 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 2362 | "dev": true 2363 | }, 2364 | "path-to-regexp": { 2365 | "version": "0.1.7", 2366 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 2367 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 2368 | }, 2369 | "path-type": { 2370 | "version": "2.0.0", 2371 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", 2372 | "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", 2373 | "dev": true, 2374 | "requires": { 2375 | "pify": "^2.0.0" 2376 | } 2377 | }, 2378 | "pbkdf2": { 2379 | "version": "3.0.17", 2380 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", 2381 | "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", 2382 | "requires": { 2383 | "create-hash": "^1.1.2", 2384 | "create-hmac": "^1.1.4", 2385 | "ripemd160": "^2.0.1", 2386 | "safe-buffer": "^5.0.1", 2387 | "sha.js": "^2.4.8" 2388 | } 2389 | }, 2390 | "pend": { 2391 | "version": "1.2.0", 2392 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 2393 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 2394 | }, 2395 | "performance-now": { 2396 | "version": "2.1.0", 2397 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 2398 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 2399 | }, 2400 | "pify": { 2401 | "version": "2.3.0", 2402 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2403 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 2404 | }, 2405 | "pinkie": { 2406 | "version": "2.0.4", 2407 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2408 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 2409 | }, 2410 | "pinkie-promise": { 2411 | "version": "2.0.1", 2412 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2413 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2414 | "requires": { 2415 | "pinkie": "^2.0.0" 2416 | } 2417 | }, 2418 | "pkg-dir": { 2419 | "version": "1.0.0", 2420 | "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", 2421 | "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", 2422 | "dev": true, 2423 | "requires": { 2424 | "find-up": "^1.0.0" 2425 | } 2426 | }, 2427 | "pluralize": { 2428 | "version": "7.0.0", 2429 | "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", 2430 | "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", 2431 | "dev": true 2432 | }, 2433 | "prelude-ls": { 2434 | "version": "1.1.2", 2435 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2436 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 2437 | "dev": true 2438 | }, 2439 | "prepend-http": { 2440 | "version": "1.0.4", 2441 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 2442 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 2443 | }, 2444 | "process": { 2445 | "version": "0.5.2", 2446 | "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", 2447 | "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" 2448 | }, 2449 | "process-nextick-args": { 2450 | "version": "2.0.0", 2451 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 2452 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 2453 | }, 2454 | "progress": { 2455 | "version": "2.0.3", 2456 | "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", 2457 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", 2458 | "dev": true 2459 | }, 2460 | "proxy-addr": { 2461 | "version": "2.0.4", 2462 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", 2463 | "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", 2464 | "requires": { 2465 | "forwarded": "~0.1.2", 2466 | "ipaddr.js": "1.8.0" 2467 | } 2468 | }, 2469 | "psl": { 2470 | "version": "1.1.31", 2471 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", 2472 | "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" 2473 | }, 2474 | "public-encrypt": { 2475 | "version": "4.0.3", 2476 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 2477 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 2478 | "requires": { 2479 | "bn.js": "^4.1.0", 2480 | "browserify-rsa": "^4.0.0", 2481 | "create-hash": "^1.1.0", 2482 | "parse-asn1": "^5.0.0", 2483 | "randombytes": "^2.0.1", 2484 | "safe-buffer": "^5.1.2" 2485 | } 2486 | }, 2487 | "punycode": { 2488 | "version": "2.1.1", 2489 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 2490 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 2491 | }, 2492 | "qs": { 2493 | "version": "6.5.2", 2494 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 2495 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" 2496 | }, 2497 | "query-string": { 2498 | "version": "5.1.1", 2499 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", 2500 | "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", 2501 | "requires": { 2502 | "decode-uri-component": "^0.2.0", 2503 | "object-assign": "^4.1.0", 2504 | "strict-uri-encode": "^1.0.0" 2505 | } 2506 | }, 2507 | "randombytes": { 2508 | "version": "2.0.6", 2509 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", 2510 | "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", 2511 | "requires": { 2512 | "safe-buffer": "^5.1.0" 2513 | } 2514 | }, 2515 | "randomfill": { 2516 | "version": "1.0.4", 2517 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 2518 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 2519 | "requires": { 2520 | "randombytes": "^2.0.5", 2521 | "safe-buffer": "^5.1.0" 2522 | } 2523 | }, 2524 | "randomhex": { 2525 | "version": "0.1.5", 2526 | "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", 2527 | "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" 2528 | }, 2529 | "range-parser": { 2530 | "version": "1.2.0", 2531 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 2532 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" 2533 | }, 2534 | "raw-body": { 2535 | "version": "2.3.3", 2536 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", 2537 | "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", 2538 | "requires": { 2539 | "bytes": "3.0.0", 2540 | "http-errors": "1.6.3", 2541 | "iconv-lite": "0.4.23", 2542 | "unpipe": "1.0.0" 2543 | } 2544 | }, 2545 | "read-pkg": { 2546 | "version": "2.0.0", 2547 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", 2548 | "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", 2549 | "dev": true, 2550 | "requires": { 2551 | "load-json-file": "^2.0.0", 2552 | "normalize-package-data": "^2.3.2", 2553 | "path-type": "^2.0.0" 2554 | } 2555 | }, 2556 | "read-pkg-up": { 2557 | "version": "2.0.0", 2558 | "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", 2559 | "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", 2560 | "dev": true, 2561 | "requires": { 2562 | "find-up": "^2.0.0", 2563 | "read-pkg": "^2.0.0" 2564 | }, 2565 | "dependencies": { 2566 | "find-up": { 2567 | "version": "2.1.0", 2568 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 2569 | "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", 2570 | "dev": true, 2571 | "requires": { 2572 | "locate-path": "^2.0.0" 2573 | } 2574 | } 2575 | } 2576 | }, 2577 | "readable-stream": { 2578 | "version": "2.3.6", 2579 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 2580 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 2581 | "requires": { 2582 | "core-util-is": "~1.0.0", 2583 | "inherits": "~2.0.3", 2584 | "isarray": "~1.0.0", 2585 | "process-nextick-args": "~2.0.0", 2586 | "safe-buffer": "~5.1.1", 2587 | "string_decoder": "~1.1.1", 2588 | "util-deprecate": "~1.0.1" 2589 | } 2590 | }, 2591 | "regexpp": { 2592 | "version": "2.0.1", 2593 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", 2594 | "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", 2595 | "dev": true 2596 | }, 2597 | "request": { 2598 | "version": "2.88.0", 2599 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 2600 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 2601 | "requires": { 2602 | "aws-sign2": "~0.7.0", 2603 | "aws4": "^1.8.0", 2604 | "caseless": "~0.12.0", 2605 | "combined-stream": "~1.0.6", 2606 | "extend": "~3.0.2", 2607 | "forever-agent": "~0.6.1", 2608 | "form-data": "~2.3.2", 2609 | "har-validator": "~5.1.0", 2610 | "http-signature": "~1.2.0", 2611 | "is-typedarray": "~1.0.0", 2612 | "isstream": "~0.1.2", 2613 | "json-stringify-safe": "~5.0.1", 2614 | "mime-types": "~2.1.19", 2615 | "oauth-sign": "~0.9.0", 2616 | "performance-now": "^2.1.0", 2617 | "qs": "~6.5.2", 2618 | "safe-buffer": "^5.1.2", 2619 | "tough-cookie": "~2.4.3", 2620 | "tunnel-agent": "^0.6.0", 2621 | "uuid": "^3.3.2" 2622 | } 2623 | }, 2624 | "resolve": { 2625 | "version": "1.9.0", 2626 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.9.0.tgz", 2627 | "integrity": "sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ==", 2628 | "dev": true, 2629 | "requires": { 2630 | "path-parse": "^1.0.6" 2631 | } 2632 | }, 2633 | "resolve-from": { 2634 | "version": "4.0.0", 2635 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 2636 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 2637 | "dev": true 2638 | }, 2639 | "restore-cursor": { 2640 | "version": "2.0.0", 2641 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", 2642 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", 2643 | "dev": true, 2644 | "requires": { 2645 | "onetime": "^2.0.0", 2646 | "signal-exit": "^3.0.2" 2647 | } 2648 | }, 2649 | "rimraf": { 2650 | "version": "2.6.3", 2651 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", 2652 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", 2653 | "requires": { 2654 | "glob": "^7.1.3" 2655 | } 2656 | }, 2657 | "ripemd160": { 2658 | "version": "2.0.2", 2659 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 2660 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 2661 | "requires": { 2662 | "hash-base": "^3.0.0", 2663 | "inherits": "^2.0.1" 2664 | } 2665 | }, 2666 | "run-async": { 2667 | "version": "2.3.0", 2668 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 2669 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 2670 | "dev": true, 2671 | "requires": { 2672 | "is-promise": "^2.1.0" 2673 | } 2674 | }, 2675 | "rxjs": { 2676 | "version": "6.3.3", 2677 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", 2678 | "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", 2679 | "dev": true, 2680 | "requires": { 2681 | "tslib": "^1.9.0" 2682 | } 2683 | }, 2684 | "safe-buffer": { 2685 | "version": "5.1.2", 2686 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 2687 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 2688 | }, 2689 | "safer-buffer": { 2690 | "version": "2.1.2", 2691 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2692 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 2693 | }, 2694 | "scrypt": { 2695 | "version": "6.0.3", 2696 | "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", 2697 | "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", 2698 | "requires": { 2699 | "nan": "^2.0.8" 2700 | } 2701 | }, 2702 | "scrypt-js": { 2703 | "version": "2.0.3", 2704 | "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", 2705 | "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" 2706 | }, 2707 | "scrypt.js": { 2708 | "version": "0.2.0", 2709 | "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", 2710 | "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", 2711 | "requires": { 2712 | "scrypt": "^6.0.2", 2713 | "scryptsy": "^1.2.1" 2714 | } 2715 | }, 2716 | "scryptsy": { 2717 | "version": "1.2.1", 2718 | "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", 2719 | "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", 2720 | "requires": { 2721 | "pbkdf2": "^3.0.3" 2722 | } 2723 | }, 2724 | "seek-bzip": { 2725 | "version": "1.0.5", 2726 | "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", 2727 | "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", 2728 | "requires": { 2729 | "commander": "~2.8.1" 2730 | } 2731 | }, 2732 | "semver": { 2733 | "version": "5.6.0", 2734 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", 2735 | "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", 2736 | "dev": true 2737 | }, 2738 | "send": { 2739 | "version": "0.16.2", 2740 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", 2741 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", 2742 | "requires": { 2743 | "debug": "2.6.9", 2744 | "depd": "~1.1.2", 2745 | "destroy": "~1.0.4", 2746 | "encodeurl": "~1.0.2", 2747 | "escape-html": "~1.0.3", 2748 | "etag": "~1.8.1", 2749 | "fresh": "0.5.2", 2750 | "http-errors": "~1.6.2", 2751 | "mime": "1.4.1", 2752 | "ms": "2.0.0", 2753 | "on-finished": "~2.3.0", 2754 | "range-parser": "~1.2.0", 2755 | "statuses": "~1.4.0" 2756 | }, 2757 | "dependencies": { 2758 | "statuses": { 2759 | "version": "1.4.0", 2760 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 2761 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 2762 | } 2763 | } 2764 | }, 2765 | "serve-static": { 2766 | "version": "1.13.2", 2767 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", 2768 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", 2769 | "requires": { 2770 | "encodeurl": "~1.0.2", 2771 | "escape-html": "~1.0.3", 2772 | "parseurl": "~1.3.2", 2773 | "send": "0.16.2" 2774 | } 2775 | }, 2776 | "servify": { 2777 | "version": "0.1.12", 2778 | "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", 2779 | "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", 2780 | "requires": { 2781 | "body-parser": "^1.16.0", 2782 | "cors": "^2.8.1", 2783 | "express": "^4.14.0", 2784 | "request": "^2.79.0", 2785 | "xhr": "^2.3.3" 2786 | } 2787 | }, 2788 | "setimmediate": { 2789 | "version": "1.0.5", 2790 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 2791 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 2792 | }, 2793 | "setprototypeof": { 2794 | "version": "1.1.0", 2795 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", 2796 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" 2797 | }, 2798 | "sha.js": { 2799 | "version": "2.4.11", 2800 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 2801 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 2802 | "requires": { 2803 | "inherits": "^2.0.1", 2804 | "safe-buffer": "^5.0.1" 2805 | } 2806 | }, 2807 | "sha3": { 2808 | "version": "1.2.2", 2809 | "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.2.tgz", 2810 | "integrity": "sha1-pmxQmN5MJbyIM27ItIF9AFvKe6k=", 2811 | "requires": { 2812 | "nan": "2.10.0" 2813 | }, 2814 | "dependencies": { 2815 | "nan": { 2816 | "version": "2.10.0", 2817 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", 2818 | "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" 2819 | } 2820 | } 2821 | }, 2822 | "shebang-command": { 2823 | "version": "1.2.0", 2824 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2825 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2826 | "dev": true, 2827 | "requires": { 2828 | "shebang-regex": "^1.0.0" 2829 | } 2830 | }, 2831 | "shebang-regex": { 2832 | "version": "1.0.0", 2833 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2834 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 2835 | "dev": true 2836 | }, 2837 | "signal-exit": { 2838 | "version": "3.0.2", 2839 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 2840 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 2841 | "dev": true 2842 | }, 2843 | "simple-concat": { 2844 | "version": "1.0.0", 2845 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", 2846 | "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" 2847 | }, 2848 | "simple-get": { 2849 | "version": "2.8.1", 2850 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", 2851 | "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", 2852 | "requires": { 2853 | "decompress-response": "^3.3.0", 2854 | "once": "^1.3.1", 2855 | "simple-concat": "^1.0.0" 2856 | } 2857 | }, 2858 | "slice-ansi": { 2859 | "version": "2.0.0", 2860 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz", 2861 | "integrity": "sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ==", 2862 | "dev": true, 2863 | "requires": { 2864 | "ansi-styles": "^3.2.0", 2865 | "astral-regex": "^1.0.0", 2866 | "is-fullwidth-code-point": "^2.0.0" 2867 | } 2868 | }, 2869 | "spdx-correct": { 2870 | "version": "3.1.0", 2871 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 2872 | "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 2873 | "dev": true, 2874 | "requires": { 2875 | "spdx-expression-parse": "^3.0.0", 2876 | "spdx-license-ids": "^3.0.0" 2877 | } 2878 | }, 2879 | "spdx-exceptions": { 2880 | "version": "2.2.0", 2881 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 2882 | "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", 2883 | "dev": true 2884 | }, 2885 | "spdx-expression-parse": { 2886 | "version": "3.0.0", 2887 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 2888 | "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 2889 | "dev": true, 2890 | "requires": { 2891 | "spdx-exceptions": "^2.1.0", 2892 | "spdx-license-ids": "^3.0.0" 2893 | } 2894 | }, 2895 | "spdx-license-ids": { 2896 | "version": "3.0.3", 2897 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", 2898 | "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==", 2899 | "dev": true 2900 | }, 2901 | "sprintf-js": { 2902 | "version": "1.0.3", 2903 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2904 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 2905 | "dev": true 2906 | }, 2907 | "sshpk": { 2908 | "version": "1.16.0", 2909 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", 2910 | "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", 2911 | "requires": { 2912 | "asn1": "~0.2.3", 2913 | "assert-plus": "^1.0.0", 2914 | "bcrypt-pbkdf": "^1.0.0", 2915 | "dashdash": "^1.12.0", 2916 | "ecc-jsbn": "~0.1.1", 2917 | "getpass": "^0.1.1", 2918 | "jsbn": "~0.1.0", 2919 | "safer-buffer": "^2.0.2", 2920 | "tweetnacl": "~0.14.0" 2921 | } 2922 | }, 2923 | "statuses": { 2924 | "version": "1.5.0", 2925 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 2926 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 2927 | }, 2928 | "strict-uri-encode": { 2929 | "version": "1.1.0", 2930 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 2931 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" 2932 | }, 2933 | "string-width": { 2934 | "version": "2.1.1", 2935 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 2936 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 2937 | "dev": true, 2938 | "requires": { 2939 | "is-fullwidth-code-point": "^2.0.0", 2940 | "strip-ansi": "^4.0.0" 2941 | } 2942 | }, 2943 | "string_decoder": { 2944 | "version": "1.1.1", 2945 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2946 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2947 | "requires": { 2948 | "safe-buffer": "~5.1.0" 2949 | } 2950 | }, 2951 | "strip-ansi": { 2952 | "version": "4.0.0", 2953 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 2954 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 2955 | "dev": true, 2956 | "requires": { 2957 | "ansi-regex": "^3.0.0" 2958 | } 2959 | }, 2960 | "strip-bom": { 2961 | "version": "3.0.0", 2962 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 2963 | "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 2964 | "dev": true 2965 | }, 2966 | "strip-dirs": { 2967 | "version": "2.1.0", 2968 | "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", 2969 | "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", 2970 | "requires": { 2971 | "is-natural-number": "^4.0.1" 2972 | } 2973 | }, 2974 | "strip-hex-prefix": { 2975 | "version": "1.0.0", 2976 | "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", 2977 | "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", 2978 | "requires": { 2979 | "is-hex-prefixed": "1.0.0" 2980 | } 2981 | }, 2982 | "strip-json-comments": { 2983 | "version": "2.0.1", 2984 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2985 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 2986 | "dev": true 2987 | }, 2988 | "supports-color": { 2989 | "version": "5.5.0", 2990 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 2991 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 2992 | "dev": true, 2993 | "requires": { 2994 | "has-flag": "^3.0.0" 2995 | } 2996 | }, 2997 | "swarm-js": { 2998 | "version": "0.1.37", 2999 | "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz", 3000 | "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", 3001 | "requires": { 3002 | "bluebird": "^3.5.0", 3003 | "buffer": "^5.0.5", 3004 | "decompress": "^4.0.0", 3005 | "eth-lib": "^0.1.26", 3006 | "fs-extra": "^2.1.2", 3007 | "fs-promise": "^2.0.0", 3008 | "got": "^7.1.0", 3009 | "mime-types": "^2.1.16", 3010 | "mkdirp-promise": "^5.0.1", 3011 | "mock-fs": "^4.1.0", 3012 | "setimmediate": "^1.0.5", 3013 | "tar.gz": "^1.0.5", 3014 | "xhr-request-promise": "^0.1.2" 3015 | } 3016 | }, 3017 | "table": { 3018 | "version": "5.2.1", 3019 | "resolved": "https://registry.npmjs.org/table/-/table-5.2.1.tgz", 3020 | "integrity": "sha512-qmhNs2GEHNqY5fd2Mo+8N1r2sw/rvTAAvBZTaTx+Y7PHLypqyrxr1MdIu0pLw6Xvl/Gi4ONu/sdceP8vvUjkyA==", 3021 | "dev": true, 3022 | "requires": { 3023 | "ajv": "^6.6.1", 3024 | "lodash": "^4.17.11", 3025 | "slice-ansi": "2.0.0", 3026 | "string-width": "^2.1.1" 3027 | } 3028 | }, 3029 | "tar": { 3030 | "version": "2.2.1", 3031 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", 3032 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", 3033 | "requires": { 3034 | "block-stream": "*", 3035 | "fstream": "^1.0.2", 3036 | "inherits": "2" 3037 | } 3038 | }, 3039 | "tar-stream": { 3040 | "version": "1.6.2", 3041 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", 3042 | "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", 3043 | "requires": { 3044 | "bl": "^1.0.0", 3045 | "buffer-alloc": "^1.2.0", 3046 | "end-of-stream": "^1.0.0", 3047 | "fs-constants": "^1.0.0", 3048 | "readable-stream": "^2.3.0", 3049 | "to-buffer": "^1.1.1", 3050 | "xtend": "^4.0.0" 3051 | } 3052 | }, 3053 | "tar.gz": { 3054 | "version": "1.0.7", 3055 | "resolved": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.7.tgz", 3056 | "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==", 3057 | "requires": { 3058 | "bluebird": "^2.9.34", 3059 | "commander": "^2.8.1", 3060 | "fstream": "^1.0.8", 3061 | "mout": "^0.11.0", 3062 | "tar": "^2.1.1" 3063 | }, 3064 | "dependencies": { 3065 | "bluebird": { 3066 | "version": "2.11.0", 3067 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", 3068 | "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=" 3069 | } 3070 | } 3071 | }, 3072 | "text-table": { 3073 | "version": "0.2.0", 3074 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 3075 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 3076 | "dev": true 3077 | }, 3078 | "thenify": { 3079 | "version": "3.3.0", 3080 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", 3081 | "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", 3082 | "requires": { 3083 | "any-promise": "^1.0.0" 3084 | } 3085 | }, 3086 | "thenify-all": { 3087 | "version": "1.6.0", 3088 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 3089 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", 3090 | "requires": { 3091 | "thenify": ">= 3.1.0 < 4" 3092 | } 3093 | }, 3094 | "through": { 3095 | "version": "2.3.8", 3096 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3097 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 3098 | }, 3099 | "timed-out": { 3100 | "version": "4.0.1", 3101 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 3102 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 3103 | }, 3104 | "tmp": { 3105 | "version": "0.0.33", 3106 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", 3107 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", 3108 | "dev": true, 3109 | "requires": { 3110 | "os-tmpdir": "~1.0.2" 3111 | } 3112 | }, 3113 | "to-buffer": { 3114 | "version": "1.1.1", 3115 | "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", 3116 | "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" 3117 | }, 3118 | "tough-cookie": { 3119 | "version": "2.4.3", 3120 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 3121 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 3122 | "requires": { 3123 | "psl": "^1.1.24", 3124 | "punycode": "^1.4.1" 3125 | }, 3126 | "dependencies": { 3127 | "punycode": { 3128 | "version": "1.4.1", 3129 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 3130 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 3131 | } 3132 | } 3133 | }, 3134 | "trim": { 3135 | "version": "0.0.1", 3136 | "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", 3137 | "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" 3138 | }, 3139 | "truffle-hdwallet-provider": { 3140 | "version": "1.0.2", 3141 | "resolved": "https://registry.npmjs.org/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.2.tgz", 3142 | "integrity": "sha512-skxwZDG541Qf077aA7VDWn9qhgr9/DjmbFJWLVR/oRrlmOYcIiNXviuBIZ5tZkE7JuFxMzHagkLPOreeko9G+g==", 3143 | "requires": { 3144 | "any-promise": "^1.3.0", 3145 | "bindings": "^1.3.1", 3146 | "websocket": "^1.0.28" 3147 | } 3148 | }, 3149 | "tslib": { 3150 | "version": "1.9.3", 3151 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", 3152 | "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", 3153 | "dev": true 3154 | }, 3155 | "tunnel-agent": { 3156 | "version": "0.6.0", 3157 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3158 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3159 | "requires": { 3160 | "safe-buffer": "^5.0.1" 3161 | } 3162 | }, 3163 | "tweetnacl": { 3164 | "version": "0.14.5", 3165 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3166 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" 3167 | }, 3168 | "type-check": { 3169 | "version": "0.3.2", 3170 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 3171 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 3172 | "dev": true, 3173 | "requires": { 3174 | "prelude-ls": "~1.1.2" 3175 | } 3176 | }, 3177 | "type-is": { 3178 | "version": "1.6.16", 3179 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", 3180 | "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", 3181 | "requires": { 3182 | "media-typer": "0.3.0", 3183 | "mime-types": "~2.1.18" 3184 | } 3185 | }, 3186 | "typedarray-to-buffer": { 3187 | "version": "3.1.5", 3188 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 3189 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 3190 | "requires": { 3191 | "is-typedarray": "^1.0.0" 3192 | } 3193 | }, 3194 | "ultron": { 3195 | "version": "1.1.1", 3196 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", 3197 | "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" 3198 | }, 3199 | "unbzip2-stream": { 3200 | "version": "1.3.1", 3201 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.1.tgz", 3202 | "integrity": "sha512-fIZnvdjblYs7Cru/xC6tCPVhz7JkYcVQQkePwMLyQELzYTds2Xn8QefPVnvdVhhZqubxNA1cASXEH5wcK0Bucw==", 3203 | "requires": { 3204 | "buffer": "^3.0.1", 3205 | "through": "^2.3.6" 3206 | }, 3207 | "dependencies": { 3208 | "base64-js": { 3209 | "version": "0.0.8", 3210 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", 3211 | "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" 3212 | }, 3213 | "buffer": { 3214 | "version": "3.6.0", 3215 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", 3216 | "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", 3217 | "requires": { 3218 | "base64-js": "0.0.8", 3219 | "ieee754": "^1.1.4", 3220 | "isarray": "^1.0.0" 3221 | } 3222 | } 3223 | } 3224 | }, 3225 | "underscore": { 3226 | "version": "1.8.3", 3227 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", 3228 | "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=" 3229 | }, 3230 | "unpipe": { 3231 | "version": "1.0.0", 3232 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 3233 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 3234 | }, 3235 | "uri-js": { 3236 | "version": "4.2.2", 3237 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 3238 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 3239 | "requires": { 3240 | "punycode": "^2.1.0" 3241 | } 3242 | }, 3243 | "url-parse-lax": { 3244 | "version": "1.0.0", 3245 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 3246 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 3247 | "requires": { 3248 | "prepend-http": "^1.0.1" 3249 | } 3250 | }, 3251 | "url-set-query": { 3252 | "version": "1.0.0", 3253 | "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", 3254 | "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" 3255 | }, 3256 | "url-to-options": { 3257 | "version": "1.0.1", 3258 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 3259 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" 3260 | }, 3261 | "utf8": { 3262 | "version": "2.1.1", 3263 | "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", 3264 | "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" 3265 | }, 3266 | "util-deprecate": { 3267 | "version": "1.0.2", 3268 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3269 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 3270 | }, 3271 | "utils-merge": { 3272 | "version": "1.0.1", 3273 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 3274 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 3275 | }, 3276 | "uuid": { 3277 | "version": "3.3.2", 3278 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 3279 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 3280 | }, 3281 | "validate-npm-package-license": { 3282 | "version": "3.0.4", 3283 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 3284 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 3285 | "dev": true, 3286 | "requires": { 3287 | "spdx-correct": "^3.0.0", 3288 | "spdx-expression-parse": "^3.0.0" 3289 | } 3290 | }, 3291 | "vary": { 3292 | "version": "1.1.2", 3293 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 3294 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 3295 | }, 3296 | "verror": { 3297 | "version": "1.10.0", 3298 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 3299 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 3300 | "requires": { 3301 | "assert-plus": "^1.0.0", 3302 | "core-util-is": "1.0.2", 3303 | "extsprintf": "^1.2.0" 3304 | } 3305 | }, 3306 | "web3": { 3307 | "version": "1.0.0-beta.37", 3308 | "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.37.tgz", 3309 | "integrity": "sha512-8XLgUspdzicC/xHG82TLrcF/Fxzj2XYNJ1KTYnepOI77bj5rvpsxxwHYBWQ6/JOjk0HkZqoBfnXWgcIHCDhZhQ==", 3310 | "requires": { 3311 | "web3-bzz": "1.0.0-beta.37", 3312 | "web3-core": "1.0.0-beta.37", 3313 | "web3-eth": "1.0.0-beta.37", 3314 | "web3-eth-personal": "1.0.0-beta.37", 3315 | "web3-net": "1.0.0-beta.37", 3316 | "web3-shh": "1.0.0-beta.37", 3317 | "web3-utils": "1.0.0-beta.37" 3318 | } 3319 | }, 3320 | "web3-bzz": { 3321 | "version": "1.0.0-beta.37", 3322 | "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.37.tgz", 3323 | "integrity": "sha512-E+dho49Nsm/QpQvYWOF35YDsQrMvLB19AApENxhlQsu6HpWQt534DQul0t3Y/aAh8rlKD6Kanxt8LhHDG3vejQ==", 3324 | "requires": { 3325 | "got": "7.1.0", 3326 | "swarm-js": "0.1.37", 3327 | "underscore": "1.8.3" 3328 | } 3329 | }, 3330 | "web3-core": { 3331 | "version": "1.0.0-beta.37", 3332 | "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.37.tgz", 3333 | "integrity": "sha512-cIwEqCj7OJyefQNauI0HOgW4sSaOQ98V99H2/HEIlnCZylsDzfw7gtQUdwnRFiIyIxjbWy3iWsjwDPoXNPZBYg==", 3334 | "requires": { 3335 | "web3-core-helpers": "1.0.0-beta.37", 3336 | "web3-core-method": "1.0.0-beta.37", 3337 | "web3-core-requestmanager": "1.0.0-beta.37", 3338 | "web3-utils": "1.0.0-beta.37" 3339 | } 3340 | }, 3341 | "web3-core-helpers": { 3342 | "version": "1.0.0-beta.37", 3343 | "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.37.tgz", 3344 | "integrity": "sha512-efaLOzN28RMnbugnyelgLwPWWaSwElQzcAJ/x3PZu+uPloM/lE5x0YuBKvIh7/PoSMlHqtRWj1B8CpuQOUQ5Ew==", 3345 | "requires": { 3346 | "underscore": "1.8.3", 3347 | "web3-eth-iban": "1.0.0-beta.37", 3348 | "web3-utils": "1.0.0-beta.37" 3349 | } 3350 | }, 3351 | "web3-core-method": { 3352 | "version": "1.0.0-beta.37", 3353 | "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.37.tgz", 3354 | "integrity": "sha512-pKWFUeqnVmzx3VrZg+CseSdrl/Yrk2ioid/HzolNXZE6zdoITZL0uRjnsbqXGEzgRRd1Oe/pFndpTlRsnxXloA==", 3355 | "requires": { 3356 | "underscore": "1.8.3", 3357 | "web3-core-helpers": "1.0.0-beta.37", 3358 | "web3-core-promievent": "1.0.0-beta.37", 3359 | "web3-core-subscriptions": "1.0.0-beta.37", 3360 | "web3-utils": "1.0.0-beta.37" 3361 | } 3362 | }, 3363 | "web3-core-promievent": { 3364 | "version": "1.0.0-beta.37", 3365 | "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.37.tgz", 3366 | "integrity": "sha512-GTF2r1lP8nJBeA5Gxq5yZpJy9l8Fb9CXGZPfF8jHvaRdQHtm2Z+NDhqYmF833lcdkokRSyfPcXlz1mlWeClFpg==", 3367 | "requires": { 3368 | "any-promise": "1.3.0", 3369 | "eventemitter3": "1.1.1" 3370 | } 3371 | }, 3372 | "web3-core-requestmanager": { 3373 | "version": "1.0.0-beta.37", 3374 | "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.37.tgz", 3375 | "integrity": "sha512-66VUqye5BGp1Zz1r8psCxdNH+GtTjaFwroum2Osx+wbC5oRjAiXkkadiitf6wRb+edodjEMPn49u7B6WGNuewQ==", 3376 | "requires": { 3377 | "underscore": "1.8.3", 3378 | "web3-core-helpers": "1.0.0-beta.37", 3379 | "web3-providers-http": "1.0.0-beta.37", 3380 | "web3-providers-ipc": "1.0.0-beta.37", 3381 | "web3-providers-ws": "1.0.0-beta.37" 3382 | } 3383 | }, 3384 | "web3-core-subscriptions": { 3385 | "version": "1.0.0-beta.37", 3386 | "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.37.tgz", 3387 | "integrity": "sha512-FdXl8so9kwkRRWziuCSpFsAuAdg9KvpXa1fQlT16uoGcYYfxwFO/nkwyBGQzkZt7emShI2IRugcazyPCZDwkOA==", 3388 | "requires": { 3389 | "eventemitter3": "1.1.1", 3390 | "underscore": "1.8.3", 3391 | "web3-core-helpers": "1.0.0-beta.37" 3392 | } 3393 | }, 3394 | "web3-eth": { 3395 | "version": "1.0.0-beta.37", 3396 | "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.37.tgz", 3397 | "integrity": "sha512-Eb3aGtkz3G9q+Z9DKgSQNbn/u8RtcZQQ0R4sW9hy5KK47GoT6vab5c6DiD3QWzI0BzitHzR5Ji+3VHf/hPUGgw==", 3398 | "requires": { 3399 | "underscore": "1.8.3", 3400 | "web3-core": "1.0.0-beta.37", 3401 | "web3-core-helpers": "1.0.0-beta.37", 3402 | "web3-core-method": "1.0.0-beta.37", 3403 | "web3-core-subscriptions": "1.0.0-beta.37", 3404 | "web3-eth-abi": "1.0.0-beta.37", 3405 | "web3-eth-accounts": "1.0.0-beta.37", 3406 | "web3-eth-contract": "1.0.0-beta.37", 3407 | "web3-eth-ens": "1.0.0-beta.37", 3408 | "web3-eth-iban": "1.0.0-beta.37", 3409 | "web3-eth-personal": "1.0.0-beta.37", 3410 | "web3-net": "1.0.0-beta.37", 3411 | "web3-utils": "1.0.0-beta.37" 3412 | } 3413 | }, 3414 | "web3-eth-abi": { 3415 | "version": "1.0.0-beta.37", 3416 | "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.37.tgz", 3417 | "integrity": "sha512-g9DKZGM2OqwKp/tX3W/yihcj7mQCtJ6CXyZXEIZfuDyRBED/iSEIFfieDOd+yo16sokLMig6FG7ADhhu+19hdA==", 3418 | "requires": { 3419 | "ethers": "4.0.0-beta.1", 3420 | "underscore": "1.8.3", 3421 | "web3-utils": "1.0.0-beta.37" 3422 | } 3423 | }, 3424 | "web3-eth-accounts": { 3425 | "version": "1.0.0-beta.37", 3426 | "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.37.tgz", 3427 | "integrity": "sha512-uvbHL62/zwo4GDmwKdqH9c/EgYd8QVnAfpVw8D3epSISpgbONNY7Hr4MRMSd/CqAP12l2Ls9JVQGLhhC83bW6g==", 3428 | "requires": { 3429 | "any-promise": "1.3.0", 3430 | "crypto-browserify": "3.12.0", 3431 | "eth-lib": "0.2.7", 3432 | "scrypt.js": "0.2.0", 3433 | "underscore": "1.8.3", 3434 | "uuid": "2.0.1", 3435 | "web3-core": "1.0.0-beta.37", 3436 | "web3-core-helpers": "1.0.0-beta.37", 3437 | "web3-core-method": "1.0.0-beta.37", 3438 | "web3-utils": "1.0.0-beta.37" 3439 | }, 3440 | "dependencies": { 3441 | "eth-lib": { 3442 | "version": "0.2.7", 3443 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", 3444 | "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", 3445 | "requires": { 3446 | "bn.js": "^4.11.6", 3447 | "elliptic": "^6.4.0", 3448 | "xhr-request-promise": "^0.1.2" 3449 | } 3450 | }, 3451 | "uuid": { 3452 | "version": "2.0.1", 3453 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", 3454 | "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" 3455 | } 3456 | } 3457 | }, 3458 | "web3-eth-contract": { 3459 | "version": "1.0.0-beta.37", 3460 | "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.37.tgz", 3461 | "integrity": "sha512-h1B3A8Z/C7BlnTCHkrWbXZQTViDxfR12lKMeTkT8Sqj5phFmxrBlPE4ORy4lf1Dk5b23mZYE0r/IRACx4ThCrQ==", 3462 | "requires": { 3463 | "underscore": "1.8.3", 3464 | "web3-core": "1.0.0-beta.37", 3465 | "web3-core-helpers": "1.0.0-beta.37", 3466 | "web3-core-method": "1.0.0-beta.37", 3467 | "web3-core-promievent": "1.0.0-beta.37", 3468 | "web3-core-subscriptions": "1.0.0-beta.37", 3469 | "web3-eth-abi": "1.0.0-beta.37", 3470 | "web3-utils": "1.0.0-beta.37" 3471 | } 3472 | }, 3473 | "web3-eth-ens": { 3474 | "version": "1.0.0-beta.37", 3475 | "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.37.tgz", 3476 | "integrity": "sha512-dR3UkrVzdRrJhfP57xBPx0CMiVnCcYFvh+u2XMkGydrhHgupSUkjqGr89xry/j1T0BkuN9mikpbyhdCVMXqMbg==", 3477 | "requires": { 3478 | "eth-ens-namehash": "2.0.8", 3479 | "underscore": "1.8.3", 3480 | "web3-core": "1.0.0-beta.37", 3481 | "web3-core-helpers": "1.0.0-beta.37", 3482 | "web3-core-promievent": "1.0.0-beta.37", 3483 | "web3-eth-abi": "1.0.0-beta.37", 3484 | "web3-eth-contract": "1.0.0-beta.37", 3485 | "web3-utils": "1.0.0-beta.37" 3486 | } 3487 | }, 3488 | "web3-eth-iban": { 3489 | "version": "1.0.0-beta.37", 3490 | "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.37.tgz", 3491 | "integrity": "sha512-WQRniGJFxH/XCbd7miO6+jnUG+6bvuzfeufPIiOtCbeIC1ypp1kSqER8YVBDrTyinU1xnf1U5v0KBZ2yiWBJxQ==", 3492 | "requires": { 3493 | "bn.js": "4.11.6", 3494 | "web3-utils": "1.0.0-beta.37" 3495 | }, 3496 | "dependencies": { 3497 | "bn.js": { 3498 | "version": "4.11.6", 3499 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 3500 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 3501 | } 3502 | } 3503 | }, 3504 | "web3-eth-personal": { 3505 | "version": "1.0.0-beta.37", 3506 | "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.37.tgz", 3507 | "integrity": "sha512-B4dZpGbD+nGnn48i6nJBqrQ+HB7oDmd+Q3wGRKOsHSK5HRWO/KwYeA7wgwamMAElkut50lIsT9EJl4Apfk3G5Q==", 3508 | "requires": { 3509 | "web3-core": "1.0.0-beta.37", 3510 | "web3-core-helpers": "1.0.0-beta.37", 3511 | "web3-core-method": "1.0.0-beta.37", 3512 | "web3-net": "1.0.0-beta.37", 3513 | "web3-utils": "1.0.0-beta.37" 3514 | } 3515 | }, 3516 | "web3-net": { 3517 | "version": "1.0.0-beta.37", 3518 | "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.37.tgz", 3519 | "integrity": "sha512-xG/uBtMdDa1UMXw9KjDUgf3fXA/fDEJUYUS0TDn+U9PMgngA+UVECHNNvQTrVVDxEky38V3sahwIDiopNsQdsw==", 3520 | "requires": { 3521 | "web3-core": "1.0.0-beta.37", 3522 | "web3-core-method": "1.0.0-beta.37", 3523 | "web3-utils": "1.0.0-beta.37" 3524 | } 3525 | }, 3526 | "web3-providers-http": { 3527 | "version": "1.0.0-beta.37", 3528 | "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.37.tgz", 3529 | "integrity": "sha512-FM/1YDB1jtZuTo78habFj7S9tNHoqt0UipdyoQV29b8LkGKZV9Vs3is8L24hzuj1j/tbwkcAH+ewIseHwu0DTg==", 3530 | "requires": { 3531 | "web3-core-helpers": "1.0.0-beta.37", 3532 | "xhr2-cookies": "1.1.0" 3533 | } 3534 | }, 3535 | "web3-providers-ipc": { 3536 | "version": "1.0.0-beta.37", 3537 | "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.37.tgz", 3538 | "integrity": "sha512-NdRPRxYMIU0C3u18NI8u4bwbhI9pCg5nRgDGYcmSAx5uOBxiYcQy+hb0WkJRRhBoyIXJmy+s26FoH8904+UnPg==", 3539 | "requires": { 3540 | "oboe": "2.1.3", 3541 | "underscore": "1.8.3", 3542 | "web3-core-helpers": "1.0.0-beta.37" 3543 | } 3544 | }, 3545 | "web3-providers-ws": { 3546 | "version": "1.0.0-beta.37", 3547 | "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.37.tgz", 3548 | "integrity": "sha512-8p6ZLv+1JYa5Vs8oBn33Nn3VGFBbF+wVfO+b78RJS1Qf1uIOzjFVDk3XwYDD7rlz9G5BKpxhaQw+6EGQ7L02aw==", 3549 | "requires": { 3550 | "underscore": "1.8.3", 3551 | "web3-core-helpers": "1.0.0-beta.37", 3552 | "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2" 3553 | }, 3554 | "dependencies": { 3555 | "websocket": { 3556 | "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", 3557 | "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", 3558 | "requires": { 3559 | "debug": "^2.2.0", 3560 | "nan": "^2.3.3", 3561 | "typedarray-to-buffer": "^3.1.2", 3562 | "yaeti": "^0.0.6" 3563 | } 3564 | } 3565 | } 3566 | }, 3567 | "web3-shh": { 3568 | "version": "1.0.0-beta.37", 3569 | "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.37.tgz", 3570 | "integrity": "sha512-h5STG/xqZNQWtCLYOu7NiMqwqPea8SfkKQUPUFxXKIPVCFVKpHuQEwW1qcPQRJMLhlQIv17xuoUe1A+RzDNbrw==", 3571 | "requires": { 3572 | "web3-core": "1.0.0-beta.37", 3573 | "web3-core-method": "1.0.0-beta.37", 3574 | "web3-core-subscriptions": "1.0.0-beta.37", 3575 | "web3-net": "1.0.0-beta.37" 3576 | } 3577 | }, 3578 | "web3-utils": { 3579 | "version": "1.0.0-beta.37", 3580 | "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.37.tgz", 3581 | "integrity": "sha512-kA1fyhO8nKgU21wi30oJQ/ssvu+9srMdjOTKbHYbQe4ATPcr5YNwwrxG3Bcpbu1bEwRUVKHCkqi+wTvcAWBdlQ==", 3582 | "requires": { 3583 | "bn.js": "4.11.6", 3584 | "eth-lib": "0.1.27", 3585 | "ethjs-unit": "0.1.6", 3586 | "number-to-bn": "1.7.0", 3587 | "randomhex": "0.1.5", 3588 | "underscore": "1.8.3", 3589 | "utf8": "2.1.1" 3590 | }, 3591 | "dependencies": { 3592 | "bn.js": { 3593 | "version": "4.11.6", 3594 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 3595 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 3596 | } 3597 | } 3598 | }, 3599 | "websocket": { 3600 | "version": "1.0.28", 3601 | "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.28.tgz", 3602 | "integrity": "sha512-00y/20/80P7H4bCYkzuuvvfDvh+dgtXi5kzDf3UcZwN6boTYaKvsrtZ5lIYm1Gsg48siMErd9M4zjSYfYFHTrA==", 3603 | "requires": { 3604 | "debug": "^2.2.0", 3605 | "nan": "^2.11.0", 3606 | "typedarray-to-buffer": "^3.1.5", 3607 | "yaeti": "^0.0.6" 3608 | } 3609 | }, 3610 | "which": { 3611 | "version": "1.3.1", 3612 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3613 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3614 | "dev": true, 3615 | "requires": { 3616 | "isexe": "^2.0.0" 3617 | } 3618 | }, 3619 | "wordwrap": { 3620 | "version": "1.0.0", 3621 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", 3622 | "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", 3623 | "dev": true 3624 | }, 3625 | "wrappy": { 3626 | "version": "1.0.2", 3627 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3628 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 3629 | }, 3630 | "write": { 3631 | "version": "0.2.1", 3632 | "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", 3633 | "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", 3634 | "dev": true, 3635 | "requires": { 3636 | "mkdirp": "^0.5.1" 3637 | } 3638 | }, 3639 | "ws": { 3640 | "version": "3.3.3", 3641 | "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", 3642 | "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", 3643 | "requires": { 3644 | "async-limiter": "~1.0.0", 3645 | "safe-buffer": "~5.1.0", 3646 | "ultron": "~1.1.0" 3647 | } 3648 | }, 3649 | "xhr": { 3650 | "version": "2.5.0", 3651 | "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", 3652 | "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", 3653 | "requires": { 3654 | "global": "~4.3.0", 3655 | "is-function": "^1.0.1", 3656 | "parse-headers": "^2.0.0", 3657 | "xtend": "^4.0.0" 3658 | } 3659 | }, 3660 | "xhr-request": { 3661 | "version": "1.1.0", 3662 | "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", 3663 | "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", 3664 | "requires": { 3665 | "buffer-to-arraybuffer": "^0.0.5", 3666 | "object-assign": "^4.1.1", 3667 | "query-string": "^5.0.1", 3668 | "simple-get": "^2.7.0", 3669 | "timed-out": "^4.0.1", 3670 | "url-set-query": "^1.0.0", 3671 | "xhr": "^2.0.4" 3672 | } 3673 | }, 3674 | "xhr-request-promise": { 3675 | "version": "0.1.2", 3676 | "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", 3677 | "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", 3678 | "requires": { 3679 | "xhr-request": "^1.0.1" 3680 | } 3681 | }, 3682 | "xhr2-cookies": { 3683 | "version": "1.1.0", 3684 | "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", 3685 | "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", 3686 | "requires": { 3687 | "cookiejar": "^2.1.1" 3688 | } 3689 | }, 3690 | "xmlhttprequest": { 3691 | "version": "1.8.0", 3692 | "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", 3693 | "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" 3694 | }, 3695 | "xtend": { 3696 | "version": "4.0.1", 3697 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3698 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 3699 | }, 3700 | "yaeti": { 3701 | "version": "0.0.6", 3702 | "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", 3703 | "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" 3704 | }, 3705 | "yauzl": { 3706 | "version": "2.10.0", 3707 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 3708 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 3709 | "requires": { 3710 | "buffer-crc32": "~0.2.3", 3711 | "fd-slicer": "~1.1.0" 3712 | } 3713 | } 3714 | } 3715 | } 3716 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "SubscriptionContract", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "dotenv": "^6.0.0", 7 | "openzeppelin-solidity": "^2.1.2", 8 | "truffle-hdwallet-provider": "^1.0.0-web3one.1", 9 | "web3": "^1.0.0-beta.36" 10 | }, 11 | "devDependencies": { 12 | "eslint": "^5.12.1", 13 | "eslint-config-airbnb-base": "^13.1.0", 14 | "eslint-plugin-import": "^2.14.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /test/SubscriptionContract.test.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node, mocha */ 2 | /* global artifacts, contract, assert */ 3 | 4 | const Web3 = require('web3'); 5 | 6 | const SubscriptionContract = artifacts.require('SubscriptionContract'); 7 | const TestToken = artifacts.require('TestToken'); 8 | 9 | let tokenInstance; 10 | let subInstance; 11 | 12 | contract('SubscriptionContract', (accounts) => { 13 | it('Should deploy an instance of the TestToken contract', () => TestToken.deployed() 14 | .then((contractInstance) => { 15 | tokenInstance = contractInstance; 16 | })); 17 | 18 | it('Should give some tokens to account 1', () => tokenInstance.transfer(accounts[1], Web3.utils.toWei('10'))); 19 | 20 | it('Should deploy an instance of the SubscriptionContract contract', () => SubscriptionContract.deployed() 21 | .then((contractInstance) => { 22 | subInstance = contractInstance; 23 | })); 24 | 25 | it('Should define the token address', () => subInstance.updateTokenAddress(tokenInstance.address)); 26 | 27 | it('Should allow the sub contract to handle accounts 1 funds', () => tokenInstance.approve(subInstance.address, Web3.utils.toWei('10'), { 28 | from: accounts[1], 29 | })); 30 | 31 | it('Should create a new subscription for account 1', () => subInstance.createSubscription(1, { 32 | from: accounts[1], 33 | })); 34 | }); 35 | -------------------------------------------------------------------------------- /test/TestToken.test.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node, mocha */ 2 | /* global artifacts, contract, assert */ 3 | 4 | const Web3 = require('web3'); 5 | 6 | const TestToken = artifacts.require('TestToken'); 7 | 8 | let instance; 9 | 10 | contract('TestToken', (accounts) => { 11 | it('Should deploy an instance of the TestToken contract', () => TestToken.deployed() 12 | .then((contractInstance) => { 13 | instance = contractInstance; 14 | })); 15 | 16 | it('Should check the total supply of the token', () => instance.totalSupply() 17 | .then((totalSupply) => { 18 | assert.equal(totalSupply, Web3.utils.toWei('21000000'), 'Total supply is wrong'); 19 | })); 20 | 21 | it('Should check the balance of account 0', () => instance.balanceOf(accounts[0]) 22 | .then((balance) => { 23 | assert.equal(balance, Web3.utils.toWei('21000000'), 'Balance is wrong!'); 24 | })); 25 | }); 26 | -------------------------------------------------------------------------------- /truffle.js: -------------------------------------------------------------------------------- 1 | require('dotenv').config(); 2 | const HDWalletProvider = require('truffle-hdwallet-provider'); 3 | const Web3 = require('web3'); 4 | 5 | const mainnetUrl = `https://mainnet.infura.io/v3/${process.env.INFURA}`; 6 | const ropstenUrl = `https://ropsten.infura.io/v3/${process.env.INFURA}`; 7 | 8 | module.exports = { 9 | networks: { 10 | development: { 11 | host: '127.0.0.1', 12 | port: 8545, 13 | network_id: '*', 14 | gas: 6721975, 15 | gasPrice: Web3.utils.toWei('2', 'gwei'), 16 | }, 17 | ropsten: { 18 | provider() { 19 | return new HDWalletProvider(process.env.MNEMONIC, ropstenUrl, 0); 20 | }, 21 | network_id: 3, 22 | gasPrice: Web3.utils.toWei('2', 'gwei'), 23 | gas: 8000000, 24 | }, 25 | live: { 26 | provider() { 27 | return new HDWalletProvider(process.env.MNEMONIC, mainnetUrl, 0); 28 | }, 29 | network_id: 1, 30 | gasPrice: Web3.utils.toWei('2', 'gwei'), 31 | gas: 8000000, 32 | }, 33 | }, 34 | mocha: { 35 | useColors: true, 36 | }, 37 | compilers: { 38 | solc: { 39 | version: '0.5.0', 40 | settings: { 41 | optimizer: { 42 | enabled: true, 43 | runs: 200, 44 | }, 45 | }, 46 | }, 47 | }, 48 | }; 49 | --------------------------------------------------------------------------------