From 14f409ff5656445625e3259187d3b19d29848b6e Mon Sep 17 00:00:00 2001 From: wltsmrz Date: Fri, 18 Apr 2014 23:08:19 -0700 Subject: [PATCH] Properly convert JS time to Ripple time in OfferCreate transactions --- src/js/ripple/transaction.js | 12 +++--------- src/js/ripple/utils.js | 7 ++++++- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/js/ripple/transaction.js b/src/js/ripple/transaction.js index f1f4fc90..9165d0fa 100644 --- a/src/js/ripple/transaction.js +++ b/src/js/ripple/transaction.js @@ -44,6 +44,7 @@ var EventEmitter = require('events').EventEmitter; var util = require('util'); +var utils = require('./utils'); var sjcl = require('./utils').sjcl; var Amount = require('./amount').Amount; var Currency = require('./amount').Currency; @@ -555,6 +556,7 @@ Transaction.prototype.claim = function(src, generator, public_key, signature) { this.tx_json.Generator = generator; this.tx_json.PublicKey = public_key; this.tx_json.Signature = signature; + return this; }; @@ -600,15 +602,7 @@ Transaction.prototype.offerCreate = function(src, taker_pays, taker_gets, expira this.tx_json.TakerGets = Amount.json_rewrite(taker_gets); if (expiration) { - switch (expiration.constructor) { - case Date: - //offset = (new Date(2000, 0, 1).getTime()) - (new Date(1970, 0, 1).getTime()); - this.tx_json.Expiration = expiration.getTime() - 946684800000; - break; - case Number: - this.tx_json.Expiration = expiration; - break; - } + this.tx_json.Expiration = utils.time.toRipple(expiration); } if (cancel_sequence) { diff --git a/src/js/ripple/utils.js b/src/js/ripple/utils.js index 4304f661..a678feab 100644 --- a/src/js/ripple/utils.js +++ b/src/js/ripple/utils.js @@ -135,7 +135,12 @@ function fromTimestamp(rpepoch) { rpepoch = rpepoch.getTime(); } - return Math.round(rpepoch/1000) - 0x386D4380; + return Math.round(rpepoch / 1000) - 0x386D4380; +}; + +exports.time = { + fromRipple: toTimestamp, + toRipple: fromTimestamp }; exports.trace = trace;