From 5be5debdf1122d7f9767fa7e5cd23a23d91bf93c Mon Sep 17 00:00:00 2001 From: Leonid Logvinov Date: Thu, 25 May 2017 12:08:54 +0200 Subject: Port isValidOrderHash and tests --- src/ts/utils/assert.ts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/ts/utils/assert.ts') diff --git a/src/ts/utils/assert.ts b/src/ts/utils/assert.ts index a29ae922d..602361233 100644 --- a/src/ts/utils/assert.ts +++ b/src/ts/utils/assert.ts @@ -2,6 +2,8 @@ import * as _ from 'lodash'; import * as BigNumber from 'bignumber.js'; import Web3 = require('web3'); +const HEX_REGEX = /^0x([0-9A-F]{2})*$/i; + export const assert = { isBigNumber(variableName: string, value: BigNumber.BigNumber) { const isBigNumber = _.isObject(value) && value.isBigNumber; @@ -10,6 +12,10 @@ export const assert = { isString(variableName: string, value: string) { this.assert(_.isString(value), this.typeAssertionMessage(variableName, 'string', value)); }, + isHexString(variableName: string, value: string) { + this.assert(_.isString(value) && HEX_REGEX.test(value), + this.typeAssertionMessage(variableName, 'HexString', value)); + }, isETHAddressHex(variableName: string, value: ETHAddressHex) { const web3 = new Web3(); this.assert(web3.isAddress(value), this.typeAssertionMessage(variableName, 'ETHAddressHex', value)); -- cgit v1.2.3