aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--packages/0x.js/CHANGELOG.md4
-rw-r--r--packages/0x.js/package.json39
-rw-r--r--packages/0x.js/src/0x.ts1
-rw-r--r--packages/0x.js/src/artifacts/EtherToken.json3
-rw-r--r--packages/0x.js/src/artifacts/Exchange.json3
-rw-r--r--packages/0x.js/src/artifacts/TokenRegistry.json3
-rw-r--r--packages/0x.js/src/artifacts/TokenTransferProxy.json3
-rw-r--r--packages/0x.js/src/artifacts/ZRX.json3
-rw-r--r--packages/0x.js/src/contract_wrappers/exchange_wrapper.ts2
-rw-r--r--packages/0x.js/src/types.ts2
-rw-r--r--packages/abi-gen/package.json8
-rw-r--r--packages/assert/package.json8
-rw-r--r--packages/chai-as-promised-typescript-typings/package.json6
-rw-r--r--packages/connect/package.json25
-rw-r--r--packages/contracts/package.json28
-rw-r--r--packages/deployer/package.json12
-rw-r--r--packages/dev-utils/package.json6
-rw-r--r--packages/json-schemas/package.json6
-rw-r--r--packages/kovan-faucets/src/ts/handler.ts93
-rw-r--r--packages/monorepo-scripts/package.json4
-rw-r--r--packages/subproviders/package.json12
-rw-r--r--packages/testnet-faucets/Dockerfile (renamed from packages/kovan-faucets/Dockerfile)0
-rw-r--r--packages/testnet-faucets/README.md (renamed from packages/kovan-faucets/README.md)65
-rw-r--r--packages/testnet-faucets/gulpfile.js (renamed from packages/kovan-faucets/gulpfile.js)0
-rw-r--r--packages/testnet-faucets/package.json (renamed from packages/kovan-faucets/package.json)12
-rw-r--r--packages/testnet-faucets/scripts/postpublish.js (renamed from packages/kovan-faucets/scripts/postpublish.js)0
-rw-r--r--packages/testnet-faucets/src/ts/configs.ts (renamed from packages/kovan-faucets/src/ts/configs.ts)7
-rw-r--r--packages/testnet-faucets/src/ts/error_reporter.ts (renamed from packages/kovan-faucets/src/ts/error_reporter.ts)0
-rw-r--r--packages/testnet-faucets/src/ts/ether_request_queue.ts (renamed from packages/kovan-faucets/src/ts/ether_request_queue.ts)0
-rw-r--r--packages/testnet-faucets/src/ts/global.d.ts (renamed from packages/kovan-faucets/src/ts/global.d.ts)0
-rw-r--r--packages/testnet-faucets/src/ts/handler.ts114
-rw-r--r--packages/testnet-faucets/src/ts/id_management.ts (renamed from packages/kovan-faucets/src/ts/id_management.ts)2
-rw-r--r--packages/testnet-faucets/src/ts/request_queue.ts (renamed from packages/kovan-faucets/src/ts/request_queue.ts)2
-rw-r--r--packages/testnet-faucets/src/ts/rpc_urls.ts13
-rw-r--r--packages/testnet-faucets/src/ts/server.ts (renamed from packages/kovan-faucets/src/ts/server.ts)1
-rw-r--r--packages/testnet-faucets/src/ts/utils.ts (renamed from packages/kovan-faucets/src/ts/utils.ts)0
-rw-r--r--packages/testnet-faucets/src/ts/zrx_request_queue.ts (renamed from packages/kovan-faucets/src/ts/zrx_request_queue.ts)11
-rw-r--r--packages/testnet-faucets/tsconfig.json (renamed from packages/kovan-faucets/tsconfig.json)0
-rw-r--r--packages/testnet-faucets/tslint.json (renamed from packages/kovan-faucets/tslint.json)0
-rw-r--r--packages/tslint-config/package.json16
-rw-r--r--packages/types/package.json6
-rw-r--r--packages/utils/package.json4
-rw-r--r--packages/web3-typescript-typings/CHANGELOG.md1
-rw-r--r--packages/web3-typescript-typings/index.d.ts4
-rw-r--r--packages/web3-typescript-typings/package.json6
-rw-r--r--packages/web3-wrapper/package.json10
-rw-r--r--packages/website/package.json19
-rw-r--r--yarn.lock2
49 files changed, 344 insertions, 224 deletions
diff --git a/README.md b/README.md
index 79bfc31e1..16847e87d 100644
--- a/README.md
+++ b/README.md
@@ -40,8 +40,8 @@ This repository contains all the 0x developer tools written in TypeScript. Our h
| Package | Description |
| ----------------------------------------------------------- | ---------------------------------------------------------------- |
| [`@0xproject/contracts`](/packages/contracts) | 0x solidity smart contracts & tests |
-| [`@0xproject/kovan_faucets`](/packages/kovan-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
| [`@0xproject/monorepo-scripts`](/packages/monorepo-scripts) | Shared monorepo scripts |
+| [`@0xproject/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
| [`@0xproject/website`](/packages/website) | 0x website & Portal DApp |
## Usage
diff --git a/packages/0x.js/CHANGELOG.md b/packages/0x.js/CHANGELOG.md
index 1a09eaf28..ec44bfc16 100644
--- a/packages/0x.js/CHANGELOG.md
+++ b/packages/0x.js/CHANGELOG.md
@@ -1,8 +1,10 @@
# CHANGELOG
-## v0.30.1 - _January 18, 2018_
+## v0.30.1 - _TBD, 2018_
* Fix a bug allowing negative fill values (#212)
+ * Fix a bug that made it impossible to pass a custom ZRX address (#341)
+ * Add Rinkeby testnet addresses to artifacts (#337)
## v0.30.0 - _January 17, 2018_
diff --git a/packages/0x.js/package.json b/packages/0x.js/package.json
index 1405e1bf7..10d923501 100644
--- a/packages/0x.js/package.json
+++ b/packages/0x.js/package.json
@@ -1,25 +1,28 @@
{
"name": "0x.js",
- "version": "0.30.0",
+ "version": "0.30.2",
"description": "A javascript library for interacting with the 0x protocol",
- "keywords": ["0x.js", "0xproject", "ethereum", "tokens", "exchange"],
+ "keywords": [
+ "0x.js",
+ "0xproject",
+ "ethereum",
+ "tokens",
+ "exchange"
+ ],
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
"scripts": {
"prebuild": "run-s clean generate_contract_wrappers",
"build": "run-p build:umd:prod build:commonjs; exit 0;",
"docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_DIR",
- "upload_docs_json":
- "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json",
- "generate_contract_wrappers":
- "node ../abi-gen/lib/index.js --abiGlob 'src/artifacts/@(Exchange|Token|TokenTransferProxy|EtherToken|TokenRegistry|DummyToken).json' --templates contract_templates --output src/contract_wrappers/generated",
+ "upload_docs_json": "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json",
+ "generate_contract_wrappers": "node ../abi-gen/lib/index.js --abiGlob 'src/artifacts/@(Exchange|Token|TokenTransferProxy|EtherToken|TokenRegistry|DummyToken).json' --templates contract_templates --output src/contract_wrappers/generated",
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'",
"test:circleci": "run-s test:coverage report_test_coverage",
"test": "run-s clean test:commonjs",
"test:coverage": "nyc npm run test --all",
"report_test_coverage": "nyc report --reporter=text-lcov | coveralls",
- "update_contracts":
- "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../0x.js/src/artifacts; done;",
+ "update_contracts": "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../0x.js/src/artifacts; done;",
"clean": "shx rm -rf _bundles lib test_temp",
"build:umd:prod": "NODE_ENV=production webpack",
"build:commonjs": "tsc && copyfiles -u 2 './src/artifacts/**/*.json' ./lib/src/artifacts;",
@@ -38,10 +41,9 @@
"node": ">=6.0.0"
},
"devDependencies": {
- "@0xproject/abi-gen": "^0.1.2",
- "@0xproject/dev-utils": "^0.0.5",
- "@0xproject/tslint-config": "^0.4.2",
- "@0xproject/types": "^0.1.4",
+ "@0xproject/abi-gen": "^0.1.4",
+ "@0xproject/dev-utils": "^0.0.7",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/bintrees": "^1.0.2",
"@types/jsonschema": "^1.1.1",
"@types/lodash": "^4.14.86",
@@ -52,7 +54,7 @@
"awesome-typescript-loader": "^3.1.3",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
- "chai-as-promised-typescript-typings": "^0.0.4",
+ "chai-as-promised-typescript-typings": "^0.0.6",
"chai-bignumber": "^2.0.1",
"chai-typescript-typings": "^0.0.2",
"copyfiles": "^1.2.0",
@@ -73,14 +75,15 @@
"typedoc": "~0.8.0",
"typescript": "~2.6.1",
"web3-provider-engine": "^13.0.1",
- "web3-typescript-typings": "^0.9.4",
+ "web3-typescript-typings": "^0.9.6",
"webpack": "^3.1.0"
},
"dependencies": {
- "@0xproject/assert": "^0.0.11",
- "@0xproject/json-schemas": "^0.7.3",
- "@0xproject/utils": "^0.2.0",
- "@0xproject/web3-wrapper": "^0.1.5",
+ "@0xproject/assert": "^0.0.13",
+ "@0xproject/json-schemas": "^0.7.5",
+ "@0xproject/types": "^0.1.6",
+ "@0xproject/utils": "^0.2.2",
+ "@0xproject/web3-wrapper": "^0.1.7",
"bintrees": "^1.0.2",
"bn.js": "^4.11.8",
"ethereumjs-abi": "^0.6.4",
diff --git a/packages/0x.js/src/0x.ts b/packages/0x.js/src/0x.ts
index e1b0ef08e..503a937c4 100644
--- a/packages/0x.js/src/0x.ts
+++ b/packages/0x.js/src/0x.ts
@@ -191,6 +191,7 @@ export class ZeroEx {
this._abiDecoder,
this.token,
config.exchangeContractAddress,
+ config.zrxContractAddress,
);
this.tokenRegistry = new TokenRegistryWrapper(
this._web3Wrapper,
diff --git a/packages/0x.js/src/artifacts/EtherToken.json b/packages/0x.js/src/artifacts/EtherToken.json
index 91fba7f0a..26cca57cd 100644
--- a/packages/0x.js/src/artifacts/EtherToken.json
+++ b/packages/0x.js/src/artifacts/EtherToken.json
@@ -274,6 +274,9 @@
"3": {
"address": "0xc00fd9820cd2898cc4c054b7bf142de637ad129a"
},
+ "4": {
+ "address": "0xc778417e063141139fce010982780140aa0cd5ab"
+ },
"42": {
"address": "0x653e49e301e508a13237c0ddc98ae7d4cd2667a1"
},
diff --git a/packages/0x.js/src/artifacts/Exchange.json b/packages/0x.js/src/artifacts/Exchange.json
index 45e277c45..af8db7360 100644
--- a/packages/0x.js/src/artifacts/Exchange.json
+++ b/packages/0x.js/src/artifacts/Exchange.json
@@ -597,6 +597,9 @@
"3": {
"address": "0x479cc461fecd078f766ecc58533d6f69580cf3ac"
},
+ "4": {
+ "address": "0x1d16ef40fac01cec8adac2ac49427b9384192c05"
+ },
"42": {
"address": "0x90fe2af704b34e0224bf2299c838e04d4dcf1364"
},
diff --git a/packages/0x.js/src/artifacts/TokenRegistry.json b/packages/0x.js/src/artifacts/TokenRegistry.json
index 81780074c..0f583628c 100644
--- a/packages/0x.js/src/artifacts/TokenRegistry.json
+++ b/packages/0x.js/src/artifacts/TokenRegistry.json
@@ -534,6 +534,9 @@
"3": {
"address": "0x6b1a50f0bb5a7995444bd3877b22dc89c62843ed"
},
+ "4": {
+ "address": "0x4e9aad8184de8833365fea970cd9149372fdf1e6"
+ },
"42": {
"address": "0xf18e504561f4347bea557f3d4558f559dddbae7f"
},
diff --git a/packages/0x.js/src/artifacts/TokenTransferProxy.json b/packages/0x.js/src/artifacts/TokenTransferProxy.json
index 9b6a6cdf9..8cf551ddb 100644
--- a/packages/0x.js/src/artifacts/TokenTransferProxy.json
+++ b/packages/0x.js/src/artifacts/TokenTransferProxy.json
@@ -174,6 +174,9 @@
"3": {
"address": "0x4e9aad8184de8833365fea970cd9149372fdf1e6"
},
+ "4": {
+ "address": "0xa8e9fa8f91e5ae138c74648c9c304f1c75003a8d"
+ },
"42": {
"address": "0x087eed4bc1ee3de49befbd66c662b434b15d49d4"
},
diff --git a/packages/0x.js/src/artifacts/ZRX.json b/packages/0x.js/src/artifacts/ZRX.json
index 1bd973178..e40b8f268 100644
--- a/packages/0x.js/src/artifacts/ZRX.json
+++ b/packages/0x.js/src/artifacts/ZRX.json
@@ -7,6 +7,9 @@
"3": {
"address": "0xa8e9fa8f91e5ae138c74648c9c304f1c75003a8d"
},
+ "4": {
+ "address": "0x00f58d6d585f84b2d7267940cede30ce2fe6eae8"
+ },
"42": {
"address": "0x6ff6c0ff1d68b964901f986d4c9fa3ac68346570"
},
diff --git a/packages/0x.js/src/contract_wrappers/exchange_wrapper.ts b/packages/0x.js/src/contract_wrappers/exchange_wrapper.ts
index be88cdb20..2b6117729 100644
--- a/packages/0x.js/src/contract_wrappers/exchange_wrapper.ts
+++ b/packages/0x.js/src/contract_wrappers/exchange_wrapper.ts
@@ -87,11 +87,13 @@ export class ExchangeWrapper extends ContractWrapper {
abiDecoder: AbiDecoder,
tokenWrapper: TokenWrapper,
contractAddressIfExists?: string,
+ zrxContractAddressIfExists?: string,
) {
super(web3Wrapper, networkId, abiDecoder);
this._tokenWrapper = tokenWrapper;
this._orderValidationUtils = new OrderValidationUtils(this);
this._contractAddressIfExists = contractAddressIfExists;
+ this._zrxContractAddressIfExists = zrxContractAddressIfExists;
}
/**
* Returns the unavailable takerAmount of an order. Unavailable amount is defined as the total
diff --git a/packages/0x.js/src/types.ts b/packages/0x.js/src/types.ts
index 2decd92ba..3c93910e9 100644
--- a/packages/0x.js/src/types.ts
+++ b/packages/0x.js/src/types.ts
@@ -290,6 +290,7 @@ export interface OrderStateWatcherConfig {
* networkId: The id of the underlying ethereum network your provider is connected to. (1-mainnet, 42-kovan, 50-testrpc)
* gasPrice: Gas price to use with every transaction
* exchangeContractAddress: The address of an exchange contract to use
+ * zrxContractAddress: The address of the ZRX contract to use
* tokenRegistryContractAddress: The address of a token registry contract to use
* tokenTransferProxyContractAddress: The address of the token transfer proxy contract to use
* orderWatcherConfig: All the configs related to the orderWatcher
@@ -298,6 +299,7 @@ export interface ZeroExConfig {
networkId: number;
gasPrice?: BigNumber;
exchangeContractAddress?: string;
+ zrxContractAddress?: string;
tokenRegistryContractAddress?: string;
tokenTransferProxyContractAddress?: string;
orderWatcherConfig?: OrderStateWatcherConfig;
diff --git a/packages/abi-gen/package.json b/packages/abi-gen/package.json
index 87364c73e..31a0f7f55 100644
--- a/packages/abi-gen/package.json
+++ b/packages/abi-gen/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/abi-gen",
- "version": "0.1.2",
+ "version": "0.1.4",
"description": "Generate contract wrappers from ABI and handlebars templates",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -22,7 +22,7 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/abi-gen/README.md",
"dependencies": {
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/utils": "^0.2.2",
"chalk": "^2.3.0",
"glob": "^7.1.2",
"handlebars": "^4.0.11",
@@ -33,7 +33,7 @@
"yargs": "^10.0.3"
},
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/glob": "^5.0.33",
"@types/handlebars": "^4.0.36",
"@types/mkdirp": "^0.5.1",
@@ -43,6 +43,6 @@
"shx": "^0.2.2",
"tslint": "5.8.0",
"typescript": "~2.6.1",
- "web3-typescript-typings": "^0.9.4"
+ "web3-typescript-typings": "^0.9.6"
}
}
diff --git a/packages/assert/package.json b/packages/assert/package.json
index 5d1f9b4d2..a2d195728 100644
--- a/packages/assert/package.json
+++ b/packages/assert/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/assert",
- "version": "0.0.11",
+ "version": "0.0.13",
"description": "Provides a standard way of performing type and schema validation across 0x projects",
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
@@ -23,7 +23,7 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/assert/README.md",
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/lodash": "^4.14.86",
"@types/mocha": "^2.2.42",
"@types/valid-url": "^1.0.2",
@@ -37,8 +37,8 @@
"typescript": "~2.6.1"
},
"dependencies": {
- "@0xproject/json-schemas": "^0.7.3",
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/json-schemas": "^0.7.5",
+ "@0xproject/utils": "^0.2.2",
"lodash": "^4.17.4",
"valid-url": "^1.0.9"
}
diff --git a/packages/chai-as-promised-typescript-typings/package.json b/packages/chai-as-promised-typescript-typings/package.json
index 8c5314be5..bde308547 100644
--- a/packages/chai-as-promised-typescript-typings/package.json
+++ b/packages/chai-as-promised-typescript-typings/package.json
@@ -1,6 +1,6 @@
{
"name": "chai-as-promised-typescript-typings",
- "version": "0.0.4",
+ "version": "0.0.6",
"description": "Typescript type definitions for chai-as-promised",
"main": "index.d.ts",
"types": "index.d.ts",
@@ -9,7 +9,9 @@
"url": "git+https://github.com/0xProject/0x.js.git"
},
"author": "Fabio Berger",
- "contributors": ["Leonid Logvinov <logvinov.leon@gmail.com>"],
+ "contributors": [
+ "Leonid Logvinov <logvinov.leon@gmail.com>"
+ ],
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/0xProject/0x.js/issues"
diff --git a/packages/connect/package.json b/packages/connect/package.json
index 45a01b475..e67947dd4 100644
--- a/packages/connect/package.json
+++ b/packages/connect/package.json
@@ -1,16 +1,21 @@
{
"name": "@0xproject/connect",
- "version": "0.5.0",
+ "version": "0.5.2",
"description": "A javascript library for interacting with the standard relayer api",
- "keywords": ["connect", "0xproject", "ethereum", "tokens", "exchange"],
+ "keywords": [
+ "connect",
+ "0xproject",
+ "ethereum",
+ "tokens",
+ "exchange"
+ ],
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
"scripts": {
"build": "tsc",
"clean": "shx rm -rf _bundles lib test_temp",
"docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json $JSON_FILE_PATH $PROJECT_DIR",
- "upload_docs_json":
- "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json",
+ "upload_docs_json": "aws s3 cp generated_docs/index.json $S3_URL --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type application/json",
"copy_test_fixtures": "copyfiles -u 2 './test/fixtures/**/*.json' ./lib/test/fixtures",
"lint": "tslint --project . 'src/**/*.ts' 'test/**/*.ts'",
"run_mocha": "mocha lib/test/**/*_test.js",
@@ -31,16 +36,16 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/connect/README.md",
"dependencies": {
- "@0xproject/assert": "^0.0.11",
- "@0xproject/json-schemas": "^0.7.3",
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/assert": "^0.0.13",
+ "@0xproject/json-schemas": "^0.7.5",
+ "@0xproject/utils": "^0.2.2",
"isomorphic-fetch": "^2.2.1",
"lodash": "^4.17.4",
"query-string": "^5.0.1",
"websocket": "^1.0.25"
},
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/fetch-mock": "^5.12.1",
"@types/lodash": "^4.14.86",
"@types/mocha": "^2.2.42",
@@ -48,7 +53,7 @@
"@types/websocket": "^0.0.34",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
- "chai-as-promised-typescript-typings": "^0.0.4",
+ "chai-as-promised-typescript-typings": "^0.0.6",
"chai-typescript-typings": "^0.0.2",
"copyfiles": "^1.2.0",
"dirty-chai": "^2.0.1",
@@ -59,6 +64,6 @@
"tslint": "5.8.0",
"typedoc": "~0.8.0",
"typescript": "~2.6.1",
- "web3-typescript-typings": "^0.9.4"
+ "web3-typescript-typings": "^0.9.6"
}
}
diff --git a/packages/contracts/package.json b/packages/contracts/package.json
index 3049c1666..b3af7c55d 100644
--- a/packages/contracts/package.json
+++ b/packages/contracts/package.json
@@ -1,18 +1,16 @@
{
"private": true,
"name": "contracts",
- "version": "2.1.4",
+ "version": "2.1.6",
"description": "Smart contract components of 0x protocol",
"main": "index.js",
"directories": {
"test": "test"
},
"scripts": {
- "build":
- "rm -rf ./lib; copyfiles ./build/**/* ./deploy/solc/solc_bin/* ./deploy/test/fixtures/contracts/**/* ./deploy/test/fixtures/contracts/* ./lib; tsc;",
+ "build": "rm -rf ./lib; copyfiles ./build/**/* ./deploy/solc/solc_bin/* ./deploy/test/fixtures/contracts/**/* ./deploy/test/fixtures/contracts/* ./lib; tsc;",
"test": "npm run build; truffle test",
- "compile:comment":
- "Yarn workspaces do not link binaries correctly so we need to reference them directly https://github.com/yarnpkg/yarn/issues/3846",
+ "compile:comment": "Yarn workspaces do not link binaries correctly so we need to reference them directly https://github.com/yarnpkg/yarn/issues/3846",
"compile": "node ../deployer/lib/src/cli.js compile",
"clean": "rm -rf ./lib",
"migrate": "node ../deployer/lib/src/cli.js migrate",
@@ -30,9 +28,9 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/contracts/README.md",
"devDependencies": {
- "@0xproject/dev-utils": "^0.0.5",
- "@0xproject/tslint-config": "^0.4.2",
- "@0xproject/types": "^0.1.4",
+ "@0xproject/dev-utils": "^0.0.7",
+ "@0xproject/tslint-config": "^0.4.4",
+ "@0xproject/types": "^0.1.6",
"@types/bluebird": "^3.5.3",
"@types/lodash": "^4.14.86",
"@types/node": "^8.0.53",
@@ -40,7 +38,7 @@
"@types/yargs": "^10.0.0",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
- "chai-as-promised-typescript-typings": "^0.0.4",
+ "chai-as-promised-typescript-typings": "^0.0.6",
"chai-bignumber": "^2.0.1",
"chai-typescript-typings": "^0.0.2",
"copyfiles": "^1.2.0",
@@ -52,15 +50,15 @@
"types-bn": "^0.0.1",
"types-ethereumjs-util": "0xProject/types-ethereumjs-util",
"typescript": "~2.6.1",
- "web3-typescript-typings": "^0.9.4",
+ "web3-typescript-typings": "^0.9.6",
"yargs": "^10.0.3"
},
"dependencies": {
- "0x.js": "^0.30.0",
- "@0xproject/deployer": "*",
- "@0xproject/json-schemas": "^0.7.3",
- "@0xproject/utils": "^0.2.0",
- "@0xproject/web3-wrapper": "^0.1.5",
+ "0x.js": "^0.30.2",
+ "@0xproject/deployer": "^0.0.3",
+ "@0xproject/json-schemas": "^0.7.5",
+ "@0xproject/utils": "^0.2.2",
+ "@0xproject/web3-wrapper": "^0.1.7",
"bluebird": "^3.5.0",
"bn.js": "^4.11.8",
"ethereumjs-abi": "^0.6.4",
diff --git a/packages/deployer/package.json b/packages/deployer/package.json
index b359382c5..423d3bad8 100644
--- a/packages/deployer/package.json
+++ b/packages/deployer/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/deployer",
- "version": "0.0.1",
+ "version": "0.0.3",
"description": "Smart contract deployer of 0x protocol",
"main": "lib/src/cli.js",
"scripts": {
@@ -27,17 +27,17 @@
"homepage": "https://github.com/0xProject/0x.js/packages/deployer/README.md",
"devDependencies": {
"copyfiles": "^1.2.0",
- "web3-typescript-typings": "^0.9.3",
"types-bn": "^0.0.1",
- "typescript": "~2.6.1"
+ "typescript": "~2.6.1",
+ "web3-typescript-typings": "^0.9.6"
},
"dependencies": {
"@0xproject/utils": "^0.1.3",
- "@0xproject/web3-wrapper": "^0.1.4",
+ "@0xproject/web3-wrapper": "^0.1.7",
"lodash": "^4.17.4",
"solc": "^0.4.18",
- "yargs": "^10.0.3",
+ "web3": "^0.20.0",
"web3-eth-abi": "^1.0.0-beta.24",
- "web3": "^0.20.0"
+ "yargs": "^10.0.3"
}
}
diff --git a/packages/dev-utils/package.json b/packages/dev-utils/package.json
index 4a68dc2d4..ea940fb1d 100644
--- a/packages/dev-utils/package.json
+++ b/packages/dev-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/dev-utils",
- "version": "0.0.5",
+ "version": "0.0.7",
"description": "0x dev TS utils",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -19,7 +19,7 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/dev-utils/README.md",
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/lodash": "^4.14.86",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
@@ -29,7 +29,7 @@
"typescript": "~2.6.1"
},
"dependencies": {
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/utils": "^0.2.2",
"ethereumjs-util": "^5.1.2",
"lodash": "^4.17.4",
"request-promise-native": "^1.0.5"
diff --git a/packages/json-schemas/package.json b/packages/json-schemas/package.json
index 0f2fd156a..d67cb64f7 100644
--- a/packages/json-schemas/package.json
+++ b/packages/json-schemas/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/json-schemas",
- "version": "0.7.3",
+ "version": "0.7.5",
"description": "0x-related json schemas",
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
@@ -27,8 +27,8 @@
"lodash.values": "^4.3.0"
},
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/tslint-config": "^0.4.4",
+ "@0xproject/utils": "^0.2.2",
"@types/lodash.foreach": "^4.5.3",
"@types/lodash.values": "^4.3.3",
"@types/mocha": "^2.2.42",
diff --git a/packages/kovan-faucets/src/ts/handler.ts b/packages/kovan-faucets/src/ts/handler.ts
deleted file mode 100644
index 4bf776264..000000000
--- a/packages/kovan-faucets/src/ts/handler.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import * as express from 'express';
-import * as _ from 'lodash';
-import ProviderEngine = require('web3-provider-engine');
-import HookedWalletSubprovider = require('web3-provider-engine/subproviders/hooked-wallet');
-import NonceSubprovider = require('web3-provider-engine/subproviders/nonce-tracker');
-import RpcSubprovider = require('web3-provider-engine/subproviders/rpc');
-
-import { configs } from './configs';
-import { EtherRequestQueue } from './ether_request_queue';
-import { idManagement } from './id_management';
-import { utils } from './utils';
-import { ZRXRequestQueue } from './zrx_request_queue';
-
-// HACK: web3 leaks XMLHttpRequest into the global scope and causes requests to hang
-// because they are using the wrong XHR package.
-// Filed issue: https://github.com/ethereum/web3.js/issues/844
-// tslint:disable-next-line:ordered-imports
-import * as Web3 from 'web3';
-
-export class Handler {
- private _etherRequestQueue: EtherRequestQueue;
- private _zrxRequestQueue: ZRXRequestQueue;
- private _web3: Web3;
- constructor() {
- // Setup provider engine to talk with RPC node
- const providerObj = this._createProviderEngine(configs.RPC_URL);
- this._web3 = new Web3(providerObj);
-
- this._etherRequestQueue = new EtherRequestQueue(this._web3);
- this._zrxRequestQueue = new ZRXRequestQueue(this._web3);
- }
- public dispenseEther(req: express.Request, res: express.Response) {
- const recipientAddress = req.params.recipient;
- if (_.isUndefined(recipientAddress) || !this._isValidEthereumAddress(recipientAddress)) {
- res.status(400).send('INVALID_REQUEST');
- return;
- }
- const lowerCaseRecipientAddress = recipientAddress.toLowerCase();
- const didAddToQueue = this._etherRequestQueue.add(lowerCaseRecipientAddress);
- if (!didAddToQueue) {
- res.status(503).send('QUEUE_IS_FULL');
- return;
- }
- utils.consoleLog(`Added ${lowerCaseRecipientAddress} to the ETH queue`);
- res.status(200).end();
- }
- public dispenseZRX(req: express.Request, res: express.Response) {
- const recipientAddress = req.params.recipient;
- if (_.isUndefined(recipientAddress) || !this._isValidEthereumAddress(recipientAddress)) {
- res.status(400).send('INVALID_REQUEST');
- return;
- }
- const lowerCaseRecipientAddress = recipientAddress.toLowerCase();
- const didAddToQueue = this._zrxRequestQueue.add(lowerCaseRecipientAddress);
- if (!didAddToQueue) {
- res.status(503).send('QUEUE_IS_FULL');
- return;
- }
- utils.consoleLog(`Added ${lowerCaseRecipientAddress} to the ZRX queue`);
- res.status(200).end();
- }
- public getQueueInfo(req: express.Request, res: express.Response) {
- res.setHeader('Content-Type', 'application/json');
- const payload = JSON.stringify({
- ether: {
- full: this._etherRequestQueue.isFull(),
- size: this._etherRequestQueue.size(),
- },
- zrx: {
- full: this._zrxRequestQueue.isFull(),
- size: this._zrxRequestQueue.size(),
- },
- });
- res.status(200).send(payload);
- }
- // tslint:disable-next-line:prefer-function-over-method
- private _createProviderEngine(rpcUrl: string) {
- const engine = new ProviderEngine();
- engine.addProvider(new NonceSubprovider());
- engine.addProvider(new HookedWalletSubprovider(idManagement));
- engine.addProvider(
- new RpcSubprovider({
- rpcUrl,
- }),
- );
- engine.start();
- return engine;
- }
- private _isValidEthereumAddress(address: string): boolean {
- const lowercaseAddress = address.toLowerCase();
- return this._web3.isAddress(lowercaseAddress);
- }
-}
diff --git a/packages/monorepo-scripts/package.json b/packages/monorepo-scripts/package.json
index 6a62e22dd..2bf2aa796 100644
--- a/packages/monorepo-scripts/package.json
+++ b/packages/monorepo-scripts/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/monorepo-scripts",
- "version": "0.1.4",
+ "version": "0.1.6",
"private": true,
"description": "Helper scripts for the monorepo",
"scripts": {
@@ -19,7 +19,7 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/monorepo-scripts/README.md",
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/glob": "^5.0.33",
"@types/node": "^8.0.53",
"shx": "^0.2.2",
diff --git a/packages/subproviders/package.json b/packages/subproviders/package.json
index 05464a11e..146c94496 100644
--- a/packages/subproviders/package.json
+++ b/packages/subproviders/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/subproviders",
- "version": "0.3.1",
+ "version": "0.3.3",
"main": "lib/src/index.js",
"types": "lib/src/index.d.ts",
"license": "Apache-2.0",
@@ -17,8 +17,8 @@
"test:integration": "run-s clean build run_mocha_integration"
},
"dependencies": {
- "@0xproject/assert": "^0.0.11",
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/assert": "^0.0.13",
+ "@0xproject/utils": "^0.2.2",
"bn.js": "^4.11.8",
"es6-promisify": "^5.0.0",
"ethereumjs-tx": "^1.3.3",
@@ -31,15 +31,15 @@
"web3-provider-engine": "^13.0.1"
},
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/tslint-config": "^0.4.4",
+ "@0xproject/utils": "^0.2.2",
"@types/lodash": "^4.14.86",
"@types/mocha": "^2.2.42",
"@types/node": "^8.0.53",
"awesome-typescript-loader": "^3.1.3",
"chai": "^4.0.1",
"chai-as-promised": "^7.1.0",
- "chai-as-promised-typescript-typings": "^0.0.4",
+ "chai-as-promised-typescript-typings": "^0.0.6",
"chai-typescript-typings": "^0.0.2",
"dirty-chai": "^2.0.1",
"mocha": "^4.0.1",
diff --git a/packages/kovan-faucets/Dockerfile b/packages/testnet-faucets/Dockerfile
index 6d6ddc192..6d6ddc192 100644
--- a/packages/kovan-faucets/Dockerfile
+++ b/packages/testnet-faucets/Dockerfile
diff --git a/packages/kovan-faucets/README.md b/packages/testnet-faucets/README.md
index 07bd23575..a52d16a00 100644
--- a/packages/kovan-faucets/README.md
+++ b/packages/testnet-faucets/README.md
@@ -1,4 +1,4 @@
-## @0xproject/kovan_faucets
+## @0xproject/testnet-faucets
This faucet dispenses 0.1 test ether to one recipient per second and 0.1 test ZRX every 5 seconds. It has a max queue size of 1000.
@@ -31,14 +31,19 @@ yarn install
Set the following environment variables:
```bash
-export FAUCET_ENVIRONMENT=development
export DISPENSER_ADDRESS=0x5409ed021d9299bf6814279a6a1411a7e866a631
export DISPENSER_PRIVATE_KEY=f2f48ee19680706196e2e339e5da3491186e0c4c5030670656b0e0164837257d
export FAUCET_ROLLBAR_ACCESS_KEY={GET_THIS_FROM_ROLLBAR_ACCOUNT_SETTINGS}
export INFURA_API_KEY={GET_THIS_FROM_INFURA}
```
-Infura API Key can be requested here: https://infura.io/register.html
+If you want to talk to testrpc, set the following environment variable:
+
+```bash
+export FAUCET_ENVIRONMENT=development
+```
+
+Infura API Key can be requested here: https://infura.io/signup
Note: The above public/private keys exist when running `testrpc` with the following option `--mnemonic concert load couple harbor equip island argue ramp clarify fence smart topic`.
@@ -48,27 +53,73 @@ yarn dev
### Endpoints
+`GET /ping`
+
+Returns `pong`
+
+`GET /info`
+
+Returns a JSON payload describing the state of the queues for each network. For example:
+
+```json
+{
+ "3": {
+ "ether": {
+ "full": false,
+ "size": 4
+ },
+ "zrx": {
+ "full": false,
+ "size": 6
+ }
+ },
+ "42": {
+ "ether": {
+ "full": false,
+ "size": 8
+ },
+ "zrx": {
+ "full": false,
+ "size": 20
+ }
+ }
+}
+```
+
`GET /ether/:recipient`
-Where recipient_address is a hex encoded Ethereum address prefixed with `0x`.
+Where recipient is a hex encoded Ethereum address prefixed with `0x`.
`GET /zrx/:recipient`
-Where recipient_address is a hex encoded Ethereum address prefixed with `0x`.
+Where recipient is a hex encoded Ethereum address prefixed with `0x`.
+
+#### Parameters
+
+The endpoints `/ether` and `/zrx` take a query parameter named `networkId` to specify the desired network where you would like to receive the ETH or ZRX. For example:
+
+```bash
+curl -i http://localhost:3000/ether/0x14e2F1F157E7DD4057D02817436D628A37120FD1\?networkId=3
+```
+
+This command will request the local server to initiate a transfer of 0.1 ETH from the dispensing address to `0x14e2F1F157E7DD4057D02817436D628A37120FD1` on the Ropsten testnet.
+
+If no `networkId` is provided via query parameters the faucet will default to network 42 (Kovan)
### Docker configs
```
docker run -d \
-p 80:3000 \
---name kovan-faucets \
+--name testnet-faucets \
--log-opt max-size=100m \
--log-opt max-file=20 \
-e DISPENSER_ADDRESS=$DISPENSER_ADDRESS \
-e DISPENSER_PRIVATE_KEY=$DISPENSER_PRIVATE_KEY \
-e FAUCET_ROLLBAR_ACCESS_KEY=$FAUCET_ROLLBAR_ACCESS_KEY \
-e FAUCET_ENVIRONMENT=production \
-kovan-faucets
+-e INFURA_API_KEY=$INFURA_API_KEY \
+testnet-faucets
```
### Lint
diff --git a/packages/kovan-faucets/gulpfile.js b/packages/testnet-faucets/gulpfile.js
index 773faf33a..773faf33a 100644
--- a/packages/kovan-faucets/gulpfile.js
+++ b/packages/testnet-faucets/gulpfile.js
diff --git a/packages/kovan-faucets/package.json b/packages/testnet-faucets/package.json
index eab0dc677..6c27df0d5 100644
--- a/packages/kovan-faucets/package.json
+++ b/packages/testnet-faucets/package.json
@@ -1,7 +1,7 @@
{
"private": true,
- "name": "@0xproject/kovan_faucets",
- "version": "1.0.5",
+ "name": "@0xproject/testnet-faucets",
+ "version": "1.0.7",
"description": "A faucet micro-service that dispenses test ERC20 tokens or Ether",
"main": "server.js",
"scripts": {
@@ -14,8 +14,8 @@
"author": "Fabio Berger",
"license": "Apache-2.0",
"dependencies": {
- "0x.js": "^0.30.0",
- "@0xproject/utils": "^0.2.0",
+ "0x.js": "^0.30.2",
+ "@0xproject/utils": "^0.2.2",
"body-parser": "^1.17.1",
"ethereumjs-tx": "^1.3.3",
"express": "^4.15.2",
@@ -25,7 +25,7 @@
"web3-provider-engine": "^13.0.1"
},
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/body-parser": "^1.16.1",
"@types/express": "^4.0.35",
"@types/lodash": "^4.14.86",
@@ -36,7 +36,7 @@
"source-map-loader": "^0.1.6",
"tslint": "5.8.0",
"typescript": "~2.6.1",
- "web3-typescript-typings": "^0.9.4",
+ "web3-typescript-typings": "^0.9.6",
"webpack": "^3.1.0",
"webpack-node-externals": "^1.6.0"
}
diff --git a/packages/kovan-faucets/scripts/postpublish.js b/packages/testnet-faucets/scripts/postpublish.js
index 16d67e03f..16d67e03f 100644
--- a/packages/kovan-faucets/scripts/postpublish.js
+++ b/packages/testnet-faucets/scripts/postpublish.js
diff --git a/packages/kovan-faucets/src/ts/configs.ts b/packages/testnet-faucets/src/ts/configs.ts
index 2e5a7f64d..038c8e22a 100644
--- a/packages/kovan-faucets/src/ts/configs.ts
+++ b/packages/testnet-faucets/src/ts/configs.ts
@@ -2,11 +2,6 @@ export const configs = {
DISPENSER_ADDRESS: (process.env.DISPENSER_ADDRESS as string).toLowerCase(),
DISPENSER_PRIVATE_KEY: process.env.DISPENSER_PRIVATE_KEY,
ENVIRONMENT: process.env.FAUCET_ENVIRONMENT,
+ INFURA_API_KEY: process.env.INFURA_API_KEY,
ROLLBAR_ACCESS_KEY: process.env.FAUCET_ROLLBAR_ACCESS_KEY,
- RPC_URL:
- process.env.FAUCET_ENVIRONMENT === 'development'
- ? 'http://127.0.0.1:8545'
- : `https://kovan.infura.io/${process.env.INFURA_API_KEY}`,
- ZRX_TOKEN_ADDRESS: '0x6ff6c0ff1d68b964901f986d4c9fa3ac68346570',
- KOVAN_NETWORK_ID: 42,
};
diff --git a/packages/kovan-faucets/src/ts/error_reporter.ts b/packages/testnet-faucets/src/ts/error_reporter.ts
index 6865d3893..6865d3893 100644
--- a/packages/kovan-faucets/src/ts/error_reporter.ts
+++ b/packages/testnet-faucets/src/ts/error_reporter.ts
diff --git a/packages/kovan-faucets/src/ts/ether_request_queue.ts b/packages/testnet-faucets/src/ts/ether_request_queue.ts
index 1c4b19ab9..1c4b19ab9 100644
--- a/packages/kovan-faucets/src/ts/ether_request_queue.ts
+++ b/packages/testnet-faucets/src/ts/ether_request_queue.ts
diff --git a/packages/kovan-faucets/src/ts/global.d.ts b/packages/testnet-faucets/src/ts/global.d.ts
index 97cd35680..97cd35680 100644
--- a/packages/kovan-faucets/src/ts/global.d.ts
+++ b/packages/testnet-faucets/src/ts/global.d.ts
diff --git a/packages/testnet-faucets/src/ts/handler.ts b/packages/testnet-faucets/src/ts/handler.ts
new file mode 100644
index 000000000..bf5b3e81e
--- /dev/null
+++ b/packages/testnet-faucets/src/ts/handler.ts
@@ -0,0 +1,114 @@
+import { addressUtils } from '@0xproject/utils';
+import * as express from 'express';
+import * as _ from 'lodash';
+import ProviderEngine = require('web3-provider-engine');
+import HookedWalletSubprovider = require('web3-provider-engine/subproviders/hooked-wallet');
+import NonceSubprovider = require('web3-provider-engine/subproviders/nonce-tracker');
+import RpcSubprovider = require('web3-provider-engine/subproviders/rpc');
+
+import { EtherRequestQueue } from './ether_request_queue';
+import { idManagement } from './id_management';
+import { RequestQueue } from './request_queue';
+import { rpcUrls } from './rpc_urls';
+import { utils } from './utils';
+import { ZRXRequestQueue } from './zrx_request_queue';
+
+// HACK: web3 leaks XMLHttpRequest into the global scope and causes requests to hang
+// because they are using the wrong XHR package.
+// Filed issue: https://github.com/ethereum/web3.js/issues/844
+// tslint:disable-next-line:ordered-imports
+import * as Web3 from 'web3';
+
+interface RequestQueueByNetworkId {
+ [networkId: string]: RequestQueue;
+}
+
+enum QueueType {
+ ETH = 'ETH',
+ ZRX = 'ZRX',
+}
+
+const DEFAULT_NETWORK_ID = 42; // kovan
+
+export class Handler {
+ private _etherRequestQueueByNetworkId: RequestQueueByNetworkId = {};
+ private _zrxRequestQueueByNetworkId: RequestQueueByNetworkId = {};
+ constructor() {
+ _.forIn(rpcUrls, (rpcUrl: string, networkId: string) => {
+ const providerObj = this._createProviderEngine(rpcUrl);
+ const web3 = new Web3(providerObj);
+ this._etherRequestQueueByNetworkId[networkId] = new EtherRequestQueue(web3);
+ this._zrxRequestQueueByNetworkId[networkId] = new ZRXRequestQueue(web3, +networkId);
+ });
+ }
+ public getQueueInfo(req: express.Request, res: express.Response) {
+ res.setHeader('Content-Type', 'application/json');
+ const queueInfo = _.mapValues(rpcUrls, (rpcUrl: string, networkId: string) => {
+ utils.consoleLog(networkId);
+ const etherRequestQueue = this._etherRequestQueueByNetworkId[networkId];
+ const zrxRequestQueue = this._zrxRequestQueueByNetworkId[networkId];
+ return {
+ ether: {
+ full: etherRequestQueue.isFull(),
+ size: etherRequestQueue.size(),
+ },
+ zrx: {
+ full: zrxRequestQueue.isFull(),
+ size: zrxRequestQueue.size(),
+ },
+ };
+ });
+ const payload = JSON.stringify(queueInfo);
+ res.status(200).send(payload);
+ }
+ public dispenseEther(req: express.Request, res: express.Response) {
+ this._dispense(req, res, this._etherRequestQueueByNetworkId, QueueType.ETH);
+ }
+ public dispenseZRX(req: express.Request, res: express.Response) {
+ this._dispense(req, res, this._zrxRequestQueueByNetworkId, QueueType.ZRX);
+ }
+ private _dispense(
+ req: express.Request,
+ res: express.Response,
+ requestQueueByNetworkId: RequestQueueByNetworkId,
+ queueType: QueueType,
+ ) {
+ const recipientAddress = req.params.recipient;
+ if (_.isUndefined(recipientAddress) || !this._isValidEthereumAddress(recipientAddress)) {
+ res.status(400).send('INVALID_RECIPIENT_ADDRESS');
+ return;
+ }
+ const networkId = _.get(req.query, 'networkId', DEFAULT_NETWORK_ID);
+ const requestQueue = _.get(requestQueueByNetworkId, networkId);
+ if (_.isUndefined(requestQueue)) {
+ res.status(400).send('INVALID_NETWORK_ID');
+ return;
+ }
+ const lowerCaseRecipientAddress = recipientAddress.toLowerCase();
+ const didAddToQueue = requestQueue.add(lowerCaseRecipientAddress);
+ if (!didAddToQueue) {
+ res.status(503).send('QUEUE_IS_FULL');
+ return;
+ }
+ utils.consoleLog(`Added ${lowerCaseRecipientAddress} to queue: ${queueType} networkId: ${networkId}`);
+ res.status(200).end();
+ }
+ // tslint:disable-next-line:prefer-function-over-method
+ private _createProviderEngine(rpcUrl: string) {
+ const engine = new ProviderEngine();
+ engine.addProvider(new NonceSubprovider());
+ engine.addProvider(new HookedWalletSubprovider(idManagement));
+ engine.addProvider(
+ new RpcSubprovider({
+ rpcUrl,
+ }),
+ );
+ engine.start();
+ return engine;
+ }
+ // tslint:disable-next-line:prefer-function-over-method
+ private _isValidEthereumAddress(address: string): boolean {
+ const lowercaseAddress = address.toLowerCase();
+ return addressUtils.isAddress(lowercaseAddress);
+ }
+}
diff --git a/packages/kovan-faucets/src/ts/id_management.ts b/packages/testnet-faucets/src/ts/id_management.ts
index 930821172..db9b610a3 100644
--- a/packages/kovan-faucets/src/ts/id_management.ts
+++ b/packages/testnet-faucets/src/ts/id_management.ts
@@ -1,13 +1,11 @@
import EthereumTx = require('ethereumjs-tx');
import { configs } from './configs';
-import { utils } from './utils';
type Callback = (err: Error | null, accounts: any) => void;
export const idManagement = {
getAccounts(callback: Callback) {
- utils.consoleLog(`configs.DISPENSER_ADDRESS: ${configs.DISPENSER_ADDRESS}`);
callback(null, [configs.DISPENSER_ADDRESS]);
},
approveTransaction(txData: object, callback: Callback) {
diff --git a/packages/kovan-faucets/src/ts/request_queue.ts b/packages/testnet-faucets/src/ts/request_queue.ts
index 2b42ca4bf..20f2833a1 100644
--- a/packages/kovan-faucets/src/ts/request_queue.ts
+++ b/packages/testnet-faucets/src/ts/request_queue.ts
@@ -51,6 +51,6 @@ export class RequestQueue {
}
// tslint:disable-next-line:prefer-function-over-method
protected async processNextRequestFireAndForgetAsync(recipientAddress: string) {
- throw new Error('Expected processNextRequestFireAndForgetAsync to be implemented by a superclass');
+ throw new Error('Expected processNextRequestFireAndForgetAsync to be implemented by a subclass');
}
}
diff --git a/packages/testnet-faucets/src/ts/rpc_urls.ts b/packages/testnet-faucets/src/ts/rpc_urls.ts
new file mode 100644
index 000000000..25a3b938f
--- /dev/null
+++ b/packages/testnet-faucets/src/ts/rpc_urls.ts
@@ -0,0 +1,13 @@
+import { configs } from './configs';
+
+const productionRpcUrls = {
+ '2': `https://ropsten.infura.io/${configs.INFURA_API_KEY}`,
+ '3': `https://rinkeby.infura.io/${configs.INFURA_API_KEY}`,
+ '42': `https://kovan.infura.io/${configs.INFURA_API_KEY}`,
+};
+
+const developmentRpcUrls = {
+ '50': 'http://127.0.0.1:8545',
+};
+
+export const rpcUrls = configs.ENVIRONMENT === 'development' ? developmentRpcUrls : productionRpcUrls;
diff --git a/packages/kovan-faucets/src/ts/server.ts b/packages/testnet-faucets/src/ts/server.ts
index 23642787d..26edfff5a 100644
--- a/packages/kovan-faucets/src/ts/server.ts
+++ b/packages/testnet-faucets/src/ts/server.ts
@@ -19,6 +19,7 @@ const handler = new Handler();
app.get('/ping', (req: express.Request, res: express.Response) => {
res.status(200).send('pong');
});
+app.get('/info', handler.getQueueInfo.bind(handler));
app.get('/ether/:recipient', handler.dispenseEther.bind(handler));
app.get('/zrx/:recipient', handler.dispenseZRX.bind(handler));
diff --git a/packages/kovan-faucets/src/ts/utils.ts b/packages/testnet-faucets/src/ts/utils.ts
index 893f82ca3..893f82ca3 100644
--- a/packages/kovan-faucets/src/ts/utils.ts
+++ b/packages/testnet-faucets/src/ts/utils.ts
diff --git a/packages/kovan-faucets/src/ts/zrx_request_queue.ts b/packages/testnet-faucets/src/ts/zrx_request_queue.ts
index bbc06f1de..3d73f9dd2 100644
--- a/packages/kovan-faucets/src/ts/zrx_request_queue.ts
+++ b/packages/testnet-faucets/src/ts/zrx_request_queue.ts
@@ -18,11 +18,11 @@ const QUEUE_INTERVAL_MS = 5000;
export class ZRXRequestQueue extends RequestQueue {
private _zeroEx: ZeroEx;
- constructor(web3: Web3) {
+ constructor(web3: Web3, networkId: number) {
super(web3);
this.queueIntervalMs = QUEUE_INTERVAL_MS;
const zeroExConfig = {
- networkId: configs.KOVAN_NETWORK_ID,
+ networkId,
};
this._zeroEx = new ZeroEx(web3.currentProvider, zeroExConfig);
}
@@ -30,13 +30,14 @@ export class ZRXRequestQueue extends RequestQueue {
utils.consoleLog(`Processing ZRX ${recipientAddress}`);
const baseUnitAmount = ZeroEx.toBaseUnitAmount(DISPENSE_AMOUNT_ZRX, 18);
try {
- await this._zeroEx.token.transferAsync(
- configs.ZRX_TOKEN_ADDRESS,
+ const zrxTokenAddress = this._zeroEx.exchange.getZRXTokenAddress();
+ const txHash = await this._zeroEx.token.transferAsync(
+ zrxTokenAddress,
configs.DISPENSER_ADDRESS,
recipientAddress,
baseUnitAmount,
);
- utils.consoleLog(`Sent ${DISPENSE_AMOUNT_ZRX} ZRX to ${recipientAddress}`);
+ utils.consoleLog(`Sent ${DISPENSE_AMOUNT_ZRX} ZRX to ${recipientAddress} tx: ${txHash}`);
} catch (err) {
utils.consoleLog(`Unexpected err: ${err} - ${JSON.stringify(err)}`);
await errorReporter.reportAsync(err);
diff --git a/packages/kovan-faucets/tsconfig.json b/packages/testnet-faucets/tsconfig.json
index 7f0c084ff..7f0c084ff 100644
--- a/packages/kovan-faucets/tsconfig.json
+++ b/packages/testnet-faucets/tsconfig.json
diff --git a/packages/kovan-faucets/tslint.json b/packages/testnet-faucets/tslint.json
index ffaefe83a..ffaefe83a 100644
--- a/packages/kovan-faucets/tslint.json
+++ b/packages/testnet-faucets/tslint.json
diff --git a/packages/tslint-config/package.json b/packages/tslint-config/package.json
index a53a8ab8a..fc015de26 100644
--- a/packages/tslint-config/package.json
+++ b/packages/tslint-config/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/tslint-config",
- "version": "0.4.2",
+ "version": "0.4.4",
"description": "Lint rules related to 0xProject for TSLint",
"main": "tslint.json",
"scripts": {
@@ -8,12 +8,22 @@
"clean": "shx rm -rf lib",
"lint": "tslint --project . 'rules/**/*.ts'"
},
- "files": ["tslint.js", "README.md", "LICENSE"],
+ "files": [
+ "tslint.js",
+ "README.md",
+ "LICENSE"
+ ],
"repository": {
"type": "git",
"url": "git://github.com/0xProject/0x.js.git"
},
- "keywords": ["tslint", "config", "0xProject", "typescript", "ts"],
+ "keywords": [
+ "tslint",
+ "config",
+ "0xProject",
+ "typescript",
+ "ts"
+ ],
"author": {
"name": "Fabio Berger",
"email": "fabio@0xproject.com"
diff --git a/packages/types/package.json b/packages/types/package.json
index ef8c29c7c..42a2be4e0 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/types",
- "version": "0.1.4",
+ "version": "0.1.6",
"description": "0x types",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -19,13 +19,13 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/types/README.md",
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"shx": "^0.2.2",
"tslint": "5.8.0",
"typescript": "~2.6.1"
},
"dependencies": {
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/utils": "^0.2.2",
"web3": "^0.20.0"
}
}
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 7cc58c35b..47a297859 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/utils",
- "version": "0.2.0",
+ "version": "0.2.2",
"description": "0x TS utils",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -19,7 +19,7 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/utils/README.md",
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
+ "@0xproject/tslint-config": "^0.4.4",
"@types/lodash": "^4.14.86",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
diff --git a/packages/web3-typescript-typings/CHANGELOG.md b/packages/web3-typescript-typings/CHANGELOG.md
index 46f70d864..56bb4ed48 100644
--- a/packages/web3-typescript-typings/CHANGELOG.md
+++ b/packages/web3-typescript-typings/CHANGELOG.md
@@ -2,5 +2,6 @@
## v0.9.3 - _January 11, 2018_
+* Fix `getTransactionReceipt` not returning null (#338)
* Add type for getData on a contract
* Fixed the `defaultAccount` not allowing for `undefined` value (#320)
diff --git a/packages/web3-typescript-typings/index.d.ts b/packages/web3-typescript-typings/index.d.ts
index ff379cb3d..cd34759ed 100644
--- a/packages/web3-typescript-typings/index.d.ts
+++ b/packages/web3-typescript-typings/index.d.ts
@@ -257,10 +257,10 @@ declare module 'web3' {
sign(address: string, data: string): string;
sign(address: string, data: string, callback: (err: Error, signature: string) => void): void;
- getTransactionReceipt(txHash: string): Web3.TransactionReceipt;
+ getTransactionReceipt(txHash: string): Web3.TransactionReceipt | null;
getTransactionReceipt(
txHash: string,
- callback: (err: Error, receipt: Web3.TransactionReceipt) => void,
+ callback: (err: Error, receipt: Web3.TransactionReceipt | null) => void,
): void;
// TODO block param
diff --git a/packages/web3-typescript-typings/package.json b/packages/web3-typescript-typings/package.json
index 5bf357566..958a4a646 100644
--- a/packages/web3-typescript-typings/package.json
+++ b/packages/web3-typescript-typings/package.json
@@ -1,6 +1,6 @@
{
"name": "web3-typescript-typings",
- "version": "0.9.4",
+ "version": "0.9.6",
"description": "Typescript type definitions for web3",
"main": "index.d.ts",
"types": "index.d.ts",
@@ -12,7 +12,9 @@
"url": "git+https://github.com/0xProject/0x.js.git"
},
"author": "Fabio Berger",
- "contributors": ["Leonid Logvinov <logvinov.leon@gmail.com>"],
+ "contributors": [
+ "Leonid Logvinov <logvinov.leon@gmail.com>"
+ ],
"license": "Apache-2.0",
"bugs": {
"url": "https://github.com/0xProject/0x.js/issues"
diff --git a/packages/web3-wrapper/package.json b/packages/web3-wrapper/package.json
index f2802bfbf..6a65582f9 100644
--- a/packages/web3-wrapper/package.json
+++ b/packages/web3-wrapper/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/web3-wrapper",
- "version": "0.1.5",
+ "version": "0.1.7",
"description": "Wraps around web3 and gives a nicer interface",
"main": "lib/index.js",
"types": "lib/index.d.ts",
@@ -19,17 +19,17 @@
},
"homepage": "https://github.com/0xProject/0x.js/packages/web3-wrapper/README.md",
"devDependencies": {
- "@0xproject/tslint-config": "^0.4.2",
- "@0xproject/types": "^0.1.4",
+ "@0xproject/tslint-config": "^0.4.4",
+ "@0xproject/types": "^0.1.6",
"@types/lodash": "^4.14.86",
"npm-run-all": "^4.1.2",
"shx": "^0.2.2",
"tslint": "5.8.0",
"typescript": "~2.6.1",
- "web3-typescript-typings": "^0.9.4"
+ "web3-typescript-typings": "^0.9.6"
},
"dependencies": {
- "@0xproject/utils": "^0.2.0",
+ "@0xproject/utils": "^0.2.2",
"lodash": "^4.17.4",
"web3": "^0.20.0"
}
diff --git a/packages/website/package.json b/packages/website/package.json
index 7d0f775d4..678893f59 100644
--- a/packages/website/package.json
+++ b/packages/website/package.json
@@ -1,6 +1,6 @@
{
"name": "@0xproject/website",
- "version": "0.0.7",
+ "version": "0.0.9",
"private": true,
"description": "Website and 0x portal dapp",
"scripts": {
@@ -8,12 +8,9 @@
"clean": "shx rm -f public/bundle*",
"lint": "tslint --project . 'ts/**/*.ts' 'ts/**/*.tsx'",
"dev": "webpack-dev-server --content-base public --https",
- "update_contracts":
- "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../website/contracts; done;",
- "deploy_staging":
- "npm run build; aws s3 sync ./public/. s3://staging-0xproject --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers",
- "deploy_live":
- "npm run build; aws s3 sync ./public/. s3://0xproject.com --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers"
+ "update_contracts": "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../website/contracts; done;",
+ "deploy_staging": "npm run build; aws s3 sync ./public/. s3://staging-0xproject --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers",
+ "deploy_live": "npm run build; aws s3 sync ./public/. s3://0xproject.com --profile 0xproject --region us-east-1 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers"
},
"config": {
"artifacts": "Mintable"
@@ -21,9 +18,9 @@
"author": "Fabio Berger",
"license": "Apache-2.0",
"dependencies": {
- "0x.js": "^0.30.0",
- "@0xproject/subproviders": "^0.3.1",
- "@0xproject/utils": "^0.2.0",
+ "0x.js": "^0.30.2",
+ "@0xproject/subproviders": "^0.3.3",
+ "@0xproject/utils": "^0.2.2",
"accounting": "^0.4.1",
"basscss": "^8.0.3",
"blockies": "^0.0.2",
@@ -101,7 +98,7 @@
"style-loader": "0.13.x",
"tslint": "5.8.0",
"typescript": "~2.6.1",
- "web3-typescript-typings": "^0.9.4",
+ "web3-typescript-typings": "^0.9.6",
"webpack": "^3.1.0",
"webpack-dev-middleware": "^1.10.0",
"webpack-dev-server": "^2.5.0"
diff --git a/yarn.lock b/yarn.lock
index 9a4a4ec38..b7a1bce60 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,7 +2,7 @@
# yarn lockfile v1
-"@0xproject/utils@^0.1.0", "@0xproject/utils@^0.1.3":
+"@0xproject/utils@^0.1.3":
version "0.1.3"
resolved "https://registry.yarnpkg.com/@0xproject/utils/-/utils-0.1.3.tgz#58a9c7e19ab7710e0af17a0c2f1c7fc1b3140e85"
dependencies: