├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── src ├── index.ts └── lib │ └── SimpleOrderbook.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/ 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Simple Orderbook Demo 2 | 3 | This demo constructs and maintains a level 2 orderbook using the Hydro API. Using the SDK HydroWatcher, 4 | a websocket connection will be created, and the orderbook will be updated in real time. A mini 5 | representation of the orderbook will be printed to the console. 6 | 7 | To start the orderbook, use the following command: 8 | 9 | `ts-node src/index.ts [marketId]` 10 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "requires": true, 3 | "lockfileVersion": 1, 4 | "dependencies": { 5 | "@babel/runtime": { 6 | "version": "7.3.1", 7 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.1.tgz", 8 | "integrity": "sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==", 9 | "requires": { 10 | "regenerator-runtime": "^0.12.0" 11 | } 12 | }, 13 | "@hydro-protocol/sdk": { 14 | "version": "2.0.4", 15 | "resolved": "https://registry.npmjs.org/@hydro-protocol/sdk/-/sdk-2.0.4.tgz", 16 | "integrity": "sha512-YjJWRfxwcTX3W0WDdSlHIGAqOIjdyV2i0Ujfb+t8FZ9D8d+FveSkIwYBPmcSW6eVrLYtI4vNl5Y/lZb+zlzHbg==", 17 | "requires": { 18 | "@babel/runtime": "^7.3.1", 19 | "axios": "^0.18.0", 20 | "bignumber.js": "^6.0.0", 21 | "ethereumjs-tx": "^1.3.7", 22 | "ethereumjs-utils": "^5.2.5", 23 | "path": "^0.12.7", 24 | "web3": "^1.0.0-beta.37", 25 | "ws": "^5.1.1" 26 | } 27 | }, 28 | "@types/bintrees": { 29 | "version": "1.0.2", 30 | "resolved": "https://registry.npmjs.org/@types/bintrees/-/bintrees-1.0.2.tgz", 31 | "integrity": "sha512-Z0cSgna7s/1gmaXU16s/Yv9HQygVWIpQ85SSxaUg0jg+hOEdOb67zVvqSSAxQ/AUh7hN4phQ0QY8z9B5nHwe6w==", 32 | "dev": true 33 | }, 34 | "@types/node": { 35 | "version": "9.4.6", 36 | "resolved": "https://registry.npmjs.org/@types/node/-/node-9.4.6.tgz", 37 | "integrity": "sha512-CTUtLb6WqCCgp6P59QintjHWqzf4VL1uPA27bipLAPxFqrtK1gEYllePzTICGqQ8rYsCbpnsNypXjjDzGAAjEQ==", 38 | "dev": true 39 | }, 40 | "accepts": { 41 | "version": "1.3.5", 42 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", 43 | "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", 44 | "requires": { 45 | "mime-types": "~2.1.18", 46 | "negotiator": "0.6.1" 47 | } 48 | }, 49 | "aes-js": { 50 | "version": "3.0.0", 51 | "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", 52 | "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" 53 | }, 54 | "ajv": { 55 | "version": "6.7.0", 56 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", 57 | "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", 58 | "requires": { 59 | "fast-deep-equal": "^2.0.1", 60 | "fast-json-stable-stringify": "^2.0.0", 61 | "json-schema-traverse": "^0.4.1", 62 | "uri-js": "^4.2.2" 63 | } 64 | }, 65 | "ansi-styles": { 66 | "version": "3.2.1", 67 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 68 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 69 | "requires": { 70 | "color-convert": "^1.9.0" 71 | } 72 | }, 73 | "array-flatten": { 74 | "version": "1.1.1", 75 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", 76 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" 77 | }, 78 | "arrify": { 79 | "version": "1.0.1", 80 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", 81 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" 82 | }, 83 | "asn1": { 84 | "version": "0.2.4", 85 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", 86 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", 87 | "requires": { 88 | "safer-buffer": "~2.1.0" 89 | } 90 | }, 91 | "asn1.js": { 92 | "version": "4.10.1", 93 | "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", 94 | "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", 95 | "requires": { 96 | "bn.js": "^4.0.0", 97 | "inherits": "^2.0.1", 98 | "minimalistic-assert": "^1.0.0" 99 | } 100 | }, 101 | "assert-plus": { 102 | "version": "1.0.0", 103 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 104 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 105 | }, 106 | "async-limiter": { 107 | "version": "1.0.0", 108 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", 109 | "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" 110 | }, 111 | "asynckit": { 112 | "version": "0.4.0", 113 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 114 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 115 | }, 116 | "aws-sign2": { 117 | "version": "0.7.0", 118 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 119 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 120 | }, 121 | "aws4": { 122 | "version": "1.8.0", 123 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", 124 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" 125 | }, 126 | "axios": { 127 | "version": "0.18.0", 128 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", 129 | "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", 130 | "requires": { 131 | "follow-redirects": "^1.3.0", 132 | "is-buffer": "^1.1.5" 133 | } 134 | }, 135 | "base64-js": { 136 | "version": "1.3.0", 137 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", 138 | "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" 139 | }, 140 | "bcrypt-pbkdf": { 141 | "version": "1.0.2", 142 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", 143 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", 144 | "requires": { 145 | "tweetnacl": "^0.14.3" 146 | } 147 | }, 148 | "bignumber.js": { 149 | "version": "6.0.0", 150 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-6.0.0.tgz", 151 | "integrity": "sha512-x247jIuy60/+FtMRvscqfxtVHQf8AGx2hm9c6btkgC0x/hp9yt+teISNhvF8WlwRkCc5yF2fDECH8SIMe8j+GA==" 152 | }, 153 | "bindings": { 154 | "version": "1.4.0", 155 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.4.0.tgz", 156 | "integrity": "sha512-7znEVX22Djn+nYjxCWKDne0RRloa9XfYa84yk3s+HkE3LpDYZmhArYr9O9huBoHY3/oXispx5LorIX7Sl2CgSQ==", 157 | "requires": { 158 | "file-uri-to-path": "1.0.0" 159 | } 160 | }, 161 | "bintrees": { 162 | "version": "1.0.2", 163 | "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.2.tgz", 164 | "integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=" 165 | }, 166 | "bip66": { 167 | "version": "1.1.5", 168 | "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", 169 | "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", 170 | "requires": { 171 | "safe-buffer": "^5.0.1" 172 | } 173 | }, 174 | "bl": { 175 | "version": "1.2.2", 176 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", 177 | "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", 178 | "requires": { 179 | "readable-stream": "^2.3.5", 180 | "safe-buffer": "^5.1.1" 181 | } 182 | }, 183 | "bluebird": { 184 | "version": "3.5.3", 185 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", 186 | "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" 187 | }, 188 | "bn.js": { 189 | "version": "4.11.8", 190 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", 191 | "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" 192 | }, 193 | "body-parser": { 194 | "version": "1.18.3", 195 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", 196 | "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", 197 | "requires": { 198 | "bytes": "3.0.0", 199 | "content-type": "~1.0.4", 200 | "debug": "2.6.9", 201 | "depd": "~1.1.2", 202 | "http-errors": "~1.6.3", 203 | "iconv-lite": "0.4.23", 204 | "on-finished": "~2.3.0", 205 | "qs": "6.5.2", 206 | "raw-body": "2.3.3", 207 | "type-is": "~1.6.16" 208 | }, 209 | "dependencies": { 210 | "debug": { 211 | "version": "2.6.9", 212 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 213 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 214 | "requires": { 215 | "ms": "2.0.0" 216 | } 217 | } 218 | } 219 | }, 220 | "brorand": { 221 | "version": "1.1.0", 222 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 223 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" 224 | }, 225 | "browserify-aes": { 226 | "version": "1.2.0", 227 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", 228 | "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", 229 | "requires": { 230 | "buffer-xor": "^1.0.3", 231 | "cipher-base": "^1.0.0", 232 | "create-hash": "^1.1.0", 233 | "evp_bytestokey": "^1.0.3", 234 | "inherits": "^2.0.1", 235 | "safe-buffer": "^5.0.1" 236 | } 237 | }, 238 | "browserify-cipher": { 239 | "version": "1.0.1", 240 | "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", 241 | "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", 242 | "requires": { 243 | "browserify-aes": "^1.0.4", 244 | "browserify-des": "^1.0.0", 245 | "evp_bytestokey": "^1.0.0" 246 | } 247 | }, 248 | "browserify-des": { 249 | "version": "1.0.2", 250 | "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", 251 | "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", 252 | "requires": { 253 | "cipher-base": "^1.0.1", 254 | "des.js": "^1.0.0", 255 | "inherits": "^2.0.1", 256 | "safe-buffer": "^5.1.2" 257 | } 258 | }, 259 | "browserify-rsa": { 260 | "version": "4.0.1", 261 | "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", 262 | "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", 263 | "requires": { 264 | "bn.js": "^4.1.0", 265 | "randombytes": "^2.0.1" 266 | } 267 | }, 268 | "browserify-sha3": { 269 | "version": "0.0.4", 270 | "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz", 271 | "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=", 272 | "requires": { 273 | "js-sha3": "^0.6.1", 274 | "safe-buffer": "^5.1.1" 275 | } 276 | }, 277 | "browserify-sign": { 278 | "version": "4.0.4", 279 | "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", 280 | "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", 281 | "requires": { 282 | "bn.js": "^4.1.1", 283 | "browserify-rsa": "^4.0.0", 284 | "create-hash": "^1.1.0", 285 | "create-hmac": "^1.1.2", 286 | "elliptic": "^6.0.0", 287 | "inherits": "^2.0.1", 288 | "parse-asn1": "^5.0.0" 289 | } 290 | }, 291 | "buffer": { 292 | "version": "5.2.1", 293 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", 294 | "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", 295 | "requires": { 296 | "base64-js": "^1.0.2", 297 | "ieee754": "^1.1.4" 298 | } 299 | }, 300 | "buffer-alloc": { 301 | "version": "1.2.0", 302 | "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", 303 | "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", 304 | "requires": { 305 | "buffer-alloc-unsafe": "^1.1.0", 306 | "buffer-fill": "^1.0.0" 307 | } 308 | }, 309 | "buffer-alloc-unsafe": { 310 | "version": "1.1.0", 311 | "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", 312 | "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" 313 | }, 314 | "buffer-crc32": { 315 | "version": "0.2.13", 316 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 317 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" 318 | }, 319 | "buffer-fill": { 320 | "version": "1.0.0", 321 | "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", 322 | "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" 323 | }, 324 | "buffer-from": { 325 | "version": "1.0.0", 326 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", 327 | "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==" 328 | }, 329 | "buffer-to-arraybuffer": { 330 | "version": "0.0.5", 331 | "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", 332 | "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" 333 | }, 334 | "buffer-xor": { 335 | "version": "1.0.3", 336 | "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", 337 | "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" 338 | }, 339 | "bytes": { 340 | "version": "3.0.0", 341 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", 342 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" 343 | }, 344 | "caseless": { 345 | "version": "0.12.0", 346 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 347 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 348 | }, 349 | "chalk": { 350 | "version": "2.4.1", 351 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", 352 | "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", 353 | "requires": { 354 | "ansi-styles": "^3.2.1", 355 | "escape-string-regexp": "^1.0.5", 356 | "supports-color": "^5.3.0" 357 | } 358 | }, 359 | "chownr": { 360 | "version": "1.1.1", 361 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", 362 | "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" 363 | }, 364 | "cipher-base": { 365 | "version": "1.0.4", 366 | "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", 367 | "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", 368 | "requires": { 369 | "inherits": "^2.0.1", 370 | "safe-buffer": "^5.0.1" 371 | } 372 | }, 373 | "color-convert": { 374 | "version": "1.9.1", 375 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 376 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 377 | "requires": { 378 | "color-name": "^1.1.1" 379 | } 380 | }, 381 | "color-name": { 382 | "version": "1.1.3", 383 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 384 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" 385 | }, 386 | "combined-stream": { 387 | "version": "1.0.7", 388 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", 389 | "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", 390 | "requires": { 391 | "delayed-stream": "~1.0.0" 392 | } 393 | }, 394 | "commander": { 395 | "version": "2.8.1", 396 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 397 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 398 | "requires": { 399 | "graceful-readlink": ">= 1.0.0" 400 | } 401 | }, 402 | "content-disposition": { 403 | "version": "0.5.2", 404 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", 405 | "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" 406 | }, 407 | "content-type": { 408 | "version": "1.0.4", 409 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", 410 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" 411 | }, 412 | "cookie": { 413 | "version": "0.3.1", 414 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 415 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" 416 | }, 417 | "cookie-signature": { 418 | "version": "1.0.6", 419 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", 420 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" 421 | }, 422 | "cookiejar": { 423 | "version": "2.1.2", 424 | "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", 425 | "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" 426 | }, 427 | "core-util-is": { 428 | "version": "1.0.2", 429 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 430 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 431 | }, 432 | "cors": { 433 | "version": "2.8.5", 434 | "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", 435 | "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", 436 | "requires": { 437 | "object-assign": "^4", 438 | "vary": "^1" 439 | } 440 | }, 441 | "create-ecdh": { 442 | "version": "4.0.3", 443 | "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", 444 | "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", 445 | "requires": { 446 | "bn.js": "^4.1.0", 447 | "elliptic": "^6.0.0" 448 | } 449 | }, 450 | "create-hash": { 451 | "version": "1.2.0", 452 | "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", 453 | "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", 454 | "requires": { 455 | "cipher-base": "^1.0.1", 456 | "inherits": "^2.0.1", 457 | "md5.js": "^1.3.4", 458 | "ripemd160": "^2.0.1", 459 | "sha.js": "^2.4.0" 460 | } 461 | }, 462 | "create-hmac": { 463 | "version": "1.1.7", 464 | "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", 465 | "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", 466 | "requires": { 467 | "cipher-base": "^1.0.3", 468 | "create-hash": "^1.1.0", 469 | "inherits": "^2.0.1", 470 | "ripemd160": "^2.0.0", 471 | "safe-buffer": "^5.0.1", 472 | "sha.js": "^2.4.8" 473 | } 474 | }, 475 | "crypto-browserify": { 476 | "version": "3.12.0", 477 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", 478 | "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", 479 | "requires": { 480 | "browserify-cipher": "^1.0.0", 481 | "browserify-sign": "^4.0.0", 482 | "create-ecdh": "^4.0.0", 483 | "create-hash": "^1.1.0", 484 | "create-hmac": "^1.1.0", 485 | "diffie-hellman": "^5.0.0", 486 | "inherits": "^2.0.1", 487 | "pbkdf2": "^3.0.3", 488 | "public-encrypt": "^4.0.0", 489 | "randombytes": "^2.0.0", 490 | "randomfill": "^1.0.3" 491 | } 492 | }, 493 | "dashdash": { 494 | "version": "1.14.1", 495 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 496 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 497 | "requires": { 498 | "assert-plus": "^1.0.0" 499 | } 500 | }, 501 | "debug": { 502 | "version": "3.1.0", 503 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 504 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 505 | "requires": { 506 | "ms": "2.0.0" 507 | } 508 | }, 509 | "decode-uri-component": { 510 | "version": "0.2.0", 511 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", 512 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" 513 | }, 514 | "decompress": { 515 | "version": "4.2.0", 516 | "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", 517 | "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", 518 | "requires": { 519 | "decompress-tar": "^4.0.0", 520 | "decompress-tarbz2": "^4.0.0", 521 | "decompress-targz": "^4.0.0", 522 | "decompress-unzip": "^4.0.1", 523 | "graceful-fs": "^4.1.10", 524 | "make-dir": "^1.0.0", 525 | "pify": "^2.3.0", 526 | "strip-dirs": "^2.0.0" 527 | } 528 | }, 529 | "decompress-response": { 530 | "version": "3.3.0", 531 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", 532 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", 533 | "requires": { 534 | "mimic-response": "^1.0.0" 535 | } 536 | }, 537 | "decompress-tar": { 538 | "version": "4.1.1", 539 | "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", 540 | "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", 541 | "requires": { 542 | "file-type": "^5.2.0", 543 | "is-stream": "^1.1.0", 544 | "tar-stream": "^1.5.2" 545 | } 546 | }, 547 | "decompress-tarbz2": { 548 | "version": "4.1.1", 549 | "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", 550 | "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", 551 | "requires": { 552 | "decompress-tar": "^4.1.0", 553 | "file-type": "^6.1.0", 554 | "is-stream": "^1.1.0", 555 | "seek-bzip": "^1.0.5", 556 | "unbzip2-stream": "^1.0.9" 557 | }, 558 | "dependencies": { 559 | "file-type": { 560 | "version": "6.2.0", 561 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", 562 | "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" 563 | } 564 | } 565 | }, 566 | "decompress-targz": { 567 | "version": "4.1.1", 568 | "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", 569 | "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", 570 | "requires": { 571 | "decompress-tar": "^4.1.1", 572 | "file-type": "^5.2.0", 573 | "is-stream": "^1.1.0" 574 | } 575 | }, 576 | "decompress-unzip": { 577 | "version": "4.0.1", 578 | "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", 579 | "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", 580 | "requires": { 581 | "file-type": "^3.8.0", 582 | "get-stream": "^2.2.0", 583 | "pify": "^2.3.0", 584 | "yauzl": "^2.4.2" 585 | }, 586 | "dependencies": { 587 | "file-type": { 588 | "version": "3.9.0", 589 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", 590 | "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" 591 | } 592 | } 593 | }, 594 | "delayed-stream": { 595 | "version": "1.0.0", 596 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 597 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 598 | }, 599 | "depd": { 600 | "version": "1.1.2", 601 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", 602 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" 603 | }, 604 | "des.js": { 605 | "version": "1.0.0", 606 | "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", 607 | "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", 608 | "requires": { 609 | "inherits": "^2.0.1", 610 | "minimalistic-assert": "^1.0.0" 611 | } 612 | }, 613 | "destroy": { 614 | "version": "1.0.4", 615 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", 616 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" 617 | }, 618 | "diff": { 619 | "version": "3.5.0", 620 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", 621 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==" 622 | }, 623 | "diffie-hellman": { 624 | "version": "5.0.3", 625 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", 626 | "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", 627 | "requires": { 628 | "bn.js": "^4.1.0", 629 | "miller-rabin": "^4.0.0", 630 | "randombytes": "^2.0.0" 631 | } 632 | }, 633 | "dom-walk": { 634 | "version": "0.1.1", 635 | "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", 636 | "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" 637 | }, 638 | "drbg.js": { 639 | "version": "1.0.1", 640 | "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", 641 | "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", 642 | "requires": { 643 | "browserify-aes": "^1.0.6", 644 | "create-hash": "^1.1.2", 645 | "create-hmac": "^1.1.4" 646 | } 647 | }, 648 | "duplexer3": { 649 | "version": "0.1.4", 650 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 651 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" 652 | }, 653 | "ecc-jsbn": { 654 | "version": "0.1.2", 655 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", 656 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", 657 | "requires": { 658 | "jsbn": "~0.1.0", 659 | "safer-buffer": "^2.1.0" 660 | } 661 | }, 662 | "ee-first": { 663 | "version": "1.1.1", 664 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", 665 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" 666 | }, 667 | "elliptic": { 668 | "version": "6.4.1", 669 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", 670 | "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", 671 | "requires": { 672 | "bn.js": "^4.4.0", 673 | "brorand": "^1.0.1", 674 | "hash.js": "^1.0.0", 675 | "hmac-drbg": "^1.0.0", 676 | "inherits": "^2.0.1", 677 | "minimalistic-assert": "^1.0.0", 678 | "minimalistic-crypto-utils": "^1.0.0" 679 | } 680 | }, 681 | "encodeurl": { 682 | "version": "1.0.2", 683 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", 684 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" 685 | }, 686 | "end-of-stream": { 687 | "version": "1.4.1", 688 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", 689 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", 690 | "requires": { 691 | "once": "^1.4.0" 692 | } 693 | }, 694 | "escape-html": { 695 | "version": "1.0.3", 696 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", 697 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" 698 | }, 699 | "escape-string-regexp": { 700 | "version": "1.0.5", 701 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 702 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" 703 | }, 704 | "etag": { 705 | "version": "1.8.1", 706 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", 707 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" 708 | }, 709 | "eth-ens-namehash": { 710 | "version": "2.0.8", 711 | "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", 712 | "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=", 713 | "requires": { 714 | "idna-uts46-hx": "^2.3.1", 715 | "js-sha3": "^0.5.7" 716 | }, 717 | "dependencies": { 718 | "js-sha3": { 719 | "version": "0.5.7", 720 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", 721 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" 722 | } 723 | } 724 | }, 725 | "eth-lib": { 726 | "version": "0.1.27", 727 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz", 728 | "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==", 729 | "requires": { 730 | "bn.js": "^4.11.6", 731 | "elliptic": "^6.4.0", 732 | "keccakjs": "^0.2.1", 733 | "nano-json-stream-parser": "^0.1.2", 734 | "servify": "^0.1.12", 735 | "ws": "^3.0.0", 736 | "xhr-request-promise": "^0.1.2" 737 | }, 738 | "dependencies": { 739 | "ws": { 740 | "version": "3.3.3", 741 | "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", 742 | "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", 743 | "requires": { 744 | "async-limiter": "~1.0.0", 745 | "safe-buffer": "~5.1.0", 746 | "ultron": "~1.1.0" 747 | } 748 | } 749 | } 750 | }, 751 | "ethereum-common": { 752 | "version": "0.0.18", 753 | "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", 754 | "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" 755 | }, 756 | "ethereumjs-tx": { 757 | "version": "1.3.7", 758 | "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz", 759 | "integrity": "sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA==", 760 | "requires": { 761 | "ethereum-common": "^0.0.18", 762 | "ethereumjs-util": "^5.0.0" 763 | } 764 | }, 765 | "ethereumjs-util": { 766 | "version": "5.2.0", 767 | "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz", 768 | "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==", 769 | "requires": { 770 | "bn.js": "^4.11.0", 771 | "create-hash": "^1.1.2", 772 | "ethjs-util": "^0.1.3", 773 | "keccak": "^1.0.2", 774 | "rlp": "^2.0.0", 775 | "safe-buffer": "^5.1.1", 776 | "secp256k1": "^3.0.1" 777 | } 778 | }, 779 | "ethereumjs-utils": { 780 | "version": "5.2.5", 781 | "resolved": "https://registry.npmjs.org/ethereumjs-utils/-/ethereumjs-utils-5.2.5.tgz", 782 | "integrity": "sha512-IkXL26c21kUKT5NQO4NFgeuYwXtqCD4dmiSWc/vivGNGwfYhEn2lYwmVIcbqVKS9yJfVEmrolWnQBuxEmTinIg==", 783 | "requires": { 784 | "bn.js": "^4.11.0", 785 | "create-hash": "^1.1.2", 786 | "ethjs-util": "^0.1.3", 787 | "keccak": "^1.0.2", 788 | "rlp": "^2.0.0", 789 | "safe-buffer": "^5.1.1", 790 | "secp256k1": "^3.0.1" 791 | } 792 | }, 793 | "ethers": { 794 | "version": "4.0.23", 795 | "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.23.tgz", 796 | "integrity": "sha512-9IwYV3LuESPF2cgwF42SL2vqrwWEsA2+15WVtO2dZb1F/twARaCWb7PrgoODldj+bmwKmUv3rG9PFfBkbumPwA==", 797 | "requires": { 798 | "@types/node": "^10.3.2", 799 | "aes-js": "3.0.0", 800 | "bn.js": "^4.4.0", 801 | "elliptic": "6.3.3", 802 | "hash.js": "1.1.3", 803 | "js-sha3": "0.5.7", 804 | "scrypt-js": "2.0.4", 805 | "setimmediate": "1.0.4", 806 | "uuid": "2.0.1", 807 | "xmlhttprequest": "1.8.0" 808 | }, 809 | "dependencies": { 810 | "@types/node": { 811 | "version": "10.12.18", 812 | "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.18.tgz", 813 | "integrity": "sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==" 814 | }, 815 | "elliptic": { 816 | "version": "6.3.3", 817 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", 818 | "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", 819 | "requires": { 820 | "bn.js": "^4.4.0", 821 | "brorand": "^1.0.1", 822 | "hash.js": "^1.0.0", 823 | "inherits": "^2.0.1" 824 | } 825 | }, 826 | "hash.js": { 827 | "version": "1.1.3", 828 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", 829 | "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", 830 | "requires": { 831 | "inherits": "^2.0.3", 832 | "minimalistic-assert": "^1.0.0" 833 | } 834 | }, 835 | "js-sha3": { 836 | "version": "0.5.7", 837 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", 838 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" 839 | }, 840 | "setimmediate": { 841 | "version": "1.0.4", 842 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", 843 | "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" 844 | }, 845 | "uuid": { 846 | "version": "2.0.1", 847 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", 848 | "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" 849 | } 850 | } 851 | }, 852 | "ethjs-unit": { 853 | "version": "0.1.6", 854 | "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", 855 | "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", 856 | "requires": { 857 | "bn.js": "4.11.6", 858 | "number-to-bn": "1.7.0" 859 | }, 860 | "dependencies": { 861 | "bn.js": { 862 | "version": "4.11.6", 863 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 864 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 865 | } 866 | } 867 | }, 868 | "ethjs-util": { 869 | "version": "0.1.6", 870 | "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz", 871 | "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==", 872 | "requires": { 873 | "is-hex-prefixed": "1.0.0", 874 | "strip-hex-prefix": "1.0.0" 875 | } 876 | }, 877 | "eventemitter3": { 878 | "version": "3.1.0", 879 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", 880 | "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" 881 | }, 882 | "evp_bytestokey": { 883 | "version": "1.0.3", 884 | "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", 885 | "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", 886 | "requires": { 887 | "md5.js": "^1.3.4", 888 | "safe-buffer": "^5.1.1" 889 | } 890 | }, 891 | "express": { 892 | "version": "4.16.4", 893 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", 894 | "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", 895 | "requires": { 896 | "accepts": "~1.3.5", 897 | "array-flatten": "1.1.1", 898 | "body-parser": "1.18.3", 899 | "content-disposition": "0.5.2", 900 | "content-type": "~1.0.4", 901 | "cookie": "0.3.1", 902 | "cookie-signature": "1.0.6", 903 | "debug": "2.6.9", 904 | "depd": "~1.1.2", 905 | "encodeurl": "~1.0.2", 906 | "escape-html": "~1.0.3", 907 | "etag": "~1.8.1", 908 | "finalhandler": "1.1.1", 909 | "fresh": "0.5.2", 910 | "merge-descriptors": "1.0.1", 911 | "methods": "~1.1.2", 912 | "on-finished": "~2.3.0", 913 | "parseurl": "~1.3.2", 914 | "path-to-regexp": "0.1.7", 915 | "proxy-addr": "~2.0.4", 916 | "qs": "6.5.2", 917 | "range-parser": "~1.2.0", 918 | "safe-buffer": "5.1.2", 919 | "send": "0.16.2", 920 | "serve-static": "1.13.2", 921 | "setprototypeof": "1.1.0", 922 | "statuses": "~1.4.0", 923 | "type-is": "~1.6.16", 924 | "utils-merge": "1.0.1", 925 | "vary": "~1.1.2" 926 | }, 927 | "dependencies": { 928 | "debug": { 929 | "version": "2.6.9", 930 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 931 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 932 | "requires": { 933 | "ms": "2.0.0" 934 | } 935 | }, 936 | "statuses": { 937 | "version": "1.4.0", 938 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 939 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 940 | } 941 | } 942 | }, 943 | "extend": { 944 | "version": "3.0.2", 945 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 946 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 947 | }, 948 | "extsprintf": { 949 | "version": "1.3.0", 950 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 951 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 952 | }, 953 | "fast-deep-equal": { 954 | "version": "2.0.1", 955 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", 956 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" 957 | }, 958 | "fast-json-stable-stringify": { 959 | "version": "2.0.0", 960 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 961 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 962 | }, 963 | "fd-slicer": { 964 | "version": "1.1.0", 965 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", 966 | "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", 967 | "requires": { 968 | "pend": "~1.2.0" 969 | } 970 | }, 971 | "file-type": { 972 | "version": "5.2.0", 973 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", 974 | "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" 975 | }, 976 | "file-uri-to-path": { 977 | "version": "1.0.0", 978 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 979 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" 980 | }, 981 | "finalhandler": { 982 | "version": "1.1.1", 983 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", 984 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", 985 | "requires": { 986 | "debug": "2.6.9", 987 | "encodeurl": "~1.0.2", 988 | "escape-html": "~1.0.3", 989 | "on-finished": "~2.3.0", 990 | "parseurl": "~1.3.2", 991 | "statuses": "~1.4.0", 992 | "unpipe": "~1.0.0" 993 | }, 994 | "dependencies": { 995 | "debug": { 996 | "version": "2.6.9", 997 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 998 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 999 | "requires": { 1000 | "ms": "2.0.0" 1001 | } 1002 | }, 1003 | "statuses": { 1004 | "version": "1.4.0", 1005 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 1006 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 1007 | } 1008 | } 1009 | }, 1010 | "follow-redirects": { 1011 | "version": "1.6.1", 1012 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.6.1.tgz", 1013 | "integrity": "sha512-t2JCjbzxQpWvbhts3l6SH1DKzSrx8a+SsaVf4h6bG4kOXUuPYS/kg2Lr4gQSb7eemaHqJkOThF1BGyjlUkO1GQ==", 1014 | "requires": { 1015 | "debug": "=3.1.0" 1016 | } 1017 | }, 1018 | "for-each": { 1019 | "version": "0.3.3", 1020 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 1021 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 1022 | "requires": { 1023 | "is-callable": "^1.1.3" 1024 | } 1025 | }, 1026 | "forever-agent": { 1027 | "version": "0.6.1", 1028 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1029 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 1030 | }, 1031 | "form-data": { 1032 | "version": "2.3.3", 1033 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", 1034 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", 1035 | "requires": { 1036 | "asynckit": "^0.4.0", 1037 | "combined-stream": "^1.0.6", 1038 | "mime-types": "^2.1.12" 1039 | } 1040 | }, 1041 | "forwarded": { 1042 | "version": "0.1.2", 1043 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", 1044 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" 1045 | }, 1046 | "fresh": { 1047 | "version": "0.5.2", 1048 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", 1049 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" 1050 | }, 1051 | "fs-constants": { 1052 | "version": "1.0.0", 1053 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 1054 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" 1055 | }, 1056 | "fs-extra": { 1057 | "version": "4.0.3", 1058 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", 1059 | "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", 1060 | "requires": { 1061 | "graceful-fs": "^4.1.2", 1062 | "jsonfile": "^4.0.0", 1063 | "universalify": "^0.1.0" 1064 | } 1065 | }, 1066 | "fs-minipass": { 1067 | "version": "1.2.5", 1068 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", 1069 | "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", 1070 | "requires": { 1071 | "minipass": "^2.2.1" 1072 | } 1073 | }, 1074 | "get-stream": { 1075 | "version": "2.3.1", 1076 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", 1077 | "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", 1078 | "requires": { 1079 | "object-assign": "^4.0.1", 1080 | "pinkie-promise": "^2.0.0" 1081 | } 1082 | }, 1083 | "getpass": { 1084 | "version": "0.1.7", 1085 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1086 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1087 | "requires": { 1088 | "assert-plus": "^1.0.0" 1089 | } 1090 | }, 1091 | "global": { 1092 | "version": "4.3.2", 1093 | "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", 1094 | "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", 1095 | "requires": { 1096 | "min-document": "^2.19.0", 1097 | "process": "~0.5.1" 1098 | }, 1099 | "dependencies": { 1100 | "process": { 1101 | "version": "0.5.2", 1102 | "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", 1103 | "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" 1104 | } 1105 | } 1106 | }, 1107 | "got": { 1108 | "version": "7.1.0", 1109 | "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", 1110 | "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", 1111 | "requires": { 1112 | "decompress-response": "^3.2.0", 1113 | "duplexer3": "^0.1.4", 1114 | "get-stream": "^3.0.0", 1115 | "is-plain-obj": "^1.1.0", 1116 | "is-retry-allowed": "^1.0.0", 1117 | "is-stream": "^1.0.0", 1118 | "isurl": "^1.0.0-alpha5", 1119 | "lowercase-keys": "^1.0.0", 1120 | "p-cancelable": "^0.3.0", 1121 | "p-timeout": "^1.1.1", 1122 | "safe-buffer": "^5.0.1", 1123 | "timed-out": "^4.0.0", 1124 | "url-parse-lax": "^1.0.0", 1125 | "url-to-options": "^1.0.1" 1126 | }, 1127 | "dependencies": { 1128 | "get-stream": { 1129 | "version": "3.0.0", 1130 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1131 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" 1132 | } 1133 | } 1134 | }, 1135 | "graceful-fs": { 1136 | "version": "4.1.15", 1137 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", 1138 | "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" 1139 | }, 1140 | "graceful-readlink": { 1141 | "version": "1.0.1", 1142 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1143 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" 1144 | }, 1145 | "har-schema": { 1146 | "version": "2.0.0", 1147 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1148 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 1149 | }, 1150 | "har-validator": { 1151 | "version": "5.1.3", 1152 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", 1153 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", 1154 | "requires": { 1155 | "ajv": "^6.5.5", 1156 | "har-schema": "^2.0.0" 1157 | } 1158 | }, 1159 | "has-flag": { 1160 | "version": "3.0.0", 1161 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1162 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" 1163 | }, 1164 | "has-symbol-support-x": { 1165 | "version": "1.4.2", 1166 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", 1167 | "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" 1168 | }, 1169 | "has-to-string-tag-x": { 1170 | "version": "1.4.1", 1171 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 1172 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 1173 | "requires": { 1174 | "has-symbol-support-x": "^1.4.1" 1175 | } 1176 | }, 1177 | "hash-base": { 1178 | "version": "3.0.4", 1179 | "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", 1180 | "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", 1181 | "requires": { 1182 | "inherits": "^2.0.1", 1183 | "safe-buffer": "^5.0.1" 1184 | } 1185 | }, 1186 | "hash.js": { 1187 | "version": "1.1.7", 1188 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 1189 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 1190 | "requires": { 1191 | "inherits": "^2.0.3", 1192 | "minimalistic-assert": "^1.0.1" 1193 | } 1194 | }, 1195 | "hmac-drbg": { 1196 | "version": "1.0.1", 1197 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1198 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 1199 | "requires": { 1200 | "hash.js": "^1.0.3", 1201 | "minimalistic-assert": "^1.0.0", 1202 | "minimalistic-crypto-utils": "^1.0.1" 1203 | } 1204 | }, 1205 | "http-errors": { 1206 | "version": "1.6.3", 1207 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", 1208 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", 1209 | "requires": { 1210 | "depd": "~1.1.2", 1211 | "inherits": "2.0.3", 1212 | "setprototypeof": "1.1.0", 1213 | "statuses": ">= 1.4.0 < 2" 1214 | } 1215 | }, 1216 | "http-https": { 1217 | "version": "1.0.0", 1218 | "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz", 1219 | "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs=" 1220 | }, 1221 | "http-signature": { 1222 | "version": "1.2.0", 1223 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1224 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1225 | "requires": { 1226 | "assert-plus": "^1.0.0", 1227 | "jsprim": "^1.2.2", 1228 | "sshpk": "^1.7.0" 1229 | } 1230 | }, 1231 | "iconv-lite": { 1232 | "version": "0.4.23", 1233 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", 1234 | "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", 1235 | "requires": { 1236 | "safer-buffer": ">= 2.1.2 < 3" 1237 | } 1238 | }, 1239 | "idna-uts46-hx": { 1240 | "version": "2.3.1", 1241 | "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", 1242 | "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", 1243 | "requires": { 1244 | "punycode": "2.1.0" 1245 | }, 1246 | "dependencies": { 1247 | "punycode": { 1248 | "version": "2.1.0", 1249 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", 1250 | "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=" 1251 | } 1252 | } 1253 | }, 1254 | "ieee754": { 1255 | "version": "1.1.12", 1256 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", 1257 | "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" 1258 | }, 1259 | "inherits": { 1260 | "version": "2.0.3", 1261 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1262 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" 1263 | }, 1264 | "ipaddr.js": { 1265 | "version": "1.8.0", 1266 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", 1267 | "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" 1268 | }, 1269 | "is-buffer": { 1270 | "version": "1.1.6", 1271 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1272 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1273 | }, 1274 | "is-callable": { 1275 | "version": "1.1.4", 1276 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 1277 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" 1278 | }, 1279 | "is-function": { 1280 | "version": "1.0.1", 1281 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", 1282 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" 1283 | }, 1284 | "is-hex-prefixed": { 1285 | "version": "1.0.0", 1286 | "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", 1287 | "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" 1288 | }, 1289 | "is-natural-number": { 1290 | "version": "4.0.1", 1291 | "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", 1292 | "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" 1293 | }, 1294 | "is-object": { 1295 | "version": "1.0.1", 1296 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 1297 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" 1298 | }, 1299 | "is-plain-obj": { 1300 | "version": "1.1.0", 1301 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", 1302 | "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" 1303 | }, 1304 | "is-retry-allowed": { 1305 | "version": "1.1.0", 1306 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 1307 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" 1308 | }, 1309 | "is-stream": { 1310 | "version": "1.1.0", 1311 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1312 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" 1313 | }, 1314 | "is-typedarray": { 1315 | "version": "1.0.0", 1316 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1317 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 1318 | }, 1319 | "isarray": { 1320 | "version": "1.0.0", 1321 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1322 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" 1323 | }, 1324 | "isstream": { 1325 | "version": "0.1.2", 1326 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1327 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 1328 | }, 1329 | "isurl": { 1330 | "version": "1.0.0", 1331 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 1332 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 1333 | "requires": { 1334 | "has-to-string-tag-x": "^1.2.0", 1335 | "is-object": "^1.0.1" 1336 | } 1337 | }, 1338 | "js-sha3": { 1339 | "version": "0.6.1", 1340 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz", 1341 | "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA=" 1342 | }, 1343 | "jsbn": { 1344 | "version": "0.1.1", 1345 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1346 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" 1347 | }, 1348 | "json-schema": { 1349 | "version": "0.2.3", 1350 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 1351 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 1352 | }, 1353 | "json-schema-traverse": { 1354 | "version": "0.4.1", 1355 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1356 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" 1357 | }, 1358 | "json-stringify-safe": { 1359 | "version": "5.0.1", 1360 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 1361 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 1362 | }, 1363 | "jsonfile": { 1364 | "version": "4.0.0", 1365 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1366 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 1367 | "requires": { 1368 | "graceful-fs": "^4.1.6" 1369 | } 1370 | }, 1371 | "jsprim": { 1372 | "version": "1.4.1", 1373 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 1374 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 1375 | "requires": { 1376 | "assert-plus": "1.0.0", 1377 | "extsprintf": "1.3.0", 1378 | "json-schema": "0.2.3", 1379 | "verror": "1.10.0" 1380 | } 1381 | }, 1382 | "keccak": { 1383 | "version": "1.4.0", 1384 | "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", 1385 | "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", 1386 | "requires": { 1387 | "bindings": "^1.2.1", 1388 | "inherits": "^2.0.3", 1389 | "nan": "^2.2.1", 1390 | "safe-buffer": "^5.1.0" 1391 | } 1392 | }, 1393 | "keccakjs": { 1394 | "version": "0.2.3", 1395 | "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz", 1396 | "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==", 1397 | "requires": { 1398 | "browserify-sha3": "^0.0.4", 1399 | "sha3": "^1.2.2" 1400 | } 1401 | }, 1402 | "lodash": { 1403 | "version": "4.17.11", 1404 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", 1405 | "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" 1406 | }, 1407 | "lowercase-keys": { 1408 | "version": "1.0.1", 1409 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", 1410 | "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" 1411 | }, 1412 | "make-dir": { 1413 | "version": "1.3.0", 1414 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", 1415 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", 1416 | "requires": { 1417 | "pify": "^3.0.0" 1418 | }, 1419 | "dependencies": { 1420 | "pify": { 1421 | "version": "3.0.0", 1422 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 1423 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" 1424 | } 1425 | } 1426 | }, 1427 | "make-error": { 1428 | "version": "1.3.4", 1429 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz", 1430 | "integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==" 1431 | }, 1432 | "md5.js": { 1433 | "version": "1.3.5", 1434 | "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", 1435 | "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", 1436 | "requires": { 1437 | "hash-base": "^3.0.0", 1438 | "inherits": "^2.0.1", 1439 | "safe-buffer": "^5.1.2" 1440 | } 1441 | }, 1442 | "media-typer": { 1443 | "version": "0.3.0", 1444 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", 1445 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" 1446 | }, 1447 | "merge-descriptors": { 1448 | "version": "1.0.1", 1449 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", 1450 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" 1451 | }, 1452 | "methods": { 1453 | "version": "1.1.2", 1454 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 1455 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" 1456 | }, 1457 | "miller-rabin": { 1458 | "version": "4.0.1", 1459 | "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", 1460 | "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", 1461 | "requires": { 1462 | "bn.js": "^4.0.0", 1463 | "brorand": "^1.0.1" 1464 | } 1465 | }, 1466 | "mime": { 1467 | "version": "1.4.1", 1468 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", 1469 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" 1470 | }, 1471 | "mime-db": { 1472 | "version": "1.37.0", 1473 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", 1474 | "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" 1475 | }, 1476 | "mime-types": { 1477 | "version": "2.1.21", 1478 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", 1479 | "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", 1480 | "requires": { 1481 | "mime-db": "~1.37.0" 1482 | } 1483 | }, 1484 | "mimic-response": { 1485 | "version": "1.0.1", 1486 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", 1487 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" 1488 | }, 1489 | "min-document": { 1490 | "version": "2.19.0", 1491 | "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", 1492 | "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", 1493 | "requires": { 1494 | "dom-walk": "^0.1.0" 1495 | } 1496 | }, 1497 | "minimalistic-assert": { 1498 | "version": "1.0.1", 1499 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 1500 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 1501 | }, 1502 | "minimalistic-crypto-utils": { 1503 | "version": "1.0.1", 1504 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1505 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" 1506 | }, 1507 | "minimist": { 1508 | "version": "1.2.0", 1509 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 1510 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" 1511 | }, 1512 | "minipass": { 1513 | "version": "2.3.5", 1514 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", 1515 | "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", 1516 | "requires": { 1517 | "safe-buffer": "^5.1.2", 1518 | "yallist": "^3.0.0" 1519 | } 1520 | }, 1521 | "minizlib": { 1522 | "version": "1.2.1", 1523 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", 1524 | "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", 1525 | "requires": { 1526 | "minipass": "^2.2.1" 1527 | } 1528 | }, 1529 | "mkdirp": { 1530 | "version": "0.5.1", 1531 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1532 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 1533 | "requires": { 1534 | "minimist": "0.0.8" 1535 | }, 1536 | "dependencies": { 1537 | "minimist": { 1538 | "version": "0.0.8", 1539 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 1540 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" 1541 | } 1542 | } 1543 | }, 1544 | "mkdirp-promise": { 1545 | "version": "5.0.1", 1546 | "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz", 1547 | "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=", 1548 | "requires": { 1549 | "mkdirp": "*" 1550 | } 1551 | }, 1552 | "mock-fs": { 1553 | "version": "4.7.0", 1554 | "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.7.0.tgz", 1555 | "integrity": "sha512-WlQNtUlzMRpvLHf8dqeUmNqfdPjGY29KrJF50Ldb4AcL+vQeR8QH3wQcFMgrhTwb1gHjZn9xggho+84tBskLgA==" 1556 | }, 1557 | "ms": { 1558 | "version": "2.0.0", 1559 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 1560 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 1561 | }, 1562 | "nan": { 1563 | "version": "2.12.1", 1564 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", 1565 | "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" 1566 | }, 1567 | "nano-json-stream-parser": { 1568 | "version": "0.1.2", 1569 | "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz", 1570 | "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18=" 1571 | }, 1572 | "negotiator": { 1573 | "version": "0.6.1", 1574 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", 1575 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" 1576 | }, 1577 | "number-to-bn": { 1578 | "version": "1.7.0", 1579 | "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz", 1580 | "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=", 1581 | "requires": { 1582 | "bn.js": "4.11.6", 1583 | "strip-hex-prefix": "1.0.0" 1584 | }, 1585 | "dependencies": { 1586 | "bn.js": { 1587 | "version": "4.11.6", 1588 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", 1589 | "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=" 1590 | } 1591 | } 1592 | }, 1593 | "oauth-sign": { 1594 | "version": "0.9.0", 1595 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", 1596 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" 1597 | }, 1598 | "object-assign": { 1599 | "version": "4.1.1", 1600 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1601 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 1602 | }, 1603 | "oboe": { 1604 | "version": "2.1.4", 1605 | "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", 1606 | "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", 1607 | "requires": { 1608 | "http-https": "^1.0.0" 1609 | } 1610 | }, 1611 | "on-finished": { 1612 | "version": "2.3.0", 1613 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", 1614 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", 1615 | "requires": { 1616 | "ee-first": "1.1.1" 1617 | } 1618 | }, 1619 | "once": { 1620 | "version": "1.4.0", 1621 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1622 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1623 | "requires": { 1624 | "wrappy": "1" 1625 | } 1626 | }, 1627 | "p-cancelable": { 1628 | "version": "0.3.0", 1629 | "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", 1630 | "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" 1631 | }, 1632 | "p-finally": { 1633 | "version": "1.0.0", 1634 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 1635 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" 1636 | }, 1637 | "p-timeout": { 1638 | "version": "1.2.1", 1639 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", 1640 | "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", 1641 | "requires": { 1642 | "p-finally": "^1.0.0" 1643 | } 1644 | }, 1645 | "parse-asn1": { 1646 | "version": "5.1.3", 1647 | "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.3.tgz", 1648 | "integrity": "sha512-VrPoetlz7B/FqjBLD2f5wBVZvsZVLnRUrxVLfRYhGXCODa/NWE4p3Wp+6+aV3ZPL3KM7/OZmxDIwwijD7yuucg==", 1649 | "requires": { 1650 | "asn1.js": "^4.0.0", 1651 | "browserify-aes": "^1.0.0", 1652 | "create-hash": "^1.1.0", 1653 | "evp_bytestokey": "^1.0.0", 1654 | "pbkdf2": "^3.0.3", 1655 | "safe-buffer": "^5.1.1" 1656 | } 1657 | }, 1658 | "parse-headers": { 1659 | "version": "2.0.1", 1660 | "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", 1661 | "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", 1662 | "requires": { 1663 | "for-each": "^0.3.2", 1664 | "trim": "0.0.1" 1665 | } 1666 | }, 1667 | "parseurl": { 1668 | "version": "1.3.2", 1669 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", 1670 | "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" 1671 | }, 1672 | "path": { 1673 | "version": "0.12.7", 1674 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", 1675 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", 1676 | "requires": { 1677 | "process": "^0.11.1", 1678 | "util": "^0.10.3" 1679 | } 1680 | }, 1681 | "path-to-regexp": { 1682 | "version": "0.1.7", 1683 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", 1684 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" 1685 | }, 1686 | "pbkdf2": { 1687 | "version": "3.0.17", 1688 | "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", 1689 | "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", 1690 | "requires": { 1691 | "create-hash": "^1.1.2", 1692 | "create-hmac": "^1.1.4", 1693 | "ripemd160": "^2.0.1", 1694 | "safe-buffer": "^5.0.1", 1695 | "sha.js": "^2.4.8" 1696 | } 1697 | }, 1698 | "pend": { 1699 | "version": "1.2.0", 1700 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 1701 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" 1702 | }, 1703 | "performance-now": { 1704 | "version": "2.1.0", 1705 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 1706 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 1707 | }, 1708 | "pify": { 1709 | "version": "2.3.0", 1710 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1711 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" 1712 | }, 1713 | "pinkie": { 1714 | "version": "2.0.4", 1715 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 1716 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" 1717 | }, 1718 | "pinkie-promise": { 1719 | "version": "2.0.1", 1720 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 1721 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 1722 | "requires": { 1723 | "pinkie": "^2.0.0" 1724 | } 1725 | }, 1726 | "prepend-http": { 1727 | "version": "1.0.4", 1728 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 1729 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" 1730 | }, 1731 | "process": { 1732 | "version": "0.11.10", 1733 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1734 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" 1735 | }, 1736 | "process-nextick-args": { 1737 | "version": "2.0.0", 1738 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", 1739 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" 1740 | }, 1741 | "proxy-addr": { 1742 | "version": "2.0.4", 1743 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", 1744 | "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", 1745 | "requires": { 1746 | "forwarded": "~0.1.2", 1747 | "ipaddr.js": "1.8.0" 1748 | } 1749 | }, 1750 | "psl": { 1751 | "version": "1.1.31", 1752 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", 1753 | "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" 1754 | }, 1755 | "public-encrypt": { 1756 | "version": "4.0.3", 1757 | "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", 1758 | "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", 1759 | "requires": { 1760 | "bn.js": "^4.1.0", 1761 | "browserify-rsa": "^4.0.0", 1762 | "create-hash": "^1.1.0", 1763 | "parse-asn1": "^5.0.0", 1764 | "randombytes": "^2.0.1", 1765 | "safe-buffer": "^5.1.2" 1766 | } 1767 | }, 1768 | "punycode": { 1769 | "version": "2.1.1", 1770 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1771 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" 1772 | }, 1773 | "qs": { 1774 | "version": "6.5.2", 1775 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 1776 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" 1777 | }, 1778 | "query-string": { 1779 | "version": "5.1.1", 1780 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", 1781 | "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", 1782 | "requires": { 1783 | "decode-uri-component": "^0.2.0", 1784 | "object-assign": "^4.1.0", 1785 | "strict-uri-encode": "^1.0.0" 1786 | } 1787 | }, 1788 | "querystringify": { 1789 | "version": "2.1.0", 1790 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", 1791 | "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==" 1792 | }, 1793 | "randombytes": { 1794 | "version": "2.0.6", 1795 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", 1796 | "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", 1797 | "requires": { 1798 | "safe-buffer": "^5.1.0" 1799 | } 1800 | }, 1801 | "randomfill": { 1802 | "version": "1.0.4", 1803 | "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", 1804 | "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", 1805 | "requires": { 1806 | "randombytes": "^2.0.5", 1807 | "safe-buffer": "^5.1.0" 1808 | } 1809 | }, 1810 | "randomhex": { 1811 | "version": "0.1.5", 1812 | "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", 1813 | "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=" 1814 | }, 1815 | "range-parser": { 1816 | "version": "1.2.0", 1817 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", 1818 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" 1819 | }, 1820 | "raw-body": { 1821 | "version": "2.3.3", 1822 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", 1823 | "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", 1824 | "requires": { 1825 | "bytes": "3.0.0", 1826 | "http-errors": "1.6.3", 1827 | "iconv-lite": "0.4.23", 1828 | "unpipe": "1.0.0" 1829 | } 1830 | }, 1831 | "readable-stream": { 1832 | "version": "2.3.6", 1833 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", 1834 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", 1835 | "requires": { 1836 | "core-util-is": "~1.0.0", 1837 | "inherits": "~2.0.3", 1838 | "isarray": "~1.0.0", 1839 | "process-nextick-args": "~2.0.0", 1840 | "safe-buffer": "~5.1.1", 1841 | "string_decoder": "~1.1.1", 1842 | "util-deprecate": "~1.0.1" 1843 | } 1844 | }, 1845 | "regenerator-runtime": { 1846 | "version": "0.12.1", 1847 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", 1848 | "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" 1849 | }, 1850 | "request": { 1851 | "version": "2.88.0", 1852 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", 1853 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", 1854 | "requires": { 1855 | "aws-sign2": "~0.7.0", 1856 | "aws4": "^1.8.0", 1857 | "caseless": "~0.12.0", 1858 | "combined-stream": "~1.0.6", 1859 | "extend": "~3.0.2", 1860 | "forever-agent": "~0.6.1", 1861 | "form-data": "~2.3.2", 1862 | "har-validator": "~5.1.0", 1863 | "http-signature": "~1.2.0", 1864 | "is-typedarray": "~1.0.0", 1865 | "isstream": "~0.1.2", 1866 | "json-stringify-safe": "~5.0.1", 1867 | "mime-types": "~2.1.19", 1868 | "oauth-sign": "~0.9.0", 1869 | "performance-now": "^2.1.0", 1870 | "qs": "~6.5.2", 1871 | "safe-buffer": "^5.1.2", 1872 | "tough-cookie": "~2.4.3", 1873 | "tunnel-agent": "^0.6.0", 1874 | "uuid": "^3.3.2" 1875 | } 1876 | }, 1877 | "requires-port": { 1878 | "version": "1.0.0", 1879 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 1880 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" 1881 | }, 1882 | "ripemd160": { 1883 | "version": "2.0.2", 1884 | "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", 1885 | "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", 1886 | "requires": { 1887 | "hash-base": "^3.0.0", 1888 | "inherits": "^2.0.1" 1889 | } 1890 | }, 1891 | "rlp": { 1892 | "version": "2.2.2", 1893 | "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.2.tgz", 1894 | "integrity": "sha512-Ng2kJEN731Sfv4ZAY2i0ytPMc0BbJKBsVNl0QZY8LxOWSwd+1xpg+fpSRfaMn0heHU447s6Kgy8qfHZR0XTyVw==", 1895 | "requires": { 1896 | "bn.js": "^4.11.1", 1897 | "safe-buffer": "^5.1.1" 1898 | } 1899 | }, 1900 | "safe-buffer": { 1901 | "version": "5.1.2", 1902 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 1903 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" 1904 | }, 1905 | "safer-buffer": { 1906 | "version": "2.1.2", 1907 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 1908 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" 1909 | }, 1910 | "scrypt": { 1911 | "version": "6.0.3", 1912 | "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz", 1913 | "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=", 1914 | "requires": { 1915 | "nan": "^2.0.8" 1916 | } 1917 | }, 1918 | "scrypt-js": { 1919 | "version": "2.0.4", 1920 | "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.4.tgz", 1921 | "integrity": "sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw==" 1922 | }, 1923 | "scrypt.js": { 1924 | "version": "0.2.0", 1925 | "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz", 1926 | "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=", 1927 | "requires": { 1928 | "scrypt": "^6.0.2", 1929 | "scryptsy": "^1.2.1" 1930 | } 1931 | }, 1932 | "scryptsy": { 1933 | "version": "1.2.1", 1934 | "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz", 1935 | "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=", 1936 | "requires": { 1937 | "pbkdf2": "^3.0.3" 1938 | } 1939 | }, 1940 | "secp256k1": { 1941 | "version": "3.6.1", 1942 | "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.6.1.tgz", 1943 | "integrity": "sha512-utLpWv4P4agEw7hakR73wlWX0NBmC5t/vkJ0TAfTyvETAUzo0tm6aFKPYetVYRaVubxMeWm5Ekv9ETwOgcDCqw==", 1944 | "requires": { 1945 | "bindings": "^1.2.1", 1946 | "bip66": "^1.1.3", 1947 | "bn.js": "^4.11.3", 1948 | "create-hash": "^1.1.2", 1949 | "drbg.js": "^1.0.1", 1950 | "elliptic": "^6.2.3", 1951 | "nan": "^2.2.1", 1952 | "safe-buffer": "^5.1.0" 1953 | } 1954 | }, 1955 | "seek-bzip": { 1956 | "version": "1.0.5", 1957 | "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", 1958 | "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", 1959 | "requires": { 1960 | "commander": "~2.8.1" 1961 | } 1962 | }, 1963 | "send": { 1964 | "version": "0.16.2", 1965 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", 1966 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", 1967 | "requires": { 1968 | "debug": "2.6.9", 1969 | "depd": "~1.1.2", 1970 | "destroy": "~1.0.4", 1971 | "encodeurl": "~1.0.2", 1972 | "escape-html": "~1.0.3", 1973 | "etag": "~1.8.1", 1974 | "fresh": "0.5.2", 1975 | "http-errors": "~1.6.2", 1976 | "mime": "1.4.1", 1977 | "ms": "2.0.0", 1978 | "on-finished": "~2.3.0", 1979 | "range-parser": "~1.2.0", 1980 | "statuses": "~1.4.0" 1981 | }, 1982 | "dependencies": { 1983 | "debug": { 1984 | "version": "2.6.9", 1985 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 1986 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 1987 | "requires": { 1988 | "ms": "2.0.0" 1989 | } 1990 | }, 1991 | "statuses": { 1992 | "version": "1.4.0", 1993 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", 1994 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" 1995 | } 1996 | } 1997 | }, 1998 | "serve-static": { 1999 | "version": "1.13.2", 2000 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", 2001 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", 2002 | "requires": { 2003 | "encodeurl": "~1.0.2", 2004 | "escape-html": "~1.0.3", 2005 | "parseurl": "~1.3.2", 2006 | "send": "0.16.2" 2007 | } 2008 | }, 2009 | "servify": { 2010 | "version": "0.1.12", 2011 | "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", 2012 | "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", 2013 | "requires": { 2014 | "body-parser": "^1.16.0", 2015 | "cors": "^2.8.1", 2016 | "express": "^4.14.0", 2017 | "request": "^2.79.0", 2018 | "xhr": "^2.3.3" 2019 | } 2020 | }, 2021 | "setimmediate": { 2022 | "version": "1.0.5", 2023 | "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", 2024 | "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" 2025 | }, 2026 | "setprototypeof": { 2027 | "version": "1.1.0", 2028 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", 2029 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" 2030 | }, 2031 | "sha.js": { 2032 | "version": "2.4.11", 2033 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 2034 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 2035 | "requires": { 2036 | "inherits": "^2.0.1", 2037 | "safe-buffer": "^5.0.1" 2038 | } 2039 | }, 2040 | "sha3": { 2041 | "version": "1.2.2", 2042 | "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.2.tgz", 2043 | "integrity": "sha1-pmxQmN5MJbyIM27ItIF9AFvKe6k=", 2044 | "requires": { 2045 | "nan": "2.10.0" 2046 | }, 2047 | "dependencies": { 2048 | "nan": { 2049 | "version": "2.10.0", 2050 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", 2051 | "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" 2052 | } 2053 | } 2054 | }, 2055 | "simple-concat": { 2056 | "version": "1.0.0", 2057 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", 2058 | "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" 2059 | }, 2060 | "simple-get": { 2061 | "version": "2.8.1", 2062 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", 2063 | "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", 2064 | "requires": { 2065 | "decompress-response": "^3.3.0", 2066 | "once": "^1.3.1", 2067 | "simple-concat": "^1.0.0" 2068 | } 2069 | }, 2070 | "source-map": { 2071 | "version": "0.6.1", 2072 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2073 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 2074 | }, 2075 | "source-map-support": { 2076 | "version": "0.5.5", 2077 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.5.tgz", 2078 | "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", 2079 | "requires": { 2080 | "buffer-from": "^1.0.0", 2081 | "source-map": "^0.6.0" 2082 | } 2083 | }, 2084 | "sshpk": { 2085 | "version": "1.16.1", 2086 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", 2087 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", 2088 | "requires": { 2089 | "asn1": "~0.2.3", 2090 | "assert-plus": "^1.0.0", 2091 | "bcrypt-pbkdf": "^1.0.0", 2092 | "dashdash": "^1.12.0", 2093 | "ecc-jsbn": "~0.1.1", 2094 | "getpass": "^0.1.1", 2095 | "jsbn": "~0.1.0", 2096 | "safer-buffer": "^2.0.2", 2097 | "tweetnacl": "~0.14.0" 2098 | } 2099 | }, 2100 | "statuses": { 2101 | "version": "1.5.0", 2102 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", 2103 | "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" 2104 | }, 2105 | "strict-uri-encode": { 2106 | "version": "1.1.0", 2107 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", 2108 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" 2109 | }, 2110 | "string_decoder": { 2111 | "version": "1.1.1", 2112 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", 2113 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", 2114 | "requires": { 2115 | "safe-buffer": "~5.1.0" 2116 | } 2117 | }, 2118 | "strip-dirs": { 2119 | "version": "2.1.0", 2120 | "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", 2121 | "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", 2122 | "requires": { 2123 | "is-natural-number": "^4.0.1" 2124 | } 2125 | }, 2126 | "strip-hex-prefix": { 2127 | "version": "1.0.0", 2128 | "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", 2129 | "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", 2130 | "requires": { 2131 | "is-hex-prefixed": "1.0.0" 2132 | } 2133 | }, 2134 | "supports-color": { 2135 | "version": "5.4.0", 2136 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", 2137 | "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", 2138 | "requires": { 2139 | "has-flag": "^3.0.0" 2140 | } 2141 | }, 2142 | "swarm-js": { 2143 | "version": "0.1.39", 2144 | "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", 2145 | "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", 2146 | "requires": { 2147 | "bluebird": "^3.5.0", 2148 | "buffer": "^5.0.5", 2149 | "decompress": "^4.0.0", 2150 | "eth-lib": "^0.1.26", 2151 | "fs-extra": "^4.0.2", 2152 | "got": "^7.1.0", 2153 | "mime-types": "^2.1.16", 2154 | "mkdirp-promise": "^5.0.1", 2155 | "mock-fs": "^4.1.0", 2156 | "setimmediate": "^1.0.5", 2157 | "tar": "^4.0.2", 2158 | "xhr-request-promise": "^0.1.2" 2159 | } 2160 | }, 2161 | "tar": { 2162 | "version": "4.4.8", 2163 | "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz", 2164 | "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==", 2165 | "requires": { 2166 | "chownr": "^1.1.1", 2167 | "fs-minipass": "^1.2.5", 2168 | "minipass": "^2.3.4", 2169 | "minizlib": "^1.1.1", 2170 | "mkdirp": "^0.5.0", 2171 | "safe-buffer": "^5.1.2", 2172 | "yallist": "^3.0.2" 2173 | } 2174 | }, 2175 | "tar-stream": { 2176 | "version": "1.6.2", 2177 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", 2178 | "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", 2179 | "requires": { 2180 | "bl": "^1.0.0", 2181 | "buffer-alloc": "^1.2.0", 2182 | "end-of-stream": "^1.0.0", 2183 | "fs-constants": "^1.0.0", 2184 | "readable-stream": "^2.3.0", 2185 | "to-buffer": "^1.1.1", 2186 | "xtend": "^4.0.0" 2187 | } 2188 | }, 2189 | "through": { 2190 | "version": "2.3.8", 2191 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 2192 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" 2193 | }, 2194 | "timed-out": { 2195 | "version": "4.0.1", 2196 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 2197 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" 2198 | }, 2199 | "to-buffer": { 2200 | "version": "1.1.1", 2201 | "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", 2202 | "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" 2203 | }, 2204 | "tough-cookie": { 2205 | "version": "2.4.3", 2206 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", 2207 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", 2208 | "requires": { 2209 | "psl": "^1.1.24", 2210 | "punycode": "^1.4.1" 2211 | }, 2212 | "dependencies": { 2213 | "punycode": { 2214 | "version": "1.4.1", 2215 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2216 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 2217 | } 2218 | } 2219 | }, 2220 | "trim": { 2221 | "version": "0.0.1", 2222 | "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", 2223 | "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" 2224 | }, 2225 | "ts-node": { 2226 | "version": "6.0.1", 2227 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-6.0.1.tgz", 2228 | "integrity": "sha512-LDS8WJRTEztvQEXbRK/0l/apWE0BNR/USGUhVcJDe2/hbNiB/v/lCqk6YJzgwKjScgdWOAhPQsfur7hmQ1Y1jA==", 2229 | "requires": { 2230 | "arrify": "^1.0.0", 2231 | "chalk": "^2.3.0", 2232 | "diff": "^3.1.0", 2233 | "make-error": "^1.1.1", 2234 | "minimist": "^1.2.0", 2235 | "mkdirp": "^0.5.1", 2236 | "source-map-support": "^0.5.3", 2237 | "yn": "^2.0.0" 2238 | } 2239 | }, 2240 | "tunnel-agent": { 2241 | "version": "0.6.0", 2242 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2243 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 2244 | "requires": { 2245 | "safe-buffer": "^5.0.1" 2246 | } 2247 | }, 2248 | "tweetnacl": { 2249 | "version": "0.14.5", 2250 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 2251 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" 2252 | }, 2253 | "type-is": { 2254 | "version": "1.6.16", 2255 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", 2256 | "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", 2257 | "requires": { 2258 | "media-typer": "0.3.0", 2259 | "mime-types": "~2.1.18" 2260 | } 2261 | }, 2262 | "typedarray-to-buffer": { 2263 | "version": "3.1.5", 2264 | "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", 2265 | "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", 2266 | "requires": { 2267 | "is-typedarray": "^1.0.0" 2268 | } 2269 | }, 2270 | "ultron": { 2271 | "version": "1.1.1", 2272 | "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", 2273 | "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" 2274 | }, 2275 | "unbzip2-stream": { 2276 | "version": "1.3.1", 2277 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.1.tgz", 2278 | "integrity": "sha512-fIZnvdjblYs7Cru/xC6tCPVhz7JkYcVQQkePwMLyQELzYTds2Xn8QefPVnvdVhhZqubxNA1cASXEH5wcK0Bucw==", 2279 | "requires": { 2280 | "buffer": "^3.0.1", 2281 | "through": "^2.3.6" 2282 | }, 2283 | "dependencies": { 2284 | "base64-js": { 2285 | "version": "0.0.8", 2286 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", 2287 | "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=" 2288 | }, 2289 | "buffer": { 2290 | "version": "3.6.0", 2291 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", 2292 | "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", 2293 | "requires": { 2294 | "base64-js": "0.0.8", 2295 | "ieee754": "^1.1.4", 2296 | "isarray": "^1.0.0" 2297 | } 2298 | } 2299 | } 2300 | }, 2301 | "universalify": { 2302 | "version": "0.1.2", 2303 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2304 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" 2305 | }, 2306 | "unpipe": { 2307 | "version": "1.0.0", 2308 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", 2309 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" 2310 | }, 2311 | "uri-js": { 2312 | "version": "4.2.2", 2313 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 2314 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 2315 | "requires": { 2316 | "punycode": "^2.1.0" 2317 | } 2318 | }, 2319 | "url-parse": { 2320 | "version": "1.4.4", 2321 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", 2322 | "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", 2323 | "requires": { 2324 | "querystringify": "^2.0.0", 2325 | "requires-port": "^1.0.0" 2326 | } 2327 | }, 2328 | "url-parse-lax": { 2329 | "version": "1.0.0", 2330 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 2331 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 2332 | "requires": { 2333 | "prepend-http": "^1.0.1" 2334 | } 2335 | }, 2336 | "url-set-query": { 2337 | "version": "1.0.0", 2338 | "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz", 2339 | "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=" 2340 | }, 2341 | "url-to-options": { 2342 | "version": "1.0.1", 2343 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 2344 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" 2345 | }, 2346 | "utf8": { 2347 | "version": "2.1.1", 2348 | "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", 2349 | "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=" 2350 | }, 2351 | "util": { 2352 | "version": "0.10.4", 2353 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", 2354 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", 2355 | "requires": { 2356 | "inherits": "2.0.3" 2357 | } 2358 | }, 2359 | "util-deprecate": { 2360 | "version": "1.0.2", 2361 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2362 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2363 | }, 2364 | "utils-merge": { 2365 | "version": "1.0.1", 2366 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", 2367 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" 2368 | }, 2369 | "uuid": { 2370 | "version": "3.3.2", 2371 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", 2372 | "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" 2373 | }, 2374 | "vary": { 2375 | "version": "1.1.2", 2376 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", 2377 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" 2378 | }, 2379 | "verror": { 2380 | "version": "1.10.0", 2381 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 2382 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 2383 | "requires": { 2384 | "assert-plus": "^1.0.0", 2385 | "core-util-is": "1.0.2", 2386 | "extsprintf": "^1.2.0" 2387 | } 2388 | }, 2389 | "web3": { 2390 | "version": "1.0.0-beta.38", 2391 | "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.38.tgz", 2392 | "integrity": "sha512-+Jc/lgMHvUBoKLCWFaUGWMGh+BqbT4rTVS9sLrWP03dQznpTuHxCk9dAUIEpO26qWcH6DHL7/jvY0ZWOjVg2aQ==", 2393 | "requires": { 2394 | "web3-bzz": "1.0.0-beta.38", 2395 | "web3-core": "1.0.0-beta.38", 2396 | "web3-core-helpers": "1.0.0-beta.38", 2397 | "web3-core-method": "1.0.0-beta.38", 2398 | "web3-eth": "1.0.0-beta.38", 2399 | "web3-eth-personal": "1.0.0-beta.38", 2400 | "web3-net": "1.0.0-beta.38", 2401 | "web3-providers": "1.0.0-beta.38", 2402 | "web3-shh": "1.0.0-beta.38", 2403 | "web3-utils": "1.0.0-beta.38" 2404 | } 2405 | }, 2406 | "web3-bzz": { 2407 | "version": "1.0.0-beta.38", 2408 | "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.38.tgz", 2409 | "integrity": "sha512-V9ftqYLl+2ZUuyS9loHKY9VB++oLM9tnRD1RFLSdQlnJsRxWTjw+GWFd7r4JEa3qoImRFB1dsRC6cGcfBLYeXg==", 2410 | "requires": { 2411 | "lodash": "^4.17.11", 2412 | "swarm-js": "^0.1.39" 2413 | } 2414 | }, 2415 | "web3-core": { 2416 | "version": "1.0.0-beta.38", 2417 | "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.38.tgz", 2418 | "integrity": "sha512-2hTYzk1dGkFiswcFKxYJYdkpAREY4fuccJIth2nMhddyt8vIxY58WodFijJkZaMGuUEDq+leMhbCF/8kiQckfg==", 2419 | "requires": { 2420 | "lodash": "^4.17.11", 2421 | "web3-utils": "1.0.0-beta.38" 2422 | } 2423 | }, 2424 | "web3-core-helpers": { 2425 | "version": "1.0.0-beta.38", 2426 | "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.38.tgz", 2427 | "integrity": "sha512-pbXQJ+IiMQZLZ64uYqyqqrWDStJ3814jrKm8ZYp5wkFRQhYaWQ4evUScbtq2KvvkUM9b0OdXpZj7jm1KcTXF5g==", 2428 | "requires": { 2429 | "lodash": "^4.17.11", 2430 | "web3-eth-iban": "1.0.0-beta.38", 2431 | "web3-utils": "1.0.0-beta.38" 2432 | } 2433 | }, 2434 | "web3-core-method": { 2435 | "version": "1.0.0-beta.38", 2436 | "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.38.tgz", 2437 | "integrity": "sha512-o5MJXmrAGa2W6b8kcyHudRvvpTFvOtXCvs0ZSc5gTUuLC+6bwF3NVK3ZriwcpMzJRA4sbRE7YupB8A8bYHa0nw==", 2438 | "requires": { 2439 | "eventemitter3": "3.1.0", 2440 | "web3-core": "1.0.0-beta.38", 2441 | "web3-core-helpers": "1.0.0-beta.38", 2442 | "web3-core-promievent": "1.0.0-beta.38", 2443 | "web3-core-subscriptions": "1.0.0-beta.38", 2444 | "web3-utils": "1.0.0-beta.38" 2445 | } 2446 | }, 2447 | "web3-core-promievent": { 2448 | "version": "1.0.0-beta.38", 2449 | "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.38.tgz", 2450 | "integrity": "sha512-nm/hV5YSBUCAx2as4blnc8ypR7MiX6rmFr1WaUmQwf94capqNaiP/IQWHKZZ6rNZQmQxmltsN/lrU951SMeWCQ==", 2451 | "requires": { 2452 | "eventemitter3": "^3.1.0" 2453 | } 2454 | }, 2455 | "web3-core-subscriptions": { 2456 | "version": "1.0.0-beta.38", 2457 | "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.38.tgz", 2458 | "integrity": "sha512-edVN264mncw9ApM9EqJZ7A5MehCLh6qnoGdcsU+F03X7uFzBZogLLNv3ZFtMHvrz7TnMSRF611lALLaU/l8rxg==", 2459 | "requires": { 2460 | "eventemitter3": "^3.1.0", 2461 | "lodash": "^4.17.11", 2462 | "web3-core-helpers": "1.0.0-beta.38", 2463 | "web3-utils": "1.0.0-beta.38" 2464 | } 2465 | }, 2466 | "web3-eth": { 2467 | "version": "1.0.0-beta.38", 2468 | "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.38.tgz", 2469 | "integrity": "sha512-hPwM439QgMbDGaxVk9s+YG4x/yhVmg/8J+/sDZzQ2xTP9eg8KGFlgJ9krpQM2gDKlZzPt8c3idKbE66rw4kHDQ==", 2470 | "requires": { 2471 | "web3-core": "1.0.0-beta.38", 2472 | "web3-core-helpers": "1.0.0-beta.38", 2473 | "web3-core-method": "1.0.0-beta.38", 2474 | "web3-core-promievent": "1.0.0-beta.38", 2475 | "web3-core-subscriptions": "1.0.0-beta.38", 2476 | "web3-eth-abi": "1.0.0-beta.38", 2477 | "web3-eth-accounts": "1.0.0-beta.38", 2478 | "web3-eth-contract": "1.0.0-beta.38", 2479 | "web3-eth-ens": "1.0.0-beta.38", 2480 | "web3-eth-iban": "1.0.0-beta.38", 2481 | "web3-eth-personal": "1.0.0-beta.38", 2482 | "web3-net": "1.0.0-beta.38", 2483 | "web3-providers": "1.0.0-beta.38", 2484 | "web3-utils": "1.0.0-beta.38" 2485 | } 2486 | }, 2487 | "web3-eth-abi": { 2488 | "version": "1.0.0-beta.38", 2489 | "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.38.tgz", 2490 | "integrity": "sha512-lMlb0tfuAhYn25Aw5wkBTsj3/7UXvRn7quFy5koicv7tEn7JA3QarRY3qjB6gpQY6miGyyHbhpGJ89TVmzMWHg==", 2491 | "requires": { 2492 | "ethers": "^4.0.0", 2493 | "lodash": "^4.17.11", 2494 | "web3-utils": "1.0.0-beta.38" 2495 | } 2496 | }, 2497 | "web3-eth-accounts": { 2498 | "version": "1.0.0-beta.38", 2499 | "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.38.tgz", 2500 | "integrity": "sha512-MMNaWifbz9kTksXllxXBmIUsQCw97j6j1EN30pvlno0XyqmXpoYPmCjpF7uEhzT9qOSFFN32c3IjZRGTghXI5A==", 2501 | "requires": { 2502 | "crypto-browserify": "3.12.0", 2503 | "eth-lib": "0.2.8", 2504 | "lodash": "^4.17.11", 2505 | "scrypt.js": "0.2.0", 2506 | "uuid": "3.3.2", 2507 | "web3-core": "1.0.0-beta.38", 2508 | "web3-core-helpers": "1.0.0-beta.38", 2509 | "web3-core-method": "1.0.0-beta.38", 2510 | "web3-providers": "1.0.0-beta.38", 2511 | "web3-utils": "1.0.0-beta.38" 2512 | }, 2513 | "dependencies": { 2514 | "eth-lib": { 2515 | "version": "0.2.8", 2516 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", 2517 | "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", 2518 | "requires": { 2519 | "bn.js": "^4.11.6", 2520 | "elliptic": "^6.4.0", 2521 | "xhr-request-promise": "^0.1.2" 2522 | } 2523 | } 2524 | } 2525 | }, 2526 | "web3-eth-contract": { 2527 | "version": "1.0.0-beta.38", 2528 | "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.38.tgz", 2529 | "integrity": "sha512-JnLoA0AsL+/eTq3zxugthpQrNj5Jx/WXPeuxuwxLWlZWAz0sRcf9+Bc5gHVOWvDyqkaAeY2zFaYhTjtiQH7K+A==", 2530 | "requires": { 2531 | "lodash": "^4.17.11", 2532 | "web3-core": "1.0.0-beta.38", 2533 | "web3-core-helpers": "1.0.0-beta.38", 2534 | "web3-core-method": "1.0.0-beta.38", 2535 | "web3-core-promievent": "1.0.0-beta.38", 2536 | "web3-core-subscriptions": "1.0.0-beta.38", 2537 | "web3-eth-abi": "1.0.0-beta.38", 2538 | "web3-eth-accounts": "1.0.0-beta.38", 2539 | "web3-providers": "1.0.0-beta.38", 2540 | "web3-utils": "1.0.0-beta.38" 2541 | } 2542 | }, 2543 | "web3-eth-ens": { 2544 | "version": "1.0.0-beta.38", 2545 | "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.38.tgz", 2546 | "integrity": "sha512-Xth9ThCnE00h19P6FDVjxsyX4/ItSXxQFXteidSlah1zElbMAJlEI2EvWz6ekZbU5Y2NNHcWRdUp2BMlUsO3lw==", 2547 | "requires": { 2548 | "eth-ens-namehash": "2.0.8", 2549 | "lodash": "^4.17.11", 2550 | "web3-core": "1.0.0-beta.38", 2551 | "web3-core-helpers": "1.0.0-beta.38", 2552 | "web3-core-method": "1.0.0-beta.38", 2553 | "web3-core-promievent": "1.0.0-beta.38", 2554 | "web3-eth-abi": "1.0.0-beta.38", 2555 | "web3-eth-contract": "1.0.0-beta.38", 2556 | "web3-net": "1.0.0-beta.38", 2557 | "web3-providers": "1.0.0-beta.38", 2558 | "web3-utils": "1.0.0-beta.38" 2559 | } 2560 | }, 2561 | "web3-eth-iban": { 2562 | "version": "1.0.0-beta.38", 2563 | "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.38.tgz", 2564 | "integrity": "sha512-9bhJDDeeRucICteEgr/wmMFRQANf+nNxn+lAdAi+kHRfI3LoTHII3yP9yM2GuUG4NdRzcIXlZXTn2j6gVV+TsA==", 2565 | "requires": { 2566 | "bn.js": "4.11.8", 2567 | "web3-utils": "1.0.0-beta.38" 2568 | } 2569 | }, 2570 | "web3-eth-personal": { 2571 | "version": "1.0.0-beta.38", 2572 | "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.38.tgz", 2573 | "integrity": "sha512-nPVxN6OiZmstusBoJTRehdE9ETPLXPnzmRJrhxS+reRNQCsba8uG2pEdfNogY9suZlxLi0THOpG6cWKZ2EJkcA==", 2574 | "requires": { 2575 | "web3-core": "1.0.0-beta.38", 2576 | "web3-core-helpers": "1.0.0-beta.38", 2577 | "web3-core-method": "1.0.0-beta.38", 2578 | "web3-net": "1.0.0-beta.38", 2579 | "web3-providers": "1.0.0-beta.38", 2580 | "web3-utils": "1.0.0-beta.38" 2581 | } 2582 | }, 2583 | "web3-net": { 2584 | "version": "1.0.0-beta.38", 2585 | "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.38.tgz", 2586 | "integrity": "sha512-XxV/3G/9q0seoNK0mzokgZypRwoo0yXluvwzsoF0/TTUo0AbH5o/UOB3T4vQrJ9F8W698fb7+qlHcYoCPqiwXg==", 2587 | "requires": { 2588 | "lodash": "^4.17.11", 2589 | "web3-core": "1.0.0-beta.38", 2590 | "web3-core-helpers": "1.0.0-beta.38", 2591 | "web3-core-method": "1.0.0-beta.38", 2592 | "web3-providers": "1.0.0-beta.38", 2593 | "web3-utils": "1.0.0-beta.38" 2594 | } 2595 | }, 2596 | "web3-providers": { 2597 | "version": "1.0.0-beta.38", 2598 | "resolved": "https://registry.npmjs.org/web3-providers/-/web3-providers-1.0.0-beta.38.tgz", 2599 | "integrity": "sha512-K82NnuaJ1YmNnCvVNqqnBTM0OCMHWK/ief6ifg8caiIg4LxgvqbDFG7SlbaCV8h9eZiVfCF5bSCPYY2sQ3qTVQ==", 2600 | "requires": { 2601 | "eventemitter3": "3.1.0", 2602 | "lodash": "^4.17.11", 2603 | "oboe": "2.1.4", 2604 | "url-parse": "1.4.4", 2605 | "websocket": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", 2606 | "xhr2-cookies": "1.1.0" 2607 | } 2608 | }, 2609 | "web3-shh": { 2610 | "version": "1.0.0-beta.38", 2611 | "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.38.tgz", 2612 | "integrity": "sha512-lcokXr2+VSyYiIJT/uJVyOPhMAWuOlJuGsRchM0Opi2UexNQkKkmOUC4hVWvz/aNVjArdDw3+nuMdn10rsYJvA==", 2613 | "requires": { 2614 | "web3-core": "1.0.0-beta.38", 2615 | "web3-core-helpers": "1.0.0-beta.38", 2616 | "web3-core-method": "1.0.0-beta.38", 2617 | "web3-core-subscriptions": "1.0.0-beta.38", 2618 | "web3-net": "1.0.0-beta.38", 2619 | "web3-providers": "1.0.0-beta.38", 2620 | "web3-utils": "1.0.0-beta.38" 2621 | } 2622 | }, 2623 | "web3-utils": { 2624 | "version": "1.0.0-beta.38", 2625 | "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.38.tgz", 2626 | "integrity": "sha512-cZJUNduERfwn/kcirM1OSo326nNDEI+ZSE79iUjGOsfjtFnI04VT7JxPOVRDXvzCc4vLZwNDt7MIa5YTCwbHvQ==", 2627 | "requires": { 2628 | "bn.js": "4.11.8", 2629 | "eth-lib": "0.2.8", 2630 | "ethjs-unit": "^0.1.6", 2631 | "lodash": "^4.17.11", 2632 | "number-to-bn": "1.7.0", 2633 | "randomhex": "0.1.5", 2634 | "utf8": "2.1.1" 2635 | }, 2636 | "dependencies": { 2637 | "eth-lib": { 2638 | "version": "0.2.8", 2639 | "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.8.tgz", 2640 | "integrity": "sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==", 2641 | "requires": { 2642 | "bn.js": "^4.11.6", 2643 | "elliptic": "^6.4.0", 2644 | "xhr-request-promise": "^0.1.2" 2645 | } 2646 | } 2647 | } 2648 | }, 2649 | "websocket": { 2650 | "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2", 2651 | "from": "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible", 2652 | "requires": { 2653 | "debug": "^2.2.0", 2654 | "nan": "^2.3.3", 2655 | "typedarray-to-buffer": "^3.1.2", 2656 | "yaeti": "^0.0.6" 2657 | }, 2658 | "dependencies": { 2659 | "debug": { 2660 | "version": "2.6.9", 2661 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 2662 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 2663 | "requires": { 2664 | "ms": "2.0.0" 2665 | } 2666 | } 2667 | } 2668 | }, 2669 | "wrappy": { 2670 | "version": "1.0.2", 2671 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2672 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" 2673 | }, 2674 | "ws": { 2675 | "version": "5.2.2", 2676 | "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", 2677 | "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", 2678 | "requires": { 2679 | "async-limiter": "~1.0.0" 2680 | } 2681 | }, 2682 | "xhr": { 2683 | "version": "2.5.0", 2684 | "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", 2685 | "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", 2686 | "requires": { 2687 | "global": "~4.3.0", 2688 | "is-function": "^1.0.1", 2689 | "parse-headers": "^2.0.0", 2690 | "xtend": "^4.0.0" 2691 | } 2692 | }, 2693 | "xhr-request": { 2694 | "version": "1.1.0", 2695 | "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", 2696 | "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", 2697 | "requires": { 2698 | "buffer-to-arraybuffer": "^0.0.5", 2699 | "object-assign": "^4.1.1", 2700 | "query-string": "^5.0.1", 2701 | "simple-get": "^2.7.0", 2702 | "timed-out": "^4.0.1", 2703 | "url-set-query": "^1.0.0", 2704 | "xhr": "^2.0.4" 2705 | } 2706 | }, 2707 | "xhr-request-promise": { 2708 | "version": "0.1.2", 2709 | "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", 2710 | "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", 2711 | "requires": { 2712 | "xhr-request": "^1.0.1" 2713 | } 2714 | }, 2715 | "xhr2-cookies": { 2716 | "version": "1.1.0", 2717 | "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz", 2718 | "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=", 2719 | "requires": { 2720 | "cookiejar": "^2.1.1" 2721 | } 2722 | }, 2723 | "xmlhttprequest": { 2724 | "version": "1.8.0", 2725 | "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", 2726 | "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" 2727 | }, 2728 | "xtend": { 2729 | "version": "4.0.1", 2730 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 2731 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" 2732 | }, 2733 | "yaeti": { 2734 | "version": "0.0.6", 2735 | "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", 2736 | "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=" 2737 | }, 2738 | "yallist": { 2739 | "version": "3.0.3", 2740 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", 2741 | "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" 2742 | }, 2743 | "yauzl": { 2744 | "version": "2.10.0", 2745 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", 2746 | "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", 2747 | "requires": { 2748 | "buffer-crc32": "~0.2.3", 2749 | "fd-slicer": "~1.1.0" 2750 | } 2751 | }, 2752 | "yn": { 2753 | "version": "2.0.0", 2754 | "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz", 2755 | "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=" 2756 | } 2757 | } 2758 | } 2759 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "Example maker using the Hydro API SDK", 3 | "scripts": { 4 | "build": "tsc" 5 | }, 6 | "dependencies": { 7 | "@hydro-protocol/sdk": "^2.0.4", 8 | "bignumber.js": "6.0.0", 9 | "bintrees": "^1.0.2", 10 | "ts-node": "^6.0.1" 11 | }, 12 | "devDependencies": { 13 | "@types/bintrees": "^1.0.2", 14 | "@types/node": "^9.4.6" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { BigNumber } from "bignumber.js" 2 | import { SimpleOrderbook } from "./lib/SimpleOrderbook" 3 | 4 | const marketId = process.argv[2] 5 | const orderbook = new SimpleOrderbook() 6 | orderbook.run(marketId) -------------------------------------------------------------------------------- /src/lib/SimpleOrderbook.ts: -------------------------------------------------------------------------------- 1 | import { 2 | HydroClient, 3 | HydroListener, 4 | HydroWatcher, 5 | Market, 6 | Orderbook, 7 | PriceLevel, 8 | Side 9 | } from "@hydro-protocol/sdk"; 10 | import { RBTree } from "bintrees"; 11 | 12 | export class SimpleOrderbook { 13 | private asks: RBTree; 14 | private bids: RBTree; 15 | private watcher: HydroWatcher; 16 | private client: HydroClient; 17 | private market: Market; 18 | 19 | constructor() { 20 | // Sort ascending 21 | this.asks = new RBTree((a: PriceLevel, b: PriceLevel) => 22 | a.price.gt(b.price) ? 1 : a.price.eq(b.price) ? 0 : -1 23 | ); 24 | // Sort descending 25 | this.bids = new RBTree((a: PriceLevel, b: PriceLevel) => 26 | a.price.gt(b.price) ? -1 : a.price.eq(b.price) ? 0 : 1 27 | ); 28 | 29 | this.watcher = new HydroWatcher(this.getListener()); 30 | this.client = HydroClient.withoutAuth(); 31 | this.market = new Market({}); 32 | } 33 | 34 | public async run(marketId: string) { 35 | this.market = await this.client.getMarket(marketId); 36 | this.watcher.subscribe("orderbook", [marketId]); 37 | } 38 | 39 | private getListener(): HydroListener { 40 | return { 41 | orderbookSnapshot: (orderbook: Orderbook) => { 42 | // Populate the trees 43 | this.asks.clear(); 44 | this.bids.clear(); 45 | 46 | orderbook.asks.forEach((ask: PriceLevel) => this.asks.insert(ask)); 47 | orderbook.bids.forEach((bid: PriceLevel) => this.bids.insert(bid)); 48 | 49 | this.printOrderbook(); 50 | }, 51 | orderbookUpdate: (side: Side, priceLevel: PriceLevel) => { 52 | // Update the trees with this new price level 53 | const tree = side === "buy" ? this.bids : this.asks; 54 | 55 | if (priceLevel.amount.eq(0) || tree.find(priceLevel)) { 56 | tree.remove(priceLevel); 57 | } 58 | if (!priceLevel.amount.eq(0)) { 59 | tree.insert(priceLevel); 60 | } 61 | 62 | this.printOrderbook(); 63 | } 64 | }; 65 | } 66 | 67 | private printOrderbook() { 68 | let it, item; 69 | 70 | const asks: PriceLevel[] = []; 71 | it = this.asks.iterator(); 72 | while ((item = it.next()) !== null && asks.length < 10) { 73 | asks.unshift(item); 74 | } 75 | 76 | const bids: PriceLevel[] = []; 77 | it = this.bids.iterator(); 78 | while ((item = it.next()) !== null && bids.length < 10) { 79 | bids.push(item); 80 | } 81 | 82 | console.clear(); 83 | console.log("\x1b[37m", this.market.id); 84 | console.log( 85 | "\x1b[37m", 86 | "".padStart(10), 87 | "Price".padStart(20), 88 | "Amount".padStart(20) 89 | ); 90 | asks.forEach((ask: PriceLevel) => 91 | console.log( 92 | "\x1b[31m", 93 | "".padStart(10), 94 | ask.price.toFixed(this.market.priceDecimals).padStart(20), 95 | ask.amount.toFixed(this.market.amountDecimals).padStart(20) 96 | ) 97 | ); 98 | console.log( 99 | "\x1b[37m", 100 | "Spread".padEnd(10), 101 | asks[asks.length - 1].price 102 | .minus(bids[0].price) 103 | .toFixed(this.market.priceDecimals) 104 | .padStart(20) 105 | ); 106 | bids.forEach((bid: PriceLevel) => 107 | console.log( 108 | "\x1b[32m", 109 | "".padStart(10), 110 | bid.price.toFixed(this.market.priceDecimals).padStart(20), 111 | bid.amount.toFixed(this.market.amountDecimals).padStart(20) 112 | ) 113 | ); 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "outDir": "./build", 7 | "strict": true, 8 | "lib": [ 9 | "es2015", 10 | "es6", 11 | "dom", 12 | "es2017" 13 | ], 14 | "moduleResolution": "node" 15 | }, 16 | "include": [ 17 | "src/**/*" 18 | ], 19 | "exclude": [ 20 | "node_modules" 21 | ] 22 | } --------------------------------------------------------------------------------