aboutsummaryrefslogtreecommitdiffstats
path: root/packages/order-utils/src/asset_data_utils.ts
diff options
context:
space:
mode:
authorAmir Bandeali <abandeali1@gmail.com>2018-12-01 07:57:30 +0800
committerAmir Bandeali <abandeali1@gmail.com>2019-01-08 02:31:11 +0800
commit0cb5209266b979bcee094f3863efca0a1fa63697 (patch)
tree69fc139c139ed50ac56b8ff7af6556571bda6e3c /packages/order-utils/src/asset_data_utils.ts
parent1553b366da410fbf00338a3207d326e5d57f54b2 (diff)
downloaddexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.tar
dexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.tar.gz
dexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.tar.bz2
dexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.tar.lz
dexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.tar.xz
dexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.tar.zst
dexon-sol-tools-0cb5209266b979bcee094f3863efca0a1fa63697.zip
Add length check to MultiAsset encoding
Diffstat (limited to 'packages/order-utils/src/asset_data_utils.ts')
-rw-r--r--packages/order-utils/src/asset_data_utils.ts7
1 files changed, 7 insertions, 0 deletions
diff --git a/packages/order-utils/src/asset_data_utils.ts b/packages/order-utils/src/asset_data_utils.ts
index b5cfe698e..0b32cf216 100644
--- a/packages/order-utils/src/asset_data_utils.ts
+++ b/packages/order-utils/src/asset_data_utils.ts
@@ -73,6 +73,13 @@ export const assetDataUtils = {
* @return The hex encoded assetData string
*/
encodeMultiAssetData(amounts: BigNumber[], nestedAssetData: string[]): string {
+ if (amounts.length !== nestedAssetData.length) {
+ throw new Error(
+ `Invalid MultiAsset arguments. Expected length of 'amounts' (${
+ amounts.length
+ }) to equal length of 'nestedAssetData' (${nestedAssetData.length})`,
+ );
+ }
_.forEach(nestedAssetData, assetDataElement => assetDataUtils.validateAssetDataOrThrow(assetDataElement));
const abiEncoder = new AbiEncoder.Method(constants.MULTI_ASSET_METHOD_ABI as MethodAbi);
const args = [amounts, nestedAssetData];