aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contract-wrappers/src/utils/assert.ts
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-07-03 20:32:38 +0800
committerGitHub <noreply@github.com>2018-07-03 20:32:38 +0800
commit0e690608d39c010740d9fdb9d8e6c12d7e6c4e80 (patch)
treee03b85876abc0de57755575287b89a79e7824296 /packages/contract-wrappers/src/utils/assert.ts
parent518a2da0275632a5dd61f99a105163ff5a074927 (diff)
parent09e921a562bea4fa80ec19ce7a9061bbcffbd580 (diff)
downloaddexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.gz
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.bz2
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.lz
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.xz
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.tar.zst
dexon-sol-tools-0e690608d39c010740d9fdb9d8e6c12d7e6c4e80.zip
Merge pull request #782 from 0xProject/feature/contract-wrappers-v2
@0xproject/contract-wrappers V2 refactor. Part 1
Diffstat (limited to 'packages/contract-wrappers/src/utils/assert.ts')
-rw-r--r--packages/contract-wrappers/src/utils/assert.ts26
1 files changed, 17 insertions, 9 deletions
diff --git a/packages/contract-wrappers/src/utils/assert.ts b/packages/contract-wrappers/src/utils/assert.ts
index 140979e7e..da6697b08 100644
--- a/packages/contract-wrappers/src/utils/assert.ts
+++ b/packages/contract-wrappers/src/utils/assert.ts
@@ -1,20 +1,28 @@
import { assert as sharedAssert } from '@0xproject/assert';
// We need those two unused imports because they're actually used by sharedAssert which gets injected here
-// tslint:disable:no-unused-variable
-import { Schema } from '@0xproject/json-schemas';
-import { ECSignature } from '@0xproject/types';
-import { BigNumber } from '@0xproject/utils';
+import { Schema } from '@0xproject/json-schemas'; // tslint:disable-line:no-unused-variable
+import { isValidSignatureAsync } from '@0xproject/order-utils';
+import { ECSignature } from '@0xproject/types'; // tslint:disable-line:no-unused-variable
+import { BigNumber } from '@0xproject/utils'; // tslint:disable-line:no-unused-variable
import { Web3Wrapper } from '@0xproject/web3-wrapper';
-// tslint:enable:no-unused-variable
-
-import { isValidSignature } from '@0xproject/order-utils';
+import { Provider } from 'ethereum-types';
export const assert = {
...sharedAssert,
- isValidSignature(orderHash: string, ecSignature: ECSignature, signerAddress: string): void {
- const isValid = isValidSignature(orderHash, ecSignature, signerAddress);
+ async isValidSignatureAsync(
+ provider: Provider,
+ orderHash: string,
+ signature: string,
+ signerAddress: string,
+ ): Promise<void> {
+ const isValid = await isValidSignatureAsync(provider, orderHash, signature, signerAddress);
this.assert(isValid, `Expected order with hash '${orderHash}' to have a valid signature`);
},
+ isValidSubscriptionToken(variableName: string, subscriptionToken: string): void {
+ const uuidRegex = new RegExp('^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$');
+ const isValid = uuidRegex.test(subscriptionToken);
+ this.assert(isValid, `Expected ${variableName} to be a valid subscription token`);
+ },
async isSenderAddressAsync(
variableName: string,
senderAddressHex: string,