diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-06-06 22:57:13 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-06-06 22:57:13 +0800 |
commit | fa910bca0ebcc71e5fd7aa656972d77bec08c9e5 (patch) | |
tree | a61e05a0c580c32e222b5eca20b510945d99cf8a /src/contract_wrappers/exchange_wrapper.ts | |
parent | 5412e803159a1d944297ab1fe1a49896651cedd6 (diff) | |
download | dexon-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/exchange_wrapper.ts')
-rw-r--r-- | src/contract_wrappers/exchange_wrapper.ts | 8 |
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); + } } /** |