Create assert.isValidSignature method and use it in addOrder
				
					
				
			This commit is contained in:
		@@ -60,6 +60,7 @@ export class OrderStateWatcher {
 | 
			
		||||
    public addOrder(signedOrder: SignedOrder): void {
 | 
			
		||||
        assert.doesConformToSchema('signedOrder', signedOrder, schemas.signedOrderSchema);
 | 
			
		||||
        const orderHash = ZeroEx.getOrderHashHex(signedOrder);
 | 
			
		||||
        assert.isValidSignature(orderHash, signedOrder.ecSignature, signedOrder.maker);
 | 
			
		||||
        this._orders[orderHash] = signedOrder;
 | 
			
		||||
        this.addToDependentOrderHashes(signedOrder, orderHash);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
@@ -18,6 +20,10 @@ export const 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));
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user