mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-27 15:45:48 +00:00
Convert getOrders and add unit test
This commit is contained in:
@@ -1,27 +1,11 @@
|
||||
/* @flow */
|
||||
'use strict';
|
||||
const assert = require('assert');
|
||||
const utils = require('./utils');
|
||||
const parseAmount = require('./amount');
|
||||
const flags = utils.core.Transaction.flags.OfferCreate;
|
||||
const parseOrderBase = require('./order-base');
|
||||
|
||||
function parseOrder(tx: Object): Object {
|
||||
assert(tx.TransactionType === 'OfferCreate');
|
||||
|
||||
const direction = (tx.Flags & flags.Sell) === 0 ? 'buy' : 'sell';
|
||||
const takerGets = parseAmount(tx.TakerGets);
|
||||
const takerPays = parseAmount(tx.TakerPays);
|
||||
const quantity = (direction === 'buy') ? takerPays : takerGets;
|
||||
const totalPrice = (direction === 'buy') ? takerGets : takerPays;
|
||||
|
||||
return {
|
||||
direction: direction,
|
||||
quantity: quantity,
|
||||
totalPrice: totalPrice,
|
||||
passive: (tx.Flags & flags.Passive) !== 0,
|
||||
immediateOrCancel: (tx.Flags & flags.ImmediateOrCancel) !== 0,
|
||||
fillOrKill: (tx.Flags & flags.FillOrKill) !== 0
|
||||
};
|
||||
return parseOrderBase(tx.TakerGets, tx.TakerPays, tx.Flags);
|
||||
}
|
||||
|
||||
module.exports = parseOrder;
|
||||
|
||||
Reference in New Issue
Block a user