From fb8eefd00d3f44af6e5bddf2856623350ed9fdf4 Mon Sep 17 00:00:00 2001 From: Chris Clark Date: Wed, 8 Jul 2015 12:51:49 -0700 Subject: [PATCH] Refactor to make quality adjustment for XRP more clear --- src/api/ledger/parse/utils.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/api/ledger/parse/utils.js b/src/api/ledger/parse/utils.js index 3c84a269..fb7f489d 100644 --- a/src/api/ledger/parse/utils.js +++ b/src/api/ledger/parse/utils.js @@ -8,8 +8,11 @@ const BigNumber = require('bignumber.js'); function adjustQualityForXRP(quality: string, takerGetsCurrency: string, takerPaysCurrency: string) { - const shift = (takerGetsCurrency === 'XRP' ? 6 : 0) - - (takerPaysCurrency === 'XRP' ? 6 : 0); + // quality = takerPays.value/takerGets.value + // using drops (1e-6 XRP) for XRP values + const numeratorShift = (takerPaysCurrency === 'XRP' ? -6 : 0); + const denominatorShift = (takerGetsCurrency === 'XRP' ? -6 : 0); + const shift = numeratorShift - denominatorShift; return shift === 0 ? quality : (new BigNumber(quality)).shift(shift).toString(); }