From 3f61598d6c87e3cc877af60e2d515f9eff73dfe1 Mon Sep 17 00:00:00 2001 From: wltsmrz Date: Tue, 23 Dec 2014 03:22:46 -0800 Subject: [PATCH] Fix metadata account check --- src/js/ripple/meta.js | 137 ++++---- src/js/ripple/uint.js | 9 +- test/fixtures/metadata-with-hex-accounts.json | 303 ++++++++++++++++++ test/metadata-test.js | 19 +- 4 files changed, 406 insertions(+), 62 deletions(-) create mode 100644 test/fixtures/metadata-with-hex-accounts.json diff --git a/src/js/ripple/meta.js b/src/js/ripple/meta.js index bd4606bc..7004ffd3 100644 --- a/src/js/ripple/meta.js +++ b/src/js/ripple/meta.js @@ -1,6 +1,6 @@ var _ = require('lodash'); var extend = require('extend'); -var utils = require('./utils'); +var utils = require('./utils'); var UInt160 = require('./uint160').UInt160; var Amount = require('./amount').Amount; @@ -25,28 +25,37 @@ function Meta(data) { data.AffectedNodes.forEach(this.addNode, this); }; -Meta.nodeTypes = [ +Meta.NODE_TYPES = [ 'CreatedNode', 'ModifiedNode', 'DeletedNode' ]; -Meta.amountFieldsAffectingIssuer = [ +Meta.AMOUNT_FIELDS_AFFECTING_ISSUER = [ 'LowLimit', 'HighLimit', 'TakerPays', 'TakerGets' ]; +Meta.ACCOUNT_FIELDS = [ + 'Account', + 'Owner', + 'Destination', + 'Issuer', + 'Target' +]; + /** + * @param {Object} node * @api private */ Meta.prototype.getNodeType = function(node) { var result = null; - for (var i=0; i