diff options
author | Fabio Berger <me@fabioberger.com> | 2018-01-30 21:00:35 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-01-30 21:00:35 +0800 |
commit | 69151c06e42fd588506db3aa62b95df5b4399607 (patch) | |
tree | 878532483594627a5283f784ced0a2c0cfc68d59 /packages/kovan-faucets | |
parent | 86cc011212088801a778d947ae925cc0b1ddadf8 (diff) | |
parent | 2e3c02887efc24de35ce82b3662d9c47a0056a8c (diff) | |
download | dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.tar dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.tar.gz dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.tar.bz2 dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.tar.lz dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.tar.xz dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.tar.zst dexon-sol-tools-69151c06e42fd588506db3aa62b95df5b4399607.zip |
Merge branch 'development' into feature/portal-ledger-support
* development:
Publish
Add PR number
Add config file specifically in prettier command and fix files
Fix prettier
Fix prettier
Add shouldAddPersonalMessagePrefix param to signOrderHashAsync instead of trying to infer whether to add it or not from the nodeVersion
Publish
Move @0xproject/types to dependencies
Updated web3-typescript-typings changelog
Fixed getTransactionReceipt not returning null
Run prettier
Update changelog
Add Rinkeby addresses to artifacts
Fix bad merge on package.json
Respond to GH comments and add /info endpoint
Change package name to @0xproject/testnet-faucets
Implement testnet faucets for any testnet available via infura
Rename to testnet-faucets
Add to the Pull Request Template
Create an ISSUE TEMPLATE
Diffstat (limited to 'packages/kovan-faucets')
-rw-r--r-- | packages/kovan-faucets/Dockerfile | 13 | ||||
-rw-r--r-- | packages/kovan-faucets/README.md | 78 | ||||
-rw-r--r-- | packages/kovan-faucets/gulpfile.js | 92 | ||||
-rw-r--r-- | packages/kovan-faucets/package.json | 43 | ||||
-rw-r--r-- | packages/kovan-faucets/scripts/postpublish.js | 15 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/configs.ts | 12 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/error_reporter.ts | 40 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/ether_request_queue.ts | 27 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/global.d.ts | 26 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/handler.ts | 93 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/id_management.ts | 23 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/request_queue.ts | 56 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/server.ts | 28 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/utils.ts | 7 | ||||
-rw-r--r-- | packages/kovan-faucets/src/ts/zrx_request_queue.ts | 45 | ||||
-rw-r--r-- | packages/kovan-faucets/tsconfig.json | 7 | ||||
-rw-r--r-- | packages/kovan-faucets/tslint.json | 3 |
17 files changed, 0 insertions, 608 deletions
diff --git a/packages/kovan-faucets/Dockerfile b/packages/kovan-faucets/Dockerfile deleted file mode 100644 index 6d6ddc192..000000000 --- a/packages/kovan-faucets/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM node - -WORKDIR /src - -COPY package.json . -RUN npm i -RUN npm install forever -g - -COPY . . - -EXPOSE 3000 - -CMD ["forever", "./bin/server.js"] diff --git a/packages/kovan-faucets/README.md b/packages/kovan-faucets/README.md deleted file mode 100644 index 07bd23575..000000000 --- a/packages/kovan-faucets/README.md +++ /dev/null @@ -1,78 +0,0 @@ -## @0xproject/kovan_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. - -## Installation - -This is a private package and therefore is not published to npm. In order to build and run this package locally, see the [Install Dependencies](#Install-Dependencies) section and onwards below. - -## Contributing - -We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository. - -Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started. - -### Install Dependencies - -If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them: - -```bash -yarn config set workspaces-experimental true -``` - -Then install dependencies - -```bash -yarn install -``` - -### Start - -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 - -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`. - -```bash -yarn dev -``` - -### Endpoints - -`GET /ether/:recipient` - -Where recipient_address is a hex encoded Ethereum address prefixed with `0x`. - -`GET /zrx/:recipient` - -Where recipient_address is a hex encoded Ethereum address prefixed with `0x`. - -### Docker configs - -``` -docker run -d \ --p 80:3000 \ ---name kovan-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 -``` - -### Lint - -```bash -yarn lint -``` diff --git a/packages/kovan-faucets/gulpfile.js b/packages/kovan-faucets/gulpfile.js deleted file mode 100644 index 773faf33a..000000000 --- a/packages/kovan-faucets/gulpfile.js +++ /dev/null @@ -1,92 +0,0 @@ -const gulp = require('gulp'); -const nodemon = require('nodemon'); -const path = require('path'); -const webpack = require('webpack'); -const fs = require('fs'); -const nodeExternals = require('webpack-node-externals'); - -const config = { - target: 'node', - entry: [path.join(__dirname, '/src/ts/server.ts')], - output: { - path: path.join(__dirname, '/bin'), - filename: 'server.js', - }, - devtool: 'source-map', - resolve: { - modules: [ - path.join(__dirname, '/src/ts'), - 'node_modules', - ], - extensions: ['.ts', '.tsx', '.js', '.jsx', '.json'], - alias: { - ts: path.join(__dirname, '/src/ts'), - contract_artifacts: path.join(__dirname, '/src/contract_artifacts'), - }, - }, - module: { - rules: [ - { - test: /\.js$/, - loader: 'source-map-loader', - }, - { - test: /\.tsx?$/, - loader: 'awesome-typescript-loader', - }, - ], - }, - plugins: [ - new webpack.BannerPlugin({ - banner: 'require("source-map-support").install();', - raw: true, - entryOnly: false, - }), - ], - externals: nodeExternals({ - modulesDir: path.join(__dirname, '../../node_modules') - }), - watchOptions: { - ignored: /bin|node_modules|transpiled/ - }, -}; - -gulp.task('build', function(done) { - webpack(config).run(onBuild(done)); -}); - -gulp.task('watch', function() { - webpack(config).watch(100, function(err, stats) { - onBuild()(err, stats); - nodemon.restart(); - }); -}); - -gulp.task('run', ['watch'], function() { - nodemon({ - execMap: { - js: 'node', - }, - script: path.join(__dirname, 'bin/server'), - ignore: ['*'], - watch: ['foo/'], - ext: 'noop', - }).on('restart', function() { - console.log('Restarted!'); - }); -}); - -function onBuild(done) { - return function(err, stats) { - if(err) { - console.log('Error', err); - } - else { - console.log(stats.toString()); - } - - if(done) { - done(); - } - } -} diff --git a/packages/kovan-faucets/package.json b/packages/kovan-faucets/package.json deleted file mode 100644 index 7dc6b0512..000000000 --- a/packages/kovan-faucets/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "private": true, - "name": "@0xproject/kovan_faucets", - "version": "1.0.6", - "description": "A faucet micro-service that dispenses test ERC20 tokens or Ether", - "main": "server.js", - "scripts": { - "build": "node ../../node_modules/gulp/bin/gulp.js build", - "dev": "node ../../node_modules/gulp/bin/gulp.js run", - "start": "node ./bin/server.js", - "lint": "tslint --project . 'src/**/*.ts'", - "clean": "shx rm -rf bin" - }, - "author": "Fabio Berger", - "license": "Apache-2.0", - "dependencies": { - "0x.js": "^0.30.1", - "@0xproject/utils": "^0.2.1", - "body-parser": "^1.17.1", - "ethereumjs-tx": "^1.3.3", - "express": "^4.15.2", - "lodash": "^4.17.4", - "rollbar": "^0.6.5", - "web3": "^0.20.0", - "web3-provider-engine": "^13.0.1" - }, - "devDependencies": { - "@0xproject/tslint-config": "^0.4.3", - "@types/body-parser": "^1.16.1", - "@types/express": "^4.0.35", - "@types/lodash": "^4.14.86", - "awesome-typescript-loader": "^3.1.3", - "gulp": "^3.9.1", - "nodemon": "^1.11.0", - "shx": "^0.2.2", - "source-map-loader": "^0.1.6", - "tslint": "5.8.0", - "typescript": "~2.6.1", - "web3-typescript-typings": "^0.9.5", - "webpack": "^3.1.0", - "webpack-node-externals": "^1.6.0" - } -} diff --git a/packages/kovan-faucets/scripts/postpublish.js b/packages/kovan-faucets/scripts/postpublish.js deleted file mode 100644 index 16d67e03f..000000000 --- a/packages/kovan-faucets/scripts/postpublish.js +++ /dev/null @@ -1,15 +0,0 @@ -const postpublish_utils = require('../../../scripts/postpublish_utils'); -const packageJSON = require('../package.json'); - -const subPackageName = packageJSON.name; - -postpublish_utils - .getLatestTagAndVersionAsync(subPackageName) - .then(function(result) { - const releaseName = postpublish_utils.getReleaseName(subPackageName, result.version); - const assets = []; - return postpublish_utils.publishReleaseNotes(result.tag, releaseName, assets); - }) - .catch(function(err) { - throw err; - }); diff --git a/packages/kovan-faucets/src/ts/configs.ts b/packages/kovan-faucets/src/ts/configs.ts deleted file mode 100644 index 2e5a7f64d..000000000 --- a/packages/kovan-faucets/src/ts/configs.ts +++ /dev/null @@ -1,12 +0,0 @@ -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, - 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/kovan-faucets/src/ts/error_reporter.ts deleted file mode 100644 index 6865d3893..000000000 --- a/packages/kovan-faucets/src/ts/error_reporter.ts +++ /dev/null @@ -1,40 +0,0 @@ -import * as express from 'express'; -import rollbar = require('rollbar'); - -import { configs } from './configs'; -import { utils } from './utils'; - -export const errorReporter = { - setup() { - rollbar.init(configs.ROLLBAR_ACCESS_KEY, { - environment: configs.ENVIRONMENT, - }); - - rollbar.handleUncaughtExceptions(configs.ROLLBAR_ACCESS_KEY); - - process.on('unhandledRejection', async (err: Error) => { - utils.consoleLog(`Uncaught exception ${err}. Stack: ${err.stack}`); - await this.reportAsync(err); - process.exit(1); - }); - }, - async reportAsync(err: Error, req?: express.Request): Promise<any> { - if (configs.ENVIRONMENT === 'development') { - return; // Do not log development environment errors - } - - return new Promise((resolve, reject) => { - rollbar.handleError(err, req, (rollbarErr: Error) => { - if (rollbarErr) { - utils.consoleLog(`Error reporting to rollbar, ignoring: ${rollbarErr}`); - reject(rollbarErr); - } else { - resolve(); - } - }); - }); - }, - errorHandler() { - return rollbar.errorHandler(configs.ROLLBAR_ACCESS_KEY); - }, -}; diff --git a/packages/kovan-faucets/src/ts/ether_request_queue.ts b/packages/kovan-faucets/src/ts/ether_request_queue.ts deleted file mode 100644 index 1c4b19ab9..000000000 --- a/packages/kovan-faucets/src/ts/ether_request_queue.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { promisify } from '@0xproject/utils'; -import * as _ from 'lodash'; - -import { configs } from './configs'; -import { errorReporter } from './error_reporter'; -import { RequestQueue } from './request_queue'; -import { utils } from './utils'; - -const DISPENSE_AMOUNT_ETHER = 0.1; - -export class EtherRequestQueue extends RequestQueue { - protected async processNextRequestFireAndForgetAsync(recipientAddress: string) { - utils.consoleLog(`Processing ETH ${recipientAddress}`); - const sendTransactionAsync = promisify(this.web3.eth.sendTransaction); - try { - const txHash = await sendTransactionAsync({ - from: configs.DISPENSER_ADDRESS, - to: recipientAddress, - value: this.web3.toWei(DISPENSE_AMOUNT_ETHER, 'ether'), - }); - utils.consoleLog(`Sent ${DISPENSE_AMOUNT_ETHER} ETH to ${recipientAddress} tx: ${txHash}`); - } catch (err) { - utils.consoleLog(`Unexpected err: ${err} - ${JSON.stringify(err)}`); - await errorReporter.reportAsync(err); - } - } -} diff --git a/packages/kovan-faucets/src/ts/global.d.ts b/packages/kovan-faucets/src/ts/global.d.ts deleted file mode 100644 index 97cd35680..000000000 --- a/packages/kovan-faucets/src/ts/global.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -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'; - -declare module '*.json' { - const json: any; - /* tslint:disable */ - export default json; - /* tslint:enable */ -} - -// Ethereumjs-tx declarations -declare module 'ethereumjs-tx' { - class EthereumTx { - public raw: Buffer[]; - public r: Buffer; - public s: Buffer; - public v: Buffer; - public serialize(): Buffer; - public sign(buffer: Buffer): void; - constructor(txParams: any); - } - export = EthereumTx; -} 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/kovan-faucets/src/ts/id_management.ts b/packages/kovan-faucets/src/ts/id_management.ts deleted file mode 100644 index 930821172..000000000 --- a/packages/kovan-faucets/src/ts/id_management.ts +++ /dev/null @@ -1,23 +0,0 @@ -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) { - callback(null, true); - }, - signTransaction(txData: object, callback: Callback) { - const tx = new EthereumTx(txData); - const privateKeyBuffer = new Buffer(configs.DISPENSER_PRIVATE_KEY as string, 'hex'); - tx.sign(privateKeyBuffer); - const rawTx = `0x${tx.serialize().toString('hex')}`; - callback(null, rawTx); - }, -}; diff --git a/packages/kovan-faucets/src/ts/request_queue.ts b/packages/kovan-faucets/src/ts/request_queue.ts deleted file mode 100644 index 2b42ca4bf..000000000 --- a/packages/kovan-faucets/src/ts/request_queue.ts +++ /dev/null @@ -1,56 +0,0 @@ -import * as _ from 'lodash'; -import * as timers from 'timers'; - -// 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'; - -const MAX_QUEUE_SIZE = 500; -const DEFAULT_QUEUE_INTERVAL_MS = 1000; - -export class RequestQueue { - protected queueIntervalMs: number; - protected queue: string[]; - protected queueIntervalId: NodeJS.Timer; - protected web3: Web3; - constructor(web3: any) { - this.queueIntervalMs = DEFAULT_QUEUE_INTERVAL_MS; - this.queue = []; - - this.web3 = web3; - - this.start(); - } - public add(recipientAddress: string): boolean { - if (this.isFull()) { - return false; - } - this.queue.push(recipientAddress); - return true; - } - public size(): number { - return this.queue.length; - } - public isFull(): boolean { - return this.size() >= MAX_QUEUE_SIZE; - } - protected start() { - this.queueIntervalId = timers.setInterval(() => { - const recipientAddress = this.queue.shift(); - if (_.isUndefined(recipientAddress)) { - return; - } - // tslint:disable-next-line:no-floating-promises - this.processNextRequestFireAndForgetAsync(recipientAddress); - }, this.queueIntervalMs); - } - protected stop() { - clearInterval(this.queueIntervalId); - } - // tslint:disable-next-line:prefer-function-over-method - protected async processNextRequestFireAndForgetAsync(recipientAddress: string) { - throw new Error('Expected processNextRequestFireAndForgetAsync to be implemented by a superclass'); - } -} diff --git a/packages/kovan-faucets/src/ts/server.ts b/packages/kovan-faucets/src/ts/server.ts deleted file mode 100644 index 23642787d..000000000 --- a/packages/kovan-faucets/src/ts/server.ts +++ /dev/null @@ -1,28 +0,0 @@ -import * as bodyParser from 'body-parser'; -import * as express from 'express'; - -import { errorReporter } from './error_reporter'; -import { Handler } from './handler'; - -// Setup the errorReporter to catch uncaught exceptions and unhandled rejections -errorReporter.setup(); - -const app = express(); -app.use(bodyParser.json()); // for parsing application/json -app.use((req, res, next) => { - res.header('Access-Control-Allow-Origin', '*'); - res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept'); - next(); -}); - -const handler = new Handler(); -app.get('/ping', (req: express.Request, res: express.Response) => { - res.status(200).send('pong'); -}); -app.get('/ether/:recipient', handler.dispenseEther.bind(handler)); -app.get('/zrx/:recipient', handler.dispenseZRX.bind(handler)); - -// Log to rollbar any errors unhandled by handlers -app.use(errorReporter.errorHandler()); -const port = process.env.PORT || 3000; -app.listen(port); diff --git a/packages/kovan-faucets/src/ts/utils.ts b/packages/kovan-faucets/src/ts/utils.ts deleted file mode 100644 index 893f82ca3..000000000 --- a/packages/kovan-faucets/src/ts/utils.ts +++ /dev/null @@ -1,7 +0,0 @@ -export const utils = { - consoleLog(message: string) { - /* tslint:disable */ - console.log(message); - /* tslint:enable */ - }, -}; diff --git a/packages/kovan-faucets/src/ts/zrx_request_queue.ts b/packages/kovan-faucets/src/ts/zrx_request_queue.ts deleted file mode 100644 index bbc06f1de..000000000 --- a/packages/kovan-faucets/src/ts/zrx_request_queue.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { ZeroEx } from '0x.js'; -import { BigNumber } from '@0xproject/utils'; -import * as _ from 'lodash'; - -import { configs } from './configs'; -import { errorReporter } from './error_reporter'; -import { RequestQueue } from './request_queue'; -import { utils } from './utils'; - -// 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'; - -const DISPENSE_AMOUNT_ZRX = new BigNumber(0.1); -const QUEUE_INTERVAL_MS = 5000; - -export class ZRXRequestQueue extends RequestQueue { - private _zeroEx: ZeroEx; - constructor(web3: Web3) { - super(web3); - this.queueIntervalMs = QUEUE_INTERVAL_MS; - const zeroExConfig = { - networkId: configs.KOVAN_NETWORK_ID, - }; - this._zeroEx = new ZeroEx(web3.currentProvider, zeroExConfig); - } - protected async processNextRequestFireAndForgetAsync(recipientAddress: string) { - utils.consoleLog(`Processing ZRX ${recipientAddress}`); - const baseUnitAmount = ZeroEx.toBaseUnitAmount(DISPENSE_AMOUNT_ZRX, 18); - try { - await this._zeroEx.token.transferAsync( - configs.ZRX_TOKEN_ADDRESS, - configs.DISPENSER_ADDRESS, - recipientAddress, - baseUnitAmount, - ); - utils.consoleLog(`Sent ${DISPENSE_AMOUNT_ZRX} ZRX to ${recipientAddress}`); - } catch (err) { - utils.consoleLog(`Unexpected err: ${err} - ${JSON.stringify(err)}`); - await errorReporter.reportAsync(err); - } - } -} diff --git a/packages/kovan-faucets/tsconfig.json b/packages/kovan-faucets/tsconfig.json deleted file mode 100644 index 7f0c084ff..000000000 --- a/packages/kovan-faucets/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "../../tsconfig", - "compilerOptions": { - "outDir": "lib" - }, - "include": ["./src/ts/**/*", "../../node_modules/web3-typescript-typings/index.d.ts"] -} diff --git a/packages/kovan-faucets/tslint.json b/packages/kovan-faucets/tslint.json deleted file mode 100644 index ffaefe83a..000000000 --- a/packages/kovan-faucets/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": ["@0xproject/tslint-config"] -} |