aboutsummaryrefslogtreecommitdiffstats
path: root/src/contract_wrappers
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2017-06-06 22:57:13 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2017-06-06 22:57:13 +0800
commitfa910bca0ebcc71e5fd7aa656972d77bec08c9e5 (patch)
treea61e05a0c580c32e222b5eca20b510945d99cf8a /src/contract_wrappers
parent5412e803159a1d944297ab1fe1a49896651cedd6 (diff)
downloaddexon-0x-contracts-fa910bca0ebcc71e5fd7aa656972d77bec08c9e5.tar.gz
dexon-0x-contracts-fa910bca0ebcc71e5fd7aa656972d77bec08c9e5.tar.zst
dexon-0x-contracts-fa910bca0ebcc71e5fd7aa656972d77bec08c9e5.zip
Add checks and tests for expired order and zero fill amount
Diffstat (limited to 'src/contract_wrappers')
-rw-r--r--src/contract_wrappers/exchange_wrapper.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/contract_wrappers/exchange_wrapper.ts b/src/contract_wrappers/exchange_wrapper.ts
index 982a8c0c1..b5d5152dd 100644
--- a/src/contract_wrappers/exchange_wrapper.ts
+++ b/src/contract_wrappers/exchange_wrapper.ts
@@ -274,7 +274,13 @@ export class ExchangeWrapper extends ContractWrapper {
}
private async validateCancelOrderAndThrowIfInvalidAsync(order: Order,
cancelAmount: BigNumber.BigNumber): Promise<void> {
- // TODO
+ if (cancelAmount.eq(0)) {
+ throw new Error(ExchangeContractErrs.ORDER_CANCEL_AMOUNT_ZERO);
+ }
+ const currentUnixTimestampSec = Date.now() / 1000;
+ if (order.expirationUnixTimestampSec.lessThan(currentUnixTimestampSec)) {
+ throw new Error(ExchangeContractErrs.ORDER_CANCEL_EXPIRED);
+ }
}
/**