diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2018-09-14 19:45:14 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2018-09-15 20:14:48 +0800 |
commit | 91702bbae214f56e7ff66156fa799fcfb83f6e42 (patch) | |
tree | c45fc0577a577b81abd3e6eb0b5c7897db8fbfb8 /packages/asset-buyer/src/utils/order_utils.ts | |
parent | 90674d9038b45644e82545558d9937b9eec498f9 (diff) | |
download | dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.tar dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.tar.gz dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.tar.bz2 dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.tar.lz dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.tar.xz dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.tar.zst dexon-sol-tools-91702bbae214f56e7ff66156fa799fcfb83f6e42.zip |
Move packages/forwarder-helper into packages/asset-buyer
Diffstat (limited to 'packages/asset-buyer/src/utils/order_utils.ts')
-rw-r--r-- | packages/asset-buyer/src/utils/order_utils.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/asset-buyer/src/utils/order_utils.ts b/packages/asset-buyer/src/utils/order_utils.ts new file mode 100644 index 000000000..bb0bdb80f --- /dev/null +++ b/packages/asset-buyer/src/utils/order_utils.ts @@ -0,0 +1,21 @@ +import { SignedOrder } from '@0xproject/types'; +import { BigNumber } from '@0xproject/utils'; + +import { constants } from '../constants'; + +export const orderUtils = { + isOrderExpired(order: SignedOrder): boolean { + const millisecondsInSecond = 1000; + const currentUnixTimestampSec = new BigNumber(Date.now() / millisecondsInSecond).round(); + return order.expirationTimeSeconds.lessThan(currentUnixTimestampSec); + }, + calculateRemainingMakerAssetAmount(order: SignedOrder, remainingTakerAssetAmount: BigNumber): BigNumber { + const result = remainingTakerAssetAmount.eq(0) + ? constants.ZERO_AMOUNT + : remainingTakerAssetAmount.times(order.makerAssetAmount).dividedToIntegerBy(order.takerAssetAmount); + return result; + }, + isOpenOrder(order: SignedOrder): boolean { + return order.takerAddress === constants.NULL_ADDRESS; + }, +}; |