diff options
Diffstat (limited to 'packages/asset-buyer/src/utils/order_utils.ts')
-rw-r--r-- | packages/asset-buyer/src/utils/order_utils.ts | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/packages/asset-buyer/src/utils/order_utils.ts b/packages/asset-buyer/src/utils/order_utils.ts deleted file mode 100644 index 3ea3cafd3..000000000 --- a/packages/asset-buyer/src/utils/order_utils.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { SignedOrder } from '@0x/types'; -import { BigNumber } from '@0x/utils'; - -import { constants } from '../constants'; - -export const orderUtils = { - isOrderExpired(order: SignedOrder): boolean { - return orderUtils.willOrderExpire(order, 0); - }, - willOrderExpire(order: SignedOrder, secondsFromNow: number): boolean { - const millisecondsInSecond = 1000; - const currentUnixTimestampSec = new BigNumber(Date.now() / millisecondsInSecond).integerValue(); - return order.expirationTimeSeconds.isLessThan(currentUnixTimestampSec.plus(secondsFromNow)); - }, - isOpenOrder(order: SignedOrder): boolean { - return order.takerAddress === constants.NULL_ADDRESS; - }, - // given a remaining amount of takerAsset, calculate how much makerAsset is available - getRemainingMakerAmount(order: SignedOrder, remainingTakerAmount: BigNumber): BigNumber { - const remainingMakerAmount = remainingTakerAmount - .times(order.makerAssetAmount) - .div(order.takerAssetAmount) - .integerValue(BigNumber.ROUND_FLOOR); - return remainingMakerAmount; - }, - // given a desired amount of makerAsset, calculate how much takerAsset is required to fill that amount - getTakerFillAmount(order: SignedOrder, makerFillAmount: BigNumber): BigNumber { - // Round up because exchange rate favors Maker - const takerFillAmount = makerFillAmount - .multipliedBy(order.takerAssetAmount) - .div(order.makerAssetAmount) - .integerValue(BigNumber.ROUND_CEIL); - return takerFillAmount; - }, - // given a desired amount of takerAsset to fill, calculate how much fee is required by the taker to fill that amount - getTakerFeeAmount(order: SignedOrder, takerFillAmount: BigNumber): BigNumber { - // Round down because Taker fee rate favors Taker - const takerFeeAmount = takerFillAmount - .multipliedBy(order.takerFee) - .div(order.takerAssetAmount) - .integerValue(BigNumber.ROUND_FLOOR); - return takerFeeAmount; - }, - // given a desired amount of takerAsset to fill, calculate how much makerAsset will be filled - getMakerFillAmount(order: SignedOrder, takerFillAmount: BigNumber): BigNumber { - // Round down because exchange rate favors Maker - const makerFillAmount = takerFillAmount - .multipliedBy(order.makerAssetAmount) - .div(order.takerAssetAmount) - .integerValue(BigNumber.ROUND_FLOOR); - return makerFillAmount; - }, - // given a desired amount of makerAsset, calculate how much fee is required by the maker to fill that amount - getMakerFeeAmount(order: SignedOrder, makerFillAmount: BigNumber): BigNumber { - // Round down because Maker fee rate favors Maker - const makerFeeAmount = makerFillAmount - .multipliedBy(order.makerFee) - .div(order.makerAssetAmount) - .integerValue(BigNumber.ROUND_FLOOR); - return makerFeeAmount; - }, - // given a desired amount of ZRX from a fee order, calculate how much takerAsset is required to fill that amount - // also calculate how much ZRX needs to be bought in order fill the desired amount + takerFee - getTakerFillAmountForFeeOrder(order: SignedOrder, makerFillAmount: BigNumber): [BigNumber, BigNumber] { - // For each unit of TakerAsset we buy (MakerAsset - TakerFee) - const adjustedTakerFillAmount = makerFillAmount - .multipliedBy(order.takerAssetAmount) - .div(order.makerAssetAmount.minus(order.takerFee)) - .integerValue(BigNumber.ROUND_CEIL); - // The amount that we buy will be greater than makerFillAmount, since we buy some amount for fees. - const adjustedMakerFillAmount = orderUtils.getMakerFillAmount(order, adjustedTakerFillAmount); - return [adjustedTakerFillAmount, adjustedMakerFillAmount]; - }, -}; |