ihordiachenko
8/5/2016 - 2:29 PM

amountHelper.js

'use_strict';

var InfraSdk = require('infra-sdk');
var BigNumber = require('bignumber.js');
var xdr = require('js-xdr');

const ONE = 10000000;

exports.fromXdr = amount => {
    return InfraSdk.Operation._fromXDRAmount(amount);
};

exports.toXdr = amount => {
    var scaledAmount = new BigNumber(amount).mul(ONE).toString();
    xdr.Hyper.fromString(scaledAmount); // Check if fits uint64 type

    return scaledAmount;
};

exports.areEqual = (a, b) => {
    a = InfraSdk.Operation._toXDRAmount(a);
    b = InfraSdk.Operation._toXDRAmount(b);
    return a.low === b.low && a.high === b.high && a.unsigned === b.unsigned;
};