From 77abd3e1886dab12dd3abaf2c6bc2c9937298ae2 Mon Sep 17 00:00:00 2001 From: Nicholas Dudfield Date: Wed, 7 Oct 2015 16:26:39 +0700 Subject: [PATCH] Add encodeQuality/decodeQuality --- packages/ripple-binary-codec/package.json | 4 ++-- packages/ripple-binary-codec/src/index.js | 15 +++++++++++++-- .../ripple-binary-codec/test/quality-test.js | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 packages/ripple-binary-codec/test/quality-test.js diff --git a/packages/ripple-binary-codec/package.json b/packages/ripple-binary-codec/package.json index aa5a3837..b28d54fb 100644 --- a/packages/ripple-binary-codec/package.json +++ b/packages/ripple-binary-codec/package.json @@ -1,6 +1,6 @@ { "name": "ripple-binary-codec", - "version": "0.0.2", + "version": "0.0.3", "description": "ripple binary codec", "files": [ "distrib/npm/*", @@ -14,7 +14,7 @@ "test": "test" }, "dependencies": { - "@niq/ripple-core-types": "0.0.3" + "@niq/ripple-core": "0.0.6" }, "devDependencies": { "assert-diff": "^1.0.1", diff --git a/packages/ripple-binary-codec/src/index.js b/packages/ripple-binary-codec/src/index.js index bbf46dfc..964aa788 100644 --- a/packages/ripple-binary-codec/src/index.js +++ b/packages/ripple-binary-codec/src/index.js @@ -1,8 +1,9 @@ 'use strict'; const assert = require('assert'); -const coreTypes = require('@niq/ripple-core-types'); -const {binary: {bytesToHex, +const coreTypes = require('@niq/ripple-core'); +const {quality, + binary: {bytesToHex, signingData, multiSigningData, binaryToJSON, @@ -27,3 +28,13 @@ exports.encodeForMultisigning = function(json, signer) { assert(typeof json === 'object'); return bytesToHex(multiSigningData(json, signer)); }; + +exports.encodeQuality = function(value) { + assert(typeof value === 'string'); + return bytesToHex(quality.encode(value)); +}; + +exports.decodeQuality = function(value) { + assert(typeof value === 'string'); + return quality.decode(value).toString(); +}; diff --git a/packages/ripple-binary-codec/test/quality-test.js b/packages/ripple-binary-codec/test/quality-test.js new file mode 100644 index 00000000..555b9b37 --- /dev/null +++ b/packages/ripple-binary-codec/test/quality-test.js @@ -0,0 +1,18 @@ +'use strict'; + +const assert = require('assert-diff'); +const {encodeQuality, decodeQuality} = require('../src'); + +describe('Quality encode/decode', function() { + const bookDirectory = + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5D06F4C3362FE1D0'; + const expectedQuality = '195796912.5171664'; + it('can decode', function() { + const decimal = decodeQuality(bookDirectory); + assert.equal(decimal, expectedQuality); + }); + it('can encode', function() { + const hex = encodeQuality(expectedQuality); + assert.equal(hex, bookDirectory.slice(-16)); + }); +});