diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-07-06 17:10:55 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-06 17:10:55 +0800 |
commit | b21f6e4d8652eb402fc1c8bbf8a13a024d945c74 (patch) | |
tree | 106a622d3b121c61fa011cd7e4134c12dd788b3a /packages/contract-wrappers/src/utils/assert.ts | |
parent | bc52303402e6ee1b3ab9d948d909d1d10ebf26e4 (diff) | |
parent | 0c8264801ac15952861724ecd6a2620dc3055e5e (diff) | |
download | dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.tar dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.tar.gz dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.tar.bz2 dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.tar.lz dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.tar.xz dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.tar.zst dexon-sol-tools-b21f6e4d8652eb402fc1c8bbf8a13a024d945c74.zip |
Merge pull request #822 from 0xProject/v2-contract-wrappers-WIP
V2 contract wrappers
Diffstat (limited to 'packages/contract-wrappers/src/utils/assert.ts')
-rw-r--r-- | packages/contract-wrappers/src/utils/assert.ts | 26 |
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, |