mirror of
https://github.com/Xahau/xahau.js.git
synced 2025-11-19 19:55:51 +00:00
Merge pull request #99 from sublimator/develop
Test we don't compute floating point median Fee
This commit is contained in:
@@ -279,6 +279,49 @@ describe('Transaction', function() {
|
||||
assert.strictEqual(transaction._computeFee(), '96');
|
||||
});
|
||||
|
||||
it('Does not compute a median fee with floating point', function() {
|
||||
var remote = new Remote();
|
||||
|
||||
var s1 = new Server(remote, 'wss://s-west.ripple.com:443');
|
||||
s1._connected = true;
|
||||
|
||||
var s2 = new Server(remote, 'wss://s-west.ripple.com:443');
|
||||
s2._connected = true;
|
||||
s2._load_factor = 256 * 4;
|
||||
|
||||
var s3 = new Server(remote, 'wss://s-west.ripple.com:443');
|
||||
s3._connected = true;
|
||||
|
||||
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||
s3._load_factor = (256 * 7) + 1;
|
||||
// Is this ever possible? <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
|
||||
|
||||
var s4 = new Server(remote, 'wss://s-west.ripple.com:443');
|
||||
s4._connected = true;
|
||||
s4._load_factor = 256 * 16;
|
||||
|
||||
remote._servers = [ s1, s2, s3, s4 ];
|
||||
|
||||
assert.strictEqual(s1._computeFee(10), '12');
|
||||
assert.strictEqual(s2._computeFee(10), '48');
|
||||
// 66.5
|
||||
assert.strictEqual(s3._computeFee(10), '85');
|
||||
assert.strictEqual(s4._computeFee(10), '192');
|
||||
|
||||
var transaction = new Transaction(remote);
|
||||
transaction.tx_json.Sequence = 1;
|
||||
var src = 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh';
|
||||
var dst = 'rGihwhaqU8g7ahwAvTq6iX5rvsfcbgZw6v';
|
||||
|
||||
transaction.payment(src, dst, '100');
|
||||
remote.set_secret(src, 'masterpassphrase');
|
||||
|
||||
assert(transaction.complete());
|
||||
var json = transaction.serialize().to_json();
|
||||
assert(json.Fee != '66500000', 'Fee == 66500000, i.e. 66.5 XRP!');
|
||||
});
|
||||
|
||||
|
||||
it('Compute fee - even server count', function() {
|
||||
var remote = new Remote();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user