diff --git a/lib/vm/opFns.js b/lib/vm/opFns.js index 41ef8a1349..30171fd733 100644 --- a/lib/vm/opFns.js +++ b/lib/vm/opFns.js @@ -259,7 +259,7 @@ module.exports = { subMemUsage(runState, memOffset, dataLength) subGas(runState, new BN(runState._common.param('gasPrices', 'copy')).imul(dataLength.divCeil(new BN(32)))) - const data = getDataSlice(dataOffset, dataLength, runState.callData) + const data = getDataSlice(runState.callData, dataOffset, dataLength) memOffset = memOffset.toNumber() dataLength = dataLength.toNumber() runState.memory.extend(memOffset, dataLength) @@ -272,7 +272,7 @@ module.exports = { subMemUsage(runState, memOffset, length) subGas(runState, new BN(runState._common.param('gasPrices', 'copy')).imul(length.divCeil(new BN(32)))) - const data = getDataSlice(codeOffset, length, runState.code) + const data = getDataSlice(runState.code, codeOffset, length) memOffset = memOffset.toNumber() length = length.toNumber() runState.memory.extend(memOffset, length) @@ -297,7 +297,7 @@ module.exports = { stateManager.getContractCode(address, function (err, code) { if (err) return cb(err) - const data = getDataSlice(codeOffset, length, code) + const data = getDataSlice(code, codeOffset, length) memOffset = memOffset.toNumber() length = length.toNumber() runState.memory.extend(memOffset, length) @@ -341,7 +341,7 @@ module.exports = { subMemUsage(runState, memOffset, length) subGas(runState, new BN(runState._common.param('gasPrices', 'copy')).mul(length.divCeil(new BN(32)))) - const data = getDataSlice(returnDataOffset, length, utils.toBuffer(runState.lastReturned)) + const data = getDataSlice(utils.toBuffer(runState.lastReturned), returnDataOffset, length) memOffset = memOffset.toNumber() length = length.toNumber() runState.memory.extend(memOffset, length) @@ -948,7 +948,7 @@ function subMemUsage (runState, offset, length) { * @param {BN} length * @param {Buffer} data */ -function getDataSlice (offset, length, data) { +function getDataSlice (data, offset, length) { let len = new BN(data.length) if (offset.gt(len)) { offset = len @@ -1041,7 +1041,7 @@ function makeCall (runState, callOptions, localOpts, cb) { // save results to memory if (results.vm.return && (!results.vm.exceptionError || results.vm.exceptionError.error === ERROR.REVERT)) { if (results.vm.return.length > 0) { - const data = getDataSlice(new BN(0), localOpts.outLength, results.vm.return) + const data = getDataSlice(results.vm.return, new BN(0), localOpts.outLength) const memOffset = localOpts.outOffset.toNumber() const dataLength = localOpts.outLength.toNumber() runState.memory.extend(memOffset, dataLength)