From 7a2324ce7ac11c8259a3b74fc5c784318963c770 Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 28 Nov 2016 12:23:42 +0100 Subject: [PATCH] remove byte unpad --- src/solidity/types/FixedByteArray.js | 3 +- test/solidity/contracts/byteStorage.js | 108 ++++++++++----------- test/solidity/storageDecoder.js | 126 ++++++++++++------------- 3 files changed, 118 insertions(+), 119 deletions(-) diff --git a/src/solidity/types/FixedByteArray.js b/src/solidity/types/FixedByteArray.js index 482d89257d..8022a983b0 100644 --- a/src/solidity/types/FixedByteArray.js +++ b/src/solidity/types/FixedByteArray.js @@ -1,6 +1,5 @@ 'use strict' var util = require('./util') -var utileth = require('ethereumjs-util') function FixedByteArray (storageBytes) { this.storageSlots = 1 @@ -10,7 +9,7 @@ function FixedByteArray (storageBytes) { FixedByteArray.prototype.decodeFromStorage = function (location, storageContent) { var value = util.extractHexByte(location, storageContent, this.storageBytes) - return '0x' + utileth.unpad(value).toUpperCase() + return '0x' + value.toUpperCase() } module.exports = FixedByteArray diff --git a/test/solidity/contracts/byteStorage.js b/test/solidity/contracts/byteStorage.js index 984619fdb2..394a37de46 100644 --- a/test/solidity/contracts/byteStorage.js +++ b/test/solidity/contracts/byteStorage.js @@ -8,40 +8,40 @@ module.exports = { bool b1 = false; address a1 = 0xfe350f199f244ac9a79038d254400b632a633225; bool b2 = true; - bytes dynb1 = 'dynamicbytes'; + bytes dynb1 = "dynamicbytes"; byte stab = 0x1; - bytes1 stab1 = 0x12; - bytes2 stab2 = 0x1579; - bytes3 stab3 = 0x359356; - bytes4 stab4 = 0x2375; - bytes5 stab5 = 0x2357645; - bytes6 stab6 = 0x324435; - bytes7 stab7 = 0x324324; - bytes8 stab8 = 0x324554645765; - bytes9 stab9 = 0x3434543; - bytes10 stab10 = 0x4543543654657; - bytes11 stab11 = 0x54354654; - bytes12 stab12 = 0x3; - bytes13 stab13 = 0x3243242345435; - bytes14 stab14 = 0x32454354354353; - bytes15 stab15 = 0x32454434435; - bytes16 stab16 = 0x3245435444; - bytes17 stab17 = 0x32454343243243245; - bytes18 stab18 = 0x324534325435435; - bytes19 stab19 = 0x324543435435435; - bytes20 stab20 = 0x32454543543AB35; - bytes21 stab21 = 0x32454432423435; - bytes22 stab22 = 0x324543AEF5; - bytes23 stab23 = 0x3245435FFF; - bytes24 stab24 = 0x3245435F; - bytes25 stab25 = 0x3245435F; - bytes26 stab26 = 0x3245435F; - bytes27 stab27 = 0x3245FFFFFFF; - bytes28 stab28 = 0x3241235; - bytes29 stab29 = 0x325213213; - bytes30 stab30 = 0x3245435232423; - bytes31 stab31 = 0x3245435123; - bytes32 stab32 = 0x324324423432543543AB; + bytes1 stab1 = hex"12"; + bytes2 stab2 = hex"1579"; + bytes3 stab3 = hex"359356"; + bytes4 stab4 = hex"2375"; + bytes5 stab5 = hex"02357645"; + bytes6 stab6 = hex"324435"; + bytes7 stab7 = hex"004324"; + bytes8 stab8 = hex"324554645765"; + bytes9 stab9 = hex"03434543"; + bytes10 stab10 = hex"04543543654657"; + bytes11 stab11 = hex"54354654"; + bytes12 stab12 = hex"03"; + bytes13 stab13 = hex"03243242345435"; + bytes14 stab14 = hex"32454354354353"; + bytes15 stab15 = hex"032454434435"; + bytes16 stab16 = hex"3245435444"; + bytes17 stab17 = hex"032454343243243245"; + bytes18 stab18 = hex"0324534325435435"; + bytes19 stab19 = hex"0324543435435435"; + bytes20 stab20 = hex"032454543543AB35"; + bytes21 stab21 = hex"32454432423435"; + bytes22 stab22 = hex"324543AEF5"; + bytes23 stab23 = hex"3245435FFF"; + bytes24 stab24 = hex"3245435F"; + bytes25 stab25 = hex"3245435F"; + bytes26 stab26 = hex"3245435F"; + bytes27 stab27 = hex"03245FFFFFFF"; + bytes28 stab28 = hex"03241235"; + bytes29 stab29 = hex"0325213213"; + bytes30 stab30 = hex"03245435232423"; + bytes31 stab31 = hex"3245435123"; + bytes32 stab32 = hex"324324423432543543AB"; enum1 enumDec = enum1.e240; string str1 = 'short'; string str2 = 'long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long'; @@ -50,27 +50,27 @@ module.exports = { storage: { '0x0000000000000000000000000000000000000000000000000000000000000000': '0x0000000000000000000001fe350f199f244ac9a79038d254400b632a63322500', '0x0000000000000000000000000000000000000000000000000000000000000001': '0x64796e616d696362797465730000000000000000000000000000000000000018', - '0x0000000000000000000000000000000000000000000000000000000000000002': '0x0000000000000032432400000032443500023576450000237535935615791201', - '0x0000000000000000000000000000000000000000000000000000000000000003': '0x0000000000000000045435436546570000000000034345430000324554645765', - '0x0000000000000000000000000000000000000000000000000000000000000004': '0x0000000000000000000000000000000000000000030000000000000054354654', - '0x0000000000000000000000000000000000000000000000000000000000000005': '0x0000000000000000000000003245435435435300000000000003243242345435', - '0x0000000000000000000000000000000000000000000000000000000000000006': '0x0000000000000000000000003245435444000000000000000000032454434435', - '0x0000000000000000000000000000000000000000000000000000000000000007': '0x0000000000000000000000000000000000000000000000032454343243243245', - '0x0000000000000000000000000000000000000000000000000000000000000008': '0x0000000000000000000000000000000000000000000000000324534325435435', - '0x0000000000000000000000000000000000000000000000000000000000000009': '0x0000000000000000000000000000000000000000000000000324543435435435', - '0x000000000000000000000000000000000000000000000000000000000000000a': '0x000000000000000000000000000000000000000000000000032454543543ab35', - '0x000000000000000000000000000000000000000000000000000000000000000b': '0x0000000000000000000000000000000000000000000000000032454432423435', - '0x000000000000000000000000000000000000000000000000000000000000000c': '0x000000000000000000000000000000000000000000000000000000324543aef5', - '0x000000000000000000000000000000000000000000000000000000000000000d': '0x0000000000000000000000000000000000000000000000000000003245435fff', - '0x000000000000000000000000000000000000000000000000000000000000000e': '0x000000000000000000000000000000000000000000000000000000003245435f', - '0x000000000000000000000000000000000000000000000000000000000000000f': '0x000000000000000000000000000000000000000000000000000000003245435f', - '0x0000000000000000000000000000000000000000000000000000000000000010': '0x000000000000000000000000000000000000000000000000000000003245435f', - '0x0000000000000000000000000000000000000000000000000000000000000011': '0x000000000000000000000000000000000000000000000000000003245fffffff', - '0x0000000000000000000000000000000000000000000000000000000000000012': '0x0000000000000000000000000000000000000000000000000000000003241235', - '0x0000000000000000000000000000000000000000000000000000000000000013': '0x0000000000000000000000000000000000000000000000000000000325213213', - '0x0000000000000000000000000000000000000000000000000000000000000014': '0x0000000000000000000000000000000000000000000000000003245435232423', - '0x0000000000000000000000000000000000000000000000000000000000000015': '0x0000000000000000000000000000000000000000000000000000003245435123', - '0x0000000000000000000000000000000000000000000000000000000000000016': '0x00000000000000000000000000000000000000000000324324423432543543ab', + '0x0000000000000000000000000000000000000000000000000000000000000002': '0x0000000043240000000032443500000002357645002375000035935615791201', + '0x0000000000000000000000000000000000000000000000000000000000000003': '0x0000000000045435436546570000000343454300000000003245546457650000', + '0x0000000000000000000000000000000000000000000000000000000000000004': '0x0000000000000000000300000000000000000000005435465400000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000005': '0x0000000000324543543543530000000000000003243242345435000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000006': '0x0032454354440000000000000000000000032454434435000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000007': '0x0000000000000000000000000000000324543432432432450000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000008': '0x0000000000000000000000000000032453432543543500000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000009': '0x0000000000000000000000000003245434354354350000000000000000000000', + '0x000000000000000000000000000000000000000000000000000000000000000a': '0x000000000000000000000000032454543543ab35000000000000000000000000', + '0x000000000000000000000000000000000000000000000000000000000000000b': '0x0000000000000000000000324544324234350000000000000000000000000000', + '0x000000000000000000000000000000000000000000000000000000000000000c': '0x00000000000000000000324543aef50000000000000000000000000000000000', + '0x000000000000000000000000000000000000000000000000000000000000000d': '0x0000000000000000003245435fff000000000000000000000000000000000000', + '0x000000000000000000000000000000000000000000000000000000000000000e': '0x00000000000000003245435f0000000000000000000000000000000000000000', + '0x000000000000000000000000000000000000000000000000000000000000000f': '0x000000000000003245435f000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000010': '0x0000000000003245435f00000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000011': '0x000000000003245fffffff000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000012': '0x0000000003241235000000000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000013': '0x0000000325213213000000000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000014': '0x0000032454352324230000000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000015': '0x0032454351230000000000000000000000000000000000000000000000000000', + '0x0000000000000000000000000000000000000000000000000000000000000016': '0x324324423432543543ab00000000000000000000000000000000000000000000', '0x0000000000000000000000000000000000000000000000000000000000000017': '0x00000000000000000000000000000000000000000000000000000000000000f0', '0x0000000000000000000000000000000000000000000000000000000000000018': '0x73686f727400000000000000000000000000000000000000000000000000000a', '0x0000000000000000000000000000000000000000000000000000000000000019': '0x000000000000000000000000000000000000000000000000000000000000023d', diff --git a/test/solidity/storageDecoder.js b/test/solidity/storageDecoder.js index f4ef31676f..905f80e2b7 100644 --- a/test/solidity/storageDecoder.js +++ b/test/solidity/storageDecoder.js @@ -61,39 +61,39 @@ function testByteStorage (st) { st.equal(decoded['b2'], true) st.equal(decoded['dynb1'].value, '0x64796e616d69636279746573') st.equal(decoded['dynb1'].length, '0xc') - st.equal(decoded['stab'], '0x1') + st.equal(decoded['stab'], '0x01') st.equal(decoded['stab1'], '0x12') st.equal(decoded['stab2'], '0x1579') st.equal(decoded['stab3'], '0x359356') - st.equal(decoded['stab4'], '0x2375') - st.equal(decoded['stab5'], '0x2357645') - st.equal(decoded['stab6'], '0x324435') - st.equal(decoded['stab7'], '0x324324') - st.equal(decoded['stab8'], '0x324554645765') - st.equal(decoded['stab9'], '0x3434543') - st.equal(decoded['stab10'], '0x4543543654657') - st.equal(decoded['stab11'], '0x54354654') - st.equal(decoded['stab12'], '0x3') - st.equal(decoded['stab13'], '0x3243242345435') - st.equal(decoded['stab14'], '0x32454354354353') - st.equal(decoded['stab15'], '0x32454434435') - st.equal(decoded['stab16'], '0x3245435444') - st.equal(decoded['stab17'], '0x32454343243243245') - st.equal(decoded['stab18'], '0x324534325435435') - st.equal(decoded['stab19'], '0x324543435435435') - st.equal(decoded['stab20'], '0x32454543543AB35') - st.equal(decoded['stab21'], '0x32454432423435') - st.equal(decoded['stab22'], '0x324543AEF5') - st.equal(decoded['stab23'], '0x3245435FFF') - st.equal(decoded['stab24'], '0x3245435F') - st.equal(decoded['stab25'], '0x3245435F') - st.equal(decoded['stab26'], '0x3245435F') - st.equal(decoded['stab27'], '0x3245FFFFFFF') - st.equal(decoded['stab28'], '0x3241235') - st.equal(decoded['stab29'], '0x325213213') - st.equal(decoded['stab30'], '0x3245435232423') - st.equal(decoded['stab31'], '0x3245435123') - st.equal(decoded['stab32'], '0x324324423432543543AB') + st.equal(decoded['stab4'], '0x23750000') + st.equal(decoded['stab5'], '0x0235764500') + st.equal(decoded['stab6'], '0x324435000000') + st.equal(decoded['stab7'], '0x00432400000000') + st.equal(decoded['stab8'], '0x3245546457650000') + st.equal(decoded['stab9'], '0x034345430000000000') + st.equal(decoded['stab10'], '0x04543543654657000000') + st.equal(decoded['stab11'], '0x5435465400000000000000') + st.equal(decoded['stab12'], '0x030000000000000000000000') + st.equal(decoded['stab13'], '0x03243242345435000000000000') + st.equal(decoded['stab14'], '0x3245435435435300000000000000') + st.equal(decoded['stab15'], '0x032454434435000000000000000000') + st.equal(decoded['stab16'], '0x32454354440000000000000000000000') + st.equal(decoded['stab17'], '0x0324543432432432450000000000000000') + st.equal(decoded['stab18'], '0x032453432543543500000000000000000000') + st.equal(decoded['stab19'], '0x03245434354354350000000000000000000000') + st.equal(decoded['stab20'], '0x032454543543AB35000000000000000000000000') + st.equal(decoded['stab21'], '0x324544324234350000000000000000000000000000') + st.equal(decoded['stab22'], '0x324543AEF50000000000000000000000000000000000') + st.equal(decoded['stab23'], '0x3245435FFF000000000000000000000000000000000000') + st.equal(decoded['stab24'], '0x3245435F0000000000000000000000000000000000000000') + st.equal(decoded['stab25'], '0x3245435F000000000000000000000000000000000000000000') + st.equal(decoded['stab26'], '0x3245435F00000000000000000000000000000000000000000000') + st.equal(decoded['stab27'], '0x03245FFFFFFF000000000000000000000000000000000000000000') + st.equal(decoded['stab28'], '0x03241235000000000000000000000000000000000000000000000000') + st.equal(decoded['stab29'], '0x0325213213000000000000000000000000000000000000000000000000') + st.equal(decoded['stab30'], '0x032454352324230000000000000000000000000000000000000000000000') + st.equal(decoded['stab31'], '0x32454351230000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab32'], '0x324324423432543543AB00000000000000000000000000000000000000000000') st.equal(decoded['enumDec'], 'e240') st.equal(decoded['str1'].value, 'short') st.equal(decoded['str2'].value, 'long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long__long') @@ -105,39 +105,39 @@ function testByteStorage (st) { st.equal(decoded['b2'], false) st.equal(decoded['dynb1'].value, '0x') st.equal(decoded['dynb1'].length, '0x0') - st.equal(decoded['stab'], '0x') - st.equal(decoded['stab1'], '0x') - st.equal(decoded['stab2'], '0x') - st.equal(decoded['stab3'], '0x') - st.equal(decoded['stab4'], '0x') - st.equal(decoded['stab5'], '0x') - st.equal(decoded['stab6'], '0x') - st.equal(decoded['stab7'], '0x') - st.equal(decoded['stab8'], '0x') - st.equal(decoded['stab9'], '0x') - st.equal(decoded['stab10'], '0x') - st.equal(decoded['stab11'], '0x') - st.equal(decoded['stab12'], '0x') - st.equal(decoded['stab13'], '0x') - st.equal(decoded['stab14'], '0x') - st.equal(decoded['stab15'], '0x') - st.equal(decoded['stab16'], '0x') - st.equal(decoded['stab17'], '0x') - st.equal(decoded['stab18'], '0x') - st.equal(decoded['stab19'], '0x') - st.equal(decoded['stab20'], '0x') - st.equal(decoded['stab21'], '0x') - st.equal(decoded['stab22'], '0x') - st.equal(decoded['stab23'], '0x') - st.equal(decoded['stab24'], '0x') - st.equal(decoded['stab25'], '0x') - st.equal(decoded['stab26'], '0x') - st.equal(decoded['stab27'], '0x') - st.equal(decoded['stab28'], '0x') - st.equal(decoded['stab29'], '0x') - st.equal(decoded['stab30'], '0x') - st.equal(decoded['stab31'], '0x') - st.equal(decoded['stab32'], '0x') + st.equal(decoded['stab'], '0x00') + st.equal(decoded['stab1'], '0x00') + st.equal(decoded['stab2'], '0x0000') + st.equal(decoded['stab3'], '0x000000') + st.equal(decoded['stab4'], '0x00000000') + st.equal(decoded['stab5'], '0x0000000000') + st.equal(decoded['stab6'], '0x000000000000') + st.equal(decoded['stab7'], '0x00000000000000') + st.equal(decoded['stab8'], '0x0000000000000000') + st.equal(decoded['stab9'], '0x000000000000000000') + st.equal(decoded['stab10'], '0x00000000000000000000') + st.equal(decoded['stab11'], '0x0000000000000000000000') + st.equal(decoded['stab12'], '0x000000000000000000000000') + st.equal(decoded['stab13'], '0x00000000000000000000000000') + st.equal(decoded['stab14'], '0x0000000000000000000000000000') + st.equal(decoded['stab15'], '0x000000000000000000000000000000') + st.equal(decoded['stab16'], '0x00000000000000000000000000000000') + st.equal(decoded['stab17'], '0x0000000000000000000000000000000000') + st.equal(decoded['stab18'], '0x000000000000000000000000000000000000') + st.equal(decoded['stab19'], '0x00000000000000000000000000000000000000') + st.equal(decoded['stab20'], '0x0000000000000000000000000000000000000000') + st.equal(decoded['stab21'], '0x000000000000000000000000000000000000000000') + st.equal(decoded['stab22'], '0x00000000000000000000000000000000000000000000') + st.equal(decoded['stab23'], '0x0000000000000000000000000000000000000000000000') + st.equal(decoded['stab24'], '0x000000000000000000000000000000000000000000000000') + st.equal(decoded['stab25'], '0x00000000000000000000000000000000000000000000000000') + st.equal(decoded['stab26'], '0x0000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab27'], '0x000000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab28'], '0x00000000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab29'], '0x0000000000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab30'], '0x000000000000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab31'], '0x00000000000000000000000000000000000000000000000000000000000000') + st.equal(decoded['stab32'], '0x0000000000000000000000000000000000000000000000000000000000000000') st.equal(decoded['enumDec'], 'e0') st.equal(decoded['str1'].length, '0x0') st.equal(decoded['str2'].length, '0x0')