From fd1b64393dffb3d1819cd40b8d43df43a4db042d Mon Sep 17 00:00:00 2001 From: wltsmrz Date: Mon, 9 Feb 2015 13:41:40 -0800 Subject: [PATCH] Fix IOU value passed to Amount.from_json() --- src/js/ripple/orderbook.js | 15 +++++++++------ test/orderbook-test.js | 6 ++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/js/ripple/orderbook.js b/src/js/ripple/orderbook.js index 2c5cb4cf..593547d2 100644 --- a/src/js/ripple/orderbook.js +++ b/src/js/ripple/orderbook.js @@ -439,19 +439,22 @@ OrderBook.prototype.setFundedAmount = function(offer, fundedAmount) { return offer; } - var isOfferGetsExceeded = Amount.from_json(fundedAmount) + var isOfferGetsExceeded = Amount.from_json( + this._currencyGets.is_native() + ? fundedAmount + : fundedAmount + OrderBook.IOU_SUFFIX + ) .compareTo(offer.TakerGets) > 0; if (isOfferGetsExceeded) { - offer.taker_gets_funded = offer.TakerGets; + offer.taker_gets_funded = Amount.from_json(offer.TakerGets).to_text(); } else { offer.taker_gets_funded = fundedAmount; } - var takerPaysValue = (typeof offer.TakerPays === 'object') - ? offer.TakerPays.value - : offer.TakerPays; - + var takerPaysValue = this._currencyPays.is_native() + ? offer.TakerPays + : offer.TakerPays.value; var takerPays = Amount.from_json(takerPaysValue + OrderBook.IOU_SUFFIX); var takerGets = Amount.from_json(offerSum); var fundedPays = Amount.from_json(fundedAmount + OrderBook.IOU_SUFFIX); diff --git a/test/orderbook-test.js b/test/orderbook-test.js index 77835344..b14c4824 100644 --- a/test/orderbook-test.js +++ b/test/orderbook-test.js @@ -1594,6 +1594,7 @@ describe('OrderBook', function() { taker_gets_funded: '0.2', taker_pays_funded: '99.72233516476456' }, + { Account: 'rwBG69mujDoD5yQfL3Sf7Yuh7rUNYdxe9Y', BookDirectory: '6EAB7C172DEFA430DBFAD120FDC373B5F5AF8B191649EC985711B6D8C62EF414', BookNode: '0000000000000000', @@ -1614,8 +1615,9 @@ describe('OrderBook', function() { index: 'A437D85DF80D250F79308F2B613CF5391C7CF8EE9099BC4E553942651CD9FA86', owner_funds: '0.950363009783092', is_fully_funded: false, - taker_gets_funded: '0.9484660776278363', + taker_gets_funded: '0.5', taker_pays_funded: '94.58325208561269' }, + { Account: 'rwBG69mujDoD5yQfL3Sf7Yuh7rUNYdxe9Y', BookDirectory: '6EAB7C172DEFA430DBFAD120FDC373B5F5AF8B191649EC985711B6D8C62EF414', BookNode: '0000000000000000', @@ -1637,7 +1639,7 @@ describe('OrderBook', function() { index: 'A437D85DF80D250F79308F2B613CF5391C7CF8EE9099BC4E553942651CD9FA86', owner_funds: '0.950363009783092', is_fully_funded: false, - taker_gets_funded: '0.9484660776278363', + taker_gets_funded: '0.5', taker_pays_funded: '94.58325208561269' } ]