From 691dc5566f5aa4804c437e326d6d54d3ece656a9 Mon Sep 17 00:00:00 2001 From: andri lim Date: Tue, 15 Jan 2019 23:29:53 +0700 Subject: [PATCH] fix render missing field in premix report page --- premix/assets/js/index.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/premix/assets/js/index.js b/premix/assets/js/index.js index f6070e41f..9c1973253 100644 --- a/premix/assets/js/index.js +++ b/premix/assets/js/index.js @@ -98,6 +98,26 @@ function opCodeRenderer(txId, nimbus, geth) { return true; } + function fillEmptyList(a, b) { + if(a.length > b.length) { + for(var i in a) { + if(b[i] === undefined) { + b[i] = ''; + } + } + } + } + + function fillEmptyMap(a, b) { + if(Object.keys(a).length > Object.keys(b).length) { + for(var i in a) { + if(b[i] === undefined) { + b[i] = ''; + } + } + } + } + function analyze(nimbus, geth) { for(var x of premix.fields) { if(nimbus[x] === undefined) nimbus[x] = ''; @@ -105,6 +125,15 @@ function opCodeRenderer(txId, nimbus, geth) { if(nimbus[x].toString().toLowerCase() != geth[x].toString().toLowerCase()) return false; } + fillEmptyList(nimbus.memory, geth.memory); + fillEmptyList(geth.memory, nimbus.memory); + + fillEmptyList(nimbus.stack, geth.stack); + fillEmptyList(geth.stack, nimbus.stack); + + fillEmptyMap(nimbus.storage, geth.storage); + fillEmptyMap(geth.storage, nimbus.storage); + let result = analyzeList(nimbus.memory, geth.memory); result = result && analyzeList(nimbus.stack, geth.stack); result = result && analyzeList(nimbus.storage, geth.storage); @@ -133,6 +162,9 @@ function opCodeRenderer(txId, nimbus, geth) { fillEmptyOp(ncs, gcs); fillEmptyOp(gcs, ncs); + console.log(ncs[0]); + console.log(gcs[0]); + for(var i in ncs) { var pc = ncs[i]; if(!analyze(ncs[i], gcs[i])) {