aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-10-04 19:21:39 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-10-04 19:31:09 +0800
commit8b7caef0db337a5f1b9bf41ee5f8a9157eda4d1d (patch)
tree898990b27b3b50797ebac7b439e0edf353fd26e2 /src/utils
parent836d9be7fee9986c8ffa380633d873ba557511f4 (diff)
downloaddexon-0x-contracts-8b7caef0db337a5f1b9bf41ee5f8a9157eda4d1d.tar.gz
dexon-0x-contracts-8b7caef0db337a5f1b9bf41ee5f8a9157eda4d1d.tar.zst
dexon-0x-contracts-8b7caef0db337a5f1b9bf41ee5f8a9157eda4d1d.zip
Fix an issue when validation failed, but contract call will succeed
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/order_validation_utils.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/utils/order_validation_utils.ts b/src/utils/order_validation_utils.ts
index 6f7522c41..de20cf06d 100644
--- a/src/utils/order_validation_utils.ts
+++ b/src/utils/order_validation_utils.ts
@@ -121,7 +121,11 @@ export class OrderValidationUtils {
}
if (!isMakerTokenZRX) {
- const makerZRXBalance = await this.tokenWrapper.getBalanceAsync(zrxTokenAddress, signedOrder.maker);
+ const isTakerTokenZRX = signedOrder.takerTokenAddress === zrxTokenAddress;
+ let makerZRXBalance = await this.tokenWrapper.getBalanceAsync(zrxTokenAddress, signedOrder.maker);
+ if (isTakerTokenZRX) {
+ makerZRXBalance = makerZRXBalance.plus(fillTakerAmount);
+ }
const makerZRXAllowance = await this.tokenWrapper.getProxyAllowanceAsync(
zrxTokenAddress, signedOrder.maker);