diff options
author | Fabio Berger <me@fabioberger.com> | 2018-02-07 08:26:35 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-02-07 08:26:35 +0800 |
commit | 4c9c4c487a034d926443eeb8a0154fd38c97aca3 (patch) | |
tree | b0d0f2a5d225097335733a3e37871f9c32551aa5 /packages/testnet-faucets/src/ts/parameter_transformer.ts | |
parent | c172b9e0800dd9ed959b03e7ee418b9787c70c38 (diff) | |
parent | 562bcb85710c281d817c7dd4957f0a7db1ddc306 (diff) | |
download | dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.tar dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.tar.gz dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.tar.bz2 dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.tar.lz dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.tar.xz dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.tar.zst dexon-sol-tools-4c9c4c487a034d926443eeb8a0154fd38c97aca3.zip |
Merge branch 'development' of github.com:0xProject/0x.js into development
* 'development' of github.com:0xProject/0x.js:
Bump subproviders version
Update yarn.lock
Change rpcUrls keys back into string literals
Add types-bn package to 0x.js and testnet-faucets
Prettier
Addressed comments and update 0xProject/types-ethereumjs-util deps
Prettier
Update testnet-faucets README
Fix lint errors
Add order signing and dispensing ability to faucet
Diffstat (limited to 'packages/testnet-faucets/src/ts/parameter_transformer.ts')
-rw-r--r-- | packages/testnet-faucets/src/ts/parameter_transformer.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/testnet-faucets/src/ts/parameter_transformer.ts b/packages/testnet-faucets/src/ts/parameter_transformer.ts new file mode 100644 index 000000000..c5711d462 --- /dev/null +++ b/packages/testnet-faucets/src/ts/parameter_transformer.ts @@ -0,0 +1,29 @@ +import { addressUtils } from '@0xproject/utils'; +import { NextFunction, Request, Response } from 'express'; +import * as _ from 'lodash'; + +import { configs } from './configs'; +import { rpcUrls } from './rpc_urls'; +import { utils } from './utils'; + +const DEFAULT_NETWORK_ID = 42; // kovan + +export const parameterTransformer = { + transform(req: Request, res: Response, next: NextFunction) { + const recipientAddress = req.params.recipient; + if (_.isUndefined(recipientAddress) || !addressUtils.isAddress(recipientAddress)) { + res.status(400).send('INVALID_RECIPIENT_ADDRESS'); + return; + } + const lowerCaseRecipientAddress = recipientAddress.toLowerCase(); + req.params.recipient = lowerCaseRecipientAddress; + const networkId = _.get(req.query, 'networkId', DEFAULT_NETWORK_ID); + const rpcUrlIfExists = _.get(rpcUrls, networkId); + if (_.isUndefined(rpcUrlIfExists)) { + res.status(400).send('UNSUPPORTED_NETWORK_ID'); + return; + } + req.params.networkId = networkId; + next(); + }, +}; |