From f0f98407579f1c19ae76ced47ef648a52e9737ff Mon Sep 17 00:00:00 2001 From: Anthony Laibe Date: Thu, 9 Aug 2018 13:52:41 +0100 Subject: [PATCH] Fix fuzzer while profiling --- lib/modules/profiler/fuzzer.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/modules/profiler/fuzzer.js b/lib/modules/profiler/fuzzer.js index 6e11e8e1e..22d2ca903 100644 --- a/lib/modules/profiler/fuzzer.js +++ b/lib/modules/profiler/fuzzer.js @@ -1,5 +1,4 @@ const utils = require('web3-utils'); - const u = require('../../utils/utils.js'); // generates random inputs based on the inputs of an ABI @@ -11,7 +10,7 @@ class ContractFuzzer { } // main function to call, takes in iteration number and a contract and returns a map object - // composed of method names -> fuzzed inputs. + // composed of method names -> fuzzed inputs. generateFuzz(iterations, contract) { const self = this; let fuzzMap = {}; @@ -52,10 +51,10 @@ class ContractFuzzer { case kind == "bool": return self.generateRandomBool(); case kind == "uint" || kind == "int": - return self.generateRandomInt(size); - case kind === "bytes" && size !== undefined: - return self.generateRandomStaticBytes(size); - case kind === "string" || kind === "bytes": + return self.generateRandomInt(size || 256); + case kind === "bytes": + return self.generateRandomStaticBytes(size || 32); + case kind === "string": return self.generateRandomDynamicType(); case kind === "address": return self.generateRandomAddress(); @@ -79,11 +78,11 @@ class ContractFuzzer { } generateRandomStaticBytes(size) { - return utils.randomHex(size); + return utils.randomHex(parseInt(size, 10)); } generateRandomInt(size) { - return utils.toBN(utils.randomHex(size / 8)); + return utils.toBN(utils.randomHex(parseInt(size, 10) / 8)); } generateRandomAddress() {