From 92b8443824bffca219b146028d5685e6aa1ffabf Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 7 Mar 2017 22:51:39 -0800 Subject: [PATCH] tx-utils - add encoding utils --- app/scripts/lib/tx-utils.js | 2 +- test/unit/tx-utils-test.js | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/scripts/lib/tx-utils.js b/app/scripts/lib/tx-utils.js index f1171851c..c6814c05f 100644 --- a/app/scripts/lib/tx-utils.js +++ b/app/scripts/lib/tx-utils.js @@ -91,7 +91,7 @@ module.exports = class txProviderUtils { // builds ethTx from txParams object buildEthTxFromParams (txParams) { // apply gas multiplyer - let gasPrice = new BN(ethUtil.stripHexPrefix(txParams.gasPrice), 16) + let gasPrice = hexToBn(txParams.gasPrice) // multiply and divide by 100 so as to add percision to integer mul txParams.gasPrice = ethUtil.intToHex(gasPrice.toNumber()) // normalize values diff --git a/test/unit/tx-utils-test.js b/test/unit/tx-utils-test.js index 641b4942f..e57b25e83 100644 --- a/test/unit/tx-utils-test.js +++ b/test/unit/tx-utils-test.js @@ -19,8 +19,8 @@ describe('txUtils', function() { // dummy gas limit: 0x3d4c52 (4 mil) const blockGasLimitHex = '0x3d4c52' const output = txUtils.addGasBuffer(inputHex, blockGasLimitHex) - const inputBn = new BN(ethUtil.stripHexPrefix(inputHex), 'hex') - const outputBn = new BN(ethUtil.stripHexPrefix(output), 'hex') + const inputBn = hexToBn(inputHex) + const outputBn = hexToBn(output) const expectedBn = inputBn.muln(1.5) assert(outputBn.eq(expectedBn), 'returns 1.5 the input value') }) @@ -31,9 +31,9 @@ describe('txUtils', function() { // dummy gas limit: 0x0f4240 (1 mil) const blockGasLimitHex = '0x0f4240' const output = txUtils.addGasBuffer(inputHex, blockGasLimitHex) - const inputBn = new BN(ethUtil.stripHexPrefix(inputHex), 'hex') - const outputBn = new BN(ethUtil.stripHexPrefix(output), 'hex') - const expectedBn = new BN(ethUtil.stripHexPrefix(inputHex), 'hex') + const inputBn = hexToBn(inputHex) + const outputBn = hexToBn(output) + const expectedBn = hexToBn(inputHex) assert(outputBn.eq(expectedBn), 'returns the original estimatedGas value') }) @@ -43,10 +43,16 @@ describe('txUtils', function() { // dummy gas limit: 0x1e8480 (2 mil) const blockGasLimitHex = '0x1e8480' const output = txUtils.addGasBuffer(inputHex, blockGasLimitHex) - const inputBn = new BN(ethUtil.stripHexPrefix(inputHex), 'hex') - const outputBn = new BN(ethUtil.stripHexPrefix(output), 'hex') - const expectedBn = new BN(ethUtil.stripHexPrefix(blockGasLimitHex), 'hex') + const inputBn = hexToBn(inputHex) + const outputBn = hexToBn(output) + const expectedBn = hexToBn(blockGasLimitHex) assert(outputBn.eq(expectedBn), 'returns the block gas limit value') }) }) }) + +// util + +function hexToBn(inputHex) { + return new BN(ethUtil.stripHexPrefix(inputHex), 16) +} \ No newline at end of file