From 95526767836c81949213da7e1c44d4e02fdffc71 Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Fri, 1 Feb 2019 14:54:37 -0800 Subject: Add schema validation to getOrderHashBuff --- packages/order-utils/src/order_hash.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/order-utils/src/order_hash.ts b/packages/order-utils/src/order_hash.ts index c8e9be71e..b15ccacf7 100644 --- a/packages/order-utils/src/order_hash.ts +++ b/packages/order-utils/src/order_hash.ts @@ -51,6 +51,17 @@ export const orderHashUtils = { * @return A Buffer containing the resulting orderHash from hashing the supplied order */ getOrderHashBuffer(order: SignedOrder | Order): Buffer { + try { + assert.doesConformToSchema('order', order, schemas.orderSchema, [schemas.hexSchema]); + } catch (error) { + if (_.includes(error.message, INVALID_TAKER_FORMAT)) { + const errMsg = + 'Order taker must be of type string. If you want anyone to be able to fill an order - pass ZeroEx.NULL_ADDRESS'; + throw new Error(errMsg); + } + throw error; + } + const typedData = eip712Utils.createOrderTypedData(order); const orderHashBuff = signTypedDataUtils.generateTypedDataHash(typedData); return orderHashBuff; -- cgit v1.2.3