aboutsummaryrefslogtreecommitdiffstats
path: root/packages/testnet-faucets/src/ts/parameter_transformer.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-02-07 08:26:35 +0800
committerFabio Berger <me@fabioberger.com>2018-02-07 08:26:35 +0800
commit4c9c4c487a034d926443eeb8a0154fd38c97aca3 (patch)
treeb0d0f2a5d225097335733a3e37871f9c32551aa5 /packages/testnet-faucets/src/ts/parameter_transformer.ts
parentc172b9e0800dd9ed959b03e7ee418b9787c70c38 (diff)
parent562bcb85710c281d817c7dd4957f0a7db1ddc306 (diff)
downloaddexon-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.ts29
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();
+ },
+};