From 272f3bdb33eb09a05464c0c9811c0b254625136d Mon Sep 17 00:00:00 2001 From: Mohammed Sohail Date: Sun, 17 Apr 2022 11:01:30 +0300 Subject: [PATCH] update: web3 conn fixes and new docker image --- .dockerignore | 2 + .env | 3 + Dockerfile | 64 +--- lib/node.js | 2 +- package-lock.json | 873 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 886 insertions(+), 58 deletions(-) create mode 100644 .dockerignore create mode 100644 .env create mode 100644 package-lock.json diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..37d7e73 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +node_modules +.env diff --git a/.env b/.env new file mode 100644 index 0000000..2d69674 --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +RPC_HOST=http://localhost:8545 +INSTANCE_NAME=kitabu +WS_SECRET=test diff --git a/Dockerfile b/Dockerfile index b2690e4..a8779a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,61 +1,11 @@ -## Dockerfile for eth-net-intelligence-api (build from git). -## -## Build via: -# -# `docker build -t ethnetintel:latest .` -# -## Run via: -# -# `docker run -v :/home/ethnetintel/eth-net-intelligence-api/app.json ethnetintel:latest` -# -## Make sure, to mount your configured 'app.json' into the container at -## '/home/ethnetintel/eth-net-intelligence-api/app.json', e.g. -## '-v /path/to/app.json:/home/ethnetintel/eth-net-intelligence-api/app.json' -## -## Note: if you actually want to monitor a client, you'll need to make sure it can be reached from this container. -## The best way in my opinion is to start this container with all client '-p' port settings and then -# share its network with the client. This way you can redeploy the client at will and just leave 'ethnetintel' running. E.g. with -## the python client 'pyethapp': -## -# -# `docker run -d --name ethnetintel \ -# -v /home/user/app.json:/home/ethnetintel/eth-net-intelligence-api/app.json \ -# -p 0.0.0.0:30303:30303 \ -# -p 0.0.0.0:30303:30303/udp \ -# ethnetintel:latest` -# -# `docker run -d --name pyethapp \ -# --net=container:ethnetintel \ -# -v /path/to/data:/data \ -# pyethapp:latest` -# -## If you now want to deploy a new client version, just redo the second step. +FROM node:17-alpine +CMD ["npm", "start"] -FROM debian +RUN apk add --no-cache git +WORKDIR /app -RUN apt-get update &&\ - apt-get install -y curl git-core &&\ - curl -sL https://deb.nodesource.com/setup | bash - &&\ - apt-get update &&\ - apt-get install -y nodejs +COPY package.json ./ +RUN npm i -RUN apt-get update &&\ - apt-get install -y build-essential - -RUN adduser ethnetintel - -RUN cd /home/ethnetintel &&\ - git clone https://github.com/cubedro/eth-net-intelligence-api &&\ - cd eth-net-intelligence-api &&\ - npm install &&\ - npm install -g pm2 - -RUN echo '#!/bin/bash\nset -e\n\ncd /home/ethnetintel/eth-net-intelligence-api\n/usr/bin/pm2 start ./app.json\ntail -f \ - /home/ethnetintel/.pm2/logs/node-app-out-0.log' > /home/ethnetintel/startscript.sh - -RUN chmod +x /home/ethnetintel/startscript.sh &&\ - chown -R ethnetintel. /home/ethnetintel - -USER ethnetintel -ENTRYPOINT ["/home/ethnetintel/startscript.sh"] +COPY . . \ No newline at end of file diff --git a/lib/node.js b/lib/node.js index b5bd1e8..5a45cbe 100644 --- a/lib/node.js +++ b/lib/node.js @@ -135,7 +135,7 @@ Node.prototype.startWeb3Connection = function() console.info('Starting web3 connection'); web3 = new Web3(); - web3.setProvider(new web3.providers.HttpProvider('http://' + (process.env.RPC_HOST || 'localhost') + ':' + (process.env.RPC_PORT || '8545'))); + web3.setProvider(new web3.providers.HttpProvider(process.env.RPC_HOST)); this.checkWeb3Connection(); } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..b764bb0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,873 @@ +{ + "name": "eth-net-intelligence-api", + "version": "0.1.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "eth-net-intelligence-api", + "version": "0.1.1", + "license": "LGPL-3.0", + "dependencies": { + "async": "^1.0.0", + "chalk": "^1.0.0", + "debounce": "1.0.0", + "debug": "2.2.0", + "lodash": "4.1.0", + "primus": "4.0.5", + "primus-emit": "1.0.0", + "primus-spark-latency": "0.1.1", + "web3": "0.15.3", + "ws": "^1.0.1" + } + }, + "node_modules/access-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/access-control/-/access-control-1.0.1.tgz", + "integrity": "sha512-H5aqjkogmFxfaOrfn/e42vyspHVXuJ8er63KuljJXpOyJ1ZO/U5CrHfO8BLKIy2w7mBM02L5quL0vbfQqrGQbA==", + "dependencies": { + "millisecond": "~0.1.2", + "setheader": "~1.0.0", + "vary": "~1.1.0" + } + }, + "node_modules/access-control/node_modules/setheader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/setheader/-/setheader-1.0.2.tgz", + "integrity": "sha512-A704nIwzqGed0CnJZIqDE+0udMPS839ocgf1R9OJ8aq8vw4U980HWeNaD9ec8VnmBni9lyGEWDedOWXT/C5kxA==", + "dependencies": { + "diagnostics": "1.x.x" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "node_modules/asyncemit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/asyncemit/-/asyncemit-3.0.1.tgz", + "integrity": "sha1-zD4P4No5tTzBXls6qGFupqcr1Zk=", + "peerDependencies": { + "eventemitter3": ">=1.1.0" + } + }, + "node_modules/bignumber.js": { + "version": "2.0.7", + "resolved": "git+ssh://git@github.com/debris/bignumber.js.git#c7a38de919ed75e6fb6ba38051986e294b328df9", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", + "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", + "dependencies": { + "color-convert": "^0.5.0", + "color-string": "^0.3.0" + } + }, + "node_modules/color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/colornames": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", + "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=" + }, + "node_modules/colorspace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", + "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", + "dependencies": { + "color": "0.8.x", + "text-hex": "0.0.x" + } + }, + "node_modules/connected": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/connected/-/connected-0.0.2.tgz", + "integrity": "sha1-e1dVshbOMf+rzMOOn04d/Bw7fG0=" + }, + "node_modules/create-server": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/create-server/-/create-server-1.0.2.tgz", + "integrity": "sha512-hie+Kyero+jxt6dwKhLKtN23qSNiMn8mNIEjTjwzaZwH2y4tr4nYloeFrpadqV+ZqV9jQ15t3AKotaK8dOo45w==", + "dependencies": { + "connected": "~0.0.2" + } + }, + "node_modules/crypto-js": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", + "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" + }, + "node_modules/date-now": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-1.0.1.tgz", + "integrity": "sha1-u30IZDjevkGCpIX7PfP7+5nWFTw=" + }, + "node_modules/debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.0.0.tgz", + "integrity": "sha1-CUivUT0uTOQHkW+FBqQj0/nPctg=", + "dependencies": { + "date-now": "1.0.1" + } + }, + "node_modules/debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dependencies": { + "ms": "0.7.1" + } + }, + "node_modules/demolish": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/demolish/-/demolish-1.0.2.tgz", + "integrity": "sha1-VFDAsNrIUNjYL/c4h2/Tz5C+UPE=" + }, + "node_modules/diagnostics": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.0.1.tgz", + "integrity": "sha1-rM2wgMgrsl0N1zQwqeaof7tDFUE=", + "dependencies": { + "colorspace": "1.0.x", + "enabled": "1.0.x", + "kuler": "0.0.x" + } + }, + "node_modules/emits": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz", + "integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=" + }, + "node_modules/enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "dependencies": { + "env-variable": "0.0.x" + } + }, + "node_modules/env-variable": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz", + "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eventemitter3": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", + "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" + }, + "node_modules/extendible": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/extendible/-/extendible-0.1.1.tgz", + "integrity": "sha1-4qN+2HEp+0+VM+io11BiMKU5yQU=" + }, + "node_modules/forwarded-for": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/forwarded-for/-/forwarded-for-1.0.1.tgz", + "integrity": "sha1-59pIFAJRaP/AoQ0/954UFfRq9Gk=" + }, + "node_modules/fusing": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fusing/-/fusing-1.0.0.tgz", + "integrity": "sha1-VQwV12r5Jld4qgUezkTUAAoJjUU=", + "dependencies": { + "emits": "3.0.x", + "predefine": "0.1.x" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kuler": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", + "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", + "dependencies": { + "colornames": "0.0.2" + } + }, + "node_modules/load": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/load/-/load-1.0.2.tgz", + "integrity": "sha1-nfTN2vnh3JIHTkvIJc1yS5IdO0o=" + }, + "node_modules/lodash": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.1.0.tgz", + "integrity": "sha1-KZiUKD3gGp7vvt/0xLmwCmoubpY=" + }, + "node_modules/millisecond": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/millisecond/-/millisecond-0.1.2.tgz", + "integrity": "sha1-bMWtOGJByrjniv+WT4cCjuyS2sU=" + }, + "node_modules/ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + }, + "node_modules/one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" + }, + "node_modules/options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/predefine": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/predefine/-/predefine-0.1.3.tgz", + "integrity": "sha512-Nq6APFC5OtQRl5TmMk6RlGwl6UOCtEqa+5ZTbKFp6tMw4wdMUa7Rief0UNE3fV5BgQahJ70QmDgeOog8RE9FMw==", + "dependencies": { + "extendible": "0.1.x" + } + }, + "node_modules/primus": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/primus/-/primus-4.0.5.tgz", + "integrity": "sha1-7ZcjKLy0qj3buANLobfHdPwlGGU=", + "dependencies": { + "access-control": "1.0.x", + "asyncemit": "3.0.x", + "create-server": "1.0.x", + "demolish": "1.0.x", + "diagnostics": "1.0.x", + "emits": "3.0.x", + "eventemitter3": "1.1.x", + "forwarded-for": "1.0.x", + "fusing": "1.0.x", + "load": "1.0.x", + "querystringify": "0.0.x", + "recovery": "0.2.x", + "setheader": "0.0.x", + "tick-tock": "1.0.x", + "ultron": "1.0.x", + "url-parse": "1.0.x", + "yeast": "0.1.x" + } + }, + "node_modules/primus-emit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/primus-emit/-/primus-emit-1.0.0.tgz", + "integrity": "sha1-5LIxaHBsvqfLpjC0goBtv/30w+k=" + }, + "node_modules/primus-spark-latency": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/primus-spark-latency/-/primus-spark-latency-0.1.1.tgz", + "integrity": "sha1-Mo04R2esLUriKvBr3SWwx4U9KZE=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=" + }, + "node_modules/recovery": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/recovery/-/recovery-0.2.6.tgz", + "integrity": "sha1-nPytnNTJK65qBxYsgsz/ua8Kmbk=", + "dependencies": { + "demolish": "1.0.x", + "eventemitter3": "1.1.x", + "millisecond": "0.1.x", + "one-time": "0.0.x", + "tick-tock": "1.0.x" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "node_modules/setheader": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/setheader/-/setheader-0.0.4.tgz", + "integrity": "sha1-km7SjPdiFJYgkx566j8blYFuxpQ=", + "dependencies": { + "debug": "0.7.x" + } + }, + "node_modules/setheader/node_modules/debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "engines": { + "node": "*" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/text-hex": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", + "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=" + }, + "node_modules/tick-tock": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tick-tock/-/tick-tock-1.0.0.tgz", + "integrity": "sha1-nE1ZZAZPlVGxj63tNN52rXwbpD4=", + "dependencies": { + "millisecond": "0.1.x" + } + }, + "node_modules/ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "node_modules/url-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "dependencies": { + "querystringify": "0.0.x", + "requires-port": "1.0.x" + } + }, + "node_modules/utf8": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", + "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web3": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-0.15.3.tgz", + "integrity": "sha1-+ZfM2kGfxSjA1sXY1TgiEr+nRig=", + "dependencies": { + "bignumber.js": "git+https://github.com/debris/bignumber.js.git#master", + "crypto-js": "^3.1.4", + "utf8": "^2.1.1", + "xmlhttprequest": "*" + } + }, + "node_modules/ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "dependencies": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "node_modules/xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + }, + "dependencies": { + "access-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/access-control/-/access-control-1.0.1.tgz", + "integrity": "sha512-H5aqjkogmFxfaOrfn/e42vyspHVXuJ8er63KuljJXpOyJ1ZO/U5CrHfO8BLKIy2w7mBM02L5quL0vbfQqrGQbA==", + "requires": { + "millisecond": "~0.1.2", + "setheader": "~1.0.0", + "vary": "~1.1.0" + }, + "dependencies": { + "setheader": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/setheader/-/setheader-1.0.2.tgz", + "integrity": "sha512-A704nIwzqGed0CnJZIqDE+0udMPS839ocgf1R9OJ8aq8vw4U980HWeNaD9ec8VnmBni9lyGEWDedOWXT/C5kxA==", + "requires": { + "diagnostics": "1.x.x" + } + } + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "asyncemit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/asyncemit/-/asyncemit-3.0.1.tgz", + "integrity": "sha1-zD4P4No5tTzBXls6qGFupqcr1Zk=", + "requires": {} + }, + "bignumber.js": { + "version": "git+ssh://git@github.com/debris/bignumber.js.git#c7a38de919ed75e6fb6ba38051986e294b328df9", + "from": "bignumber.js@git+https://github.com/debris/bignumber.js.git#master" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "color": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", + "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", + "requires": { + "color-convert": "^0.5.0", + "color-string": "^0.3.0" + } + }, + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "requires": { + "color-name": "^1.0.0" + } + }, + "colornames": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", + "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=" + }, + "colorspace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", + "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", + "requires": { + "color": "0.8.x", + "text-hex": "0.0.x" + } + }, + "connected": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/connected/-/connected-0.0.2.tgz", + "integrity": "sha1-e1dVshbOMf+rzMOOn04d/Bw7fG0=" + }, + "create-server": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/create-server/-/create-server-1.0.2.tgz", + "integrity": "sha512-hie+Kyero+jxt6dwKhLKtN23qSNiMn8mNIEjTjwzaZwH2y4tr4nYloeFrpadqV+ZqV9jQ15t3AKotaK8dOo45w==", + "requires": { + "connected": "~0.0.2" + } + }, + "crypto-js": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz", + "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" + }, + "date-now": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-1.0.1.tgz", + "integrity": "sha1-u30IZDjevkGCpIX7PfP7+5nWFTw=" + }, + "debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.0.0.tgz", + "integrity": "sha1-CUivUT0uTOQHkW+FBqQj0/nPctg=", + "requires": { + "date-now": "1.0.1" + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "demolish": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/demolish/-/demolish-1.0.2.tgz", + "integrity": "sha1-VFDAsNrIUNjYL/c4h2/Tz5C+UPE=" + }, + "diagnostics": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.0.1.tgz", + "integrity": "sha1-rM2wgMgrsl0N1zQwqeaof7tDFUE=", + "requires": { + "colorspace": "1.0.x", + "enabled": "1.0.x", + "kuler": "0.0.x" + } + }, + "emits": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz", + "integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=" + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "requires": { + "env-variable": "0.0.x" + } + }, + "env-variable": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz", + "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eventemitter3": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz", + "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA=" + }, + "extendible": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/extendible/-/extendible-0.1.1.tgz", + "integrity": "sha1-4qN+2HEp+0+VM+io11BiMKU5yQU=" + }, + "forwarded-for": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/forwarded-for/-/forwarded-for-1.0.1.tgz", + "integrity": "sha1-59pIFAJRaP/AoQ0/954UFfRq9Gk=" + }, + "fusing": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fusing/-/fusing-1.0.0.tgz", + "integrity": "sha1-VQwV12r5Jld4qgUezkTUAAoJjUU=", + "requires": { + "emits": "3.0.x", + "predefine": "0.1.x" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "kuler": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", + "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", + "requires": { + "colornames": "0.0.2" + } + }, + "load": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/load/-/load-1.0.2.tgz", + "integrity": "sha1-nfTN2vnh3JIHTkvIJc1yS5IdO0o=" + }, + "lodash": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.1.0.tgz", + "integrity": "sha1-KZiUKD3gGp7vvt/0xLmwCmoubpY=" + }, + "millisecond": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/millisecond/-/millisecond-0.1.2.tgz", + "integrity": "sha1-bMWtOGJByrjniv+WT4cCjuyS2sU=" + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" + }, + "options": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" + }, + "predefine": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/predefine/-/predefine-0.1.3.tgz", + "integrity": "sha512-Nq6APFC5OtQRl5TmMk6RlGwl6UOCtEqa+5ZTbKFp6tMw4wdMUa7Rief0UNE3fV5BgQahJ70QmDgeOog8RE9FMw==", + "requires": { + "extendible": "0.1.x" + } + }, + "primus": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/primus/-/primus-4.0.5.tgz", + "integrity": "sha1-7ZcjKLy0qj3buANLobfHdPwlGGU=", + "requires": { + "access-control": "1.0.x", + "asyncemit": "3.0.x", + "create-server": "1.0.x", + "demolish": "1.0.x", + "diagnostics": "1.0.x", + "emits": "3.0.x", + "eventemitter3": "1.1.x", + "forwarded-for": "1.0.x", + "fusing": "1.0.x", + "load": "1.0.x", + "querystringify": "0.0.x", + "recovery": "0.2.x", + "setheader": "0.0.x", + "tick-tock": "1.0.x", + "ultron": "1.0.x", + "url-parse": "1.0.x", + "yeast": "0.1.x" + } + }, + "primus-emit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/primus-emit/-/primus-emit-1.0.0.tgz", + "integrity": "sha1-5LIxaHBsvqfLpjC0goBtv/30w+k=" + }, + "primus-spark-latency": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/primus-spark-latency/-/primus-spark-latency-0.1.1.tgz", + "integrity": "sha1-Mo04R2esLUriKvBr3SWwx4U9KZE=" + }, + "querystringify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", + "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=" + }, + "recovery": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/recovery/-/recovery-0.2.6.tgz", + "integrity": "sha1-nPytnNTJK65qBxYsgsz/ua8Kmbk=", + "requires": { + "demolish": "1.0.x", + "eventemitter3": "1.1.x", + "millisecond": "0.1.x", + "one-time": "0.0.x", + "tick-tock": "1.0.x" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "setheader": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/setheader/-/setheader-0.0.4.tgz", + "integrity": "sha1-km7SjPdiFJYgkx566j8blYFuxpQ=", + "requires": { + "debug": "0.7.x" + }, + "dependencies": { + "debug": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=" + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "text-hex": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", + "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=" + }, + "tick-tock": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tick-tock/-/tick-tock-1.0.0.tgz", + "integrity": "sha1-nE1ZZAZPlVGxj63tNN52rXwbpD4=", + "requires": { + "millisecond": "0.1.x" + } + }, + "ultron": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" + }, + "url-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", + "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", + "requires": { + "querystringify": "0.0.x", + "requires-port": "1.0.x" + } + }, + "utf8": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", + "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "web3": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/web3/-/web3-0.15.3.tgz", + "integrity": "sha1-+ZfM2kGfxSjA1sXY1TgiEr+nRig=", + "requires": { + "bignumber.js": "git+https://github.com/debris/bignumber.js.git#master", + "crypto-js": "^3.1.4", + "utf8": "^2.1.1", + "xmlhttprequest": "*" + } + }, + "ws": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", + "requires": { + "options": ">=0.0.5", + "ultron": "1.0.x" + } + }, + "xmlhttprequest": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", + "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + } +}