aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils/assert.ts
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2017-11-13 09:50:42 +0800
committerGitHub <noreply@github.com>2017-11-13 09:50:42 +0800
commitb0be323e899ea7be42b6c695b4fd6d526070b213 (patch)
tree86042b06c407b388e39be690d9a40db218f82675 /src/utils/assert.ts
parent1392a855bb17981f7680548a23062842fb6dc4e0 (diff)
parenta22661670f105a2bf527aca0e803689e0302ed17 (diff)
downloaddexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.tar
dexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.tar.gz
dexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.tar.bz2
dexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.tar.lz
dexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.tar.xz
dexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.tar.zst
dexon-sol-tools-b0be323e899ea7be42b6c695b4fd6d526070b213.zip
Merge pull request #205 from 0xProject/orderWatcher
Order watcher
Diffstat (limited to 'src/utils/assert.ts')
-rw-r--r--src/utils/assert.ts17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/utils/assert.ts b/src/utils/assert.ts
index 286105345..e5c9439f3 100644
--- a/src/utils/assert.ts
+++ b/src/utils/assert.ts
@@ -1,8 +1,10 @@
import * as _ from 'lodash';
-import BigNumber from 'bignumber.js';
import * as Web3 from 'web3';
-import {Web3Wrapper} from '../web3_wrapper';
+import BigNumber from 'bignumber.js';
import {SchemaValidator, Schema} from '0x-json-schemas';
+import {Web3Wrapper} from '../web3_wrapper';
+import {signatureUtils} from '../utils/signature_utils';
+import {ECSignature} from '../types';
const HEX_REGEX = /^0x[0-9A-F]*$/i;
@@ -11,6 +13,17 @@ export const assert = {
const isBigNumber = _.isObject(value) && (value as any).isBigNumber;
this.assert(isBigNumber, this.typeAssertionMessage(variableName, 'BigNumber', value));
},
+ isValidBaseUnitAmount(variableName: string, value: BigNumber) {
+ assert.isBigNumber(variableName, value);
+ const hasDecimals = value.decimalPlaces() !== 0;
+ this.assert(
+ !hasDecimals, `${variableName} should be in baseUnits (no decimals), found value: ${value.toNumber()}`,
+ );
+ },
+ isValidSignature(orderHash: string, ecSignature: ECSignature, signerAddress: string) {
+ const isValidSignature = signatureUtils.isValidSignature(orderHash, ecSignature, signerAddress);
+ this.assert(isValidSignature, `Expected order with hash '${orderHash}' to have a valid signature`);
+ },
isUndefined(value: any, variableName?: string): void {
this.assert(_.isUndefined(value), this.typeAssertionMessage(variableName, 'undefined', value));
},