diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2018-02-07 07:36:00 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2018-02-07 07:36:00 +0800 |
commit | 36a49966eb4d5b78192cb5fa76c98755ef092f8b (patch) | |
tree | 7100b22aa1c4ac824bd054fefdae53e9df0aab9a /packages/testnet-faucets | |
parent | f818d06b43ae9279c4ee022685e3bcb9f27ba2fd (diff) | |
parent | 548246c05f128d23d701d9b738ce53deaf783f63 (diff) | |
download | dexon-0x-contracts-36a49966eb4d5b78192cb5fa76c98755ef092f8b.tar.gz dexon-0x-contracts-36a49966eb4d5b78192cb5fa76c98755ef092f8b.tar.zst dexon-0x-contracts-36a49966eb4d5b78192cb5fa76c98755ef092f8b.zip |
Merge branch 'development' into feature/testnet-faucets/order-dispenser
* development:
Attribute the origins of NonceTracker
Move BlockParamLiteral to shared types package
Fixes
Move BlockParam and BlockParamLiteral to shared types
Rename called to something more readable
Newline prettier/lint
Yarn.lock
Refactor tests for reuse of the fixture subprovider
Remove re-fetch of transaction count on error
Disable linter for multiple class declarations
Remove double declaration
Enable CIRCLECI and declare web3
Test faucets to use new NonceTracker
Update changelog
Readability and prettier
Prettify
Nonce tracker subprovider Caches the nonce when a request to getTransactionCount is made and increments the pending nonce after successful transactions
Diffstat (limited to 'packages/testnet-faucets')
-rw-r--r-- | packages/testnet-faucets/Dockerfile | 5 | ||||
-rw-r--r-- | packages/testnet-faucets/package.json | 1 | ||||
-rw-r--r-- | packages/testnet-faucets/src/ts/global.d.ts | 15 | ||||
-rw-r--r-- | packages/testnet-faucets/src/ts/handler.ts | 4 |
4 files changed, 22 insertions, 3 deletions
diff --git a/packages/testnet-faucets/Dockerfile b/packages/testnet-faucets/Dockerfile index 6d6ddc192..bd1dcc4a4 100644 --- a/packages/testnet-faucets/Dockerfile +++ b/packages/testnet-faucets/Dockerfile @@ -2,6 +2,11 @@ FROM node WORKDIR /src +# Ledger Provider (in the Subproviders package) requires node-hid at dependency install time +# which compiles and expects certain USB developer library packages to be present +RUN apt-get -qq update && apt-get install -y libhidapi-dev libusb-1.0-0-dev +# Our fork of ledgerco disables requiring node-hid at run time if CIRCLECI is set to true +ENV CIRCLECI=true COPY package.json . RUN npm i RUN npm install forever -g diff --git a/packages/testnet-faucets/package.json b/packages/testnet-faucets/package.json index 9efacae0a..53c2f75e9 100644 --- a/packages/testnet-faucets/package.json +++ b/packages/testnet-faucets/package.json @@ -17,6 +17,7 @@ "dependencies": { "0x.js": "^0.32.0", "@0xproject/utils": "^0.3.0", + "@0xproject/subproviders": "^0.3.5", "body-parser": "^1.17.1", "ethereumjs-tx": "^1.3.3", "ethereumjs-util": "^5.1.1", diff --git a/packages/testnet-faucets/src/ts/global.d.ts b/packages/testnet-faucets/src/ts/global.d.ts index 97cd35680..41a2f3a8a 100644 --- a/packages/testnet-faucets/src/ts/global.d.ts +++ b/packages/testnet-faucets/src/ts/global.d.ts @@ -1,5 +1,4 @@ declare module 'rollbar'; -declare module 'web3-provider-engine'; declare module 'web3-provider-engine/subproviders/rpc'; declare module 'web3-provider-engine/subproviders/nonce-tracker'; declare module 'web3-provider-engine/subproviders/hooked-wallet'; @@ -24,3 +23,17 @@ declare module 'ethereumjs-tx' { } export = EthereumTx; } + +/* tslint:disable */ +declare module 'web3-provider-engine' { + class Web3ProviderEngine { + public on(event: string, handler: () => void): void; + public send(payload: any): void; + public sendAsync(payload: any, callback: (error: any, response: any) => void): void; + public addProvider(provider: any): void; + public start(): void; + public stop(): void; + } + export = Web3ProviderEngine; +} +/* tslint:enable */ diff --git a/packages/testnet-faucets/src/ts/handler.ts b/packages/testnet-faucets/src/ts/handler.ts index e9ced3437..d96b90802 100644 --- a/packages/testnet-faucets/src/ts/handler.ts +++ b/packages/testnet-faucets/src/ts/handler.ts @@ -1,4 +1,5 @@ import { Order, SignedOrder, ZeroEx } from '0x.js'; +import { NonceTrackerSubprovider } from '@0xproject/subproviders'; import { BigNumber } from '@0xproject/utils'; import * as express from 'express'; import * as _ from 'lodash'; @@ -11,7 +12,6 @@ import * as Web3 from 'web3'; (global as any).XMLHttpRequest = undefined; 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'; @@ -61,7 +61,7 @@ export class Handler { } private static _createProviderEngine(rpcUrl: string) { const engine = new ProviderEngine(); - engine.addProvider(new NonceSubprovider()); + engine.addProvider(new NonceTrackerSubprovider()); engine.addProvider(new HookedWalletSubprovider(idManagement)); engine.addProvider( new RpcSubprovider({ |