injectDecodedReturn function
Inject 'decoded' return value into a emulate response
Implementation
Map injectDecodedReturn(
Map emulateResponse, Contract contract, String funcName) {
if (emulateResponse["reverted"] == true) {
return emulateResponse;
}
if ((emulateResponse["data"] == null) ||
(emulateResponse["data"] == "0x")) {
return emulateResponse;
}
var functionObj = contract.getFunctionByName(funcName);
var wrapperList = functionObj.decodeReturnV1(emulateResponse["data"]);
Map decoded = {};
for (var i = 0; i < wrapperList.length; i++) {
decoded[i] = wrapperList[i].value;
}
// for (var obj in wrapperList) {
// decoded[obj.name] = obj.value;
// }
emulateResponse["decoded"] = decoded;
return emulateResponse;
}