update: web3 conn fixes and new docker image

This commit is contained in:
Mohamed Sohail 2022-04-17 11:01:30 +03:00
parent d7289daddc
commit 272f3bdb33
Signed by: kamikazechaser
GPG Key ID: 7DD45520C01CD85D
5 changed files with 886 additions and 58 deletions

2
.dockerignore Normal file
View File

@ -0,0 +1,2 @@
node_modules
.env

3
.env Normal file
View File

@ -0,0 +1,3 @@
RPC_HOST=http://localhost:8545
INSTANCE_NAME=kitabu
WS_SECRET=test

View File

@ -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 <path to app.json>:/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 . .

View File

@ -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();
}

873
package-lock.json generated Normal file
View File

@ -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="
}
}
}