From a1308c50bf9ea8e0b9eec845b869113734b7f9b7 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:16:39 -0400 Subject: [PATCH 01/35] move remix-core code & tests to remix-debug --- .gitignore | 3 +- remix-core/test/tests.js | 3 -- remix-debug/index.js | 32 +++++++++++++++---- remix-debug/package.json | 17 ++++++++-- remix-debug/src/Ethdebugger.js | 11 ++++--- .../src/code/breakpointManager.js | 0 .../src/code/codeManager.js | 0 .../src/code/codeResolver.js | 0 .../src/code/codeUtils.js | 0 .../src/code/disassembler.js | 0 .../src/code/opcodes.js | 0 .../src/storage/mappingPreimages.js | 0 .../src/storage/storageResolver.js | 0 .../src/storage/storageViewer.js | 0 .../src/trace/traceAnalyser.js | 0 .../src/trace/traceCache.js | 0 .../src/trace/traceManager.js | 0 .../src/trace/traceRetriever.js | 0 .../src/trace/traceStepManager.js | 0 .../test/codeManager.js | 0 .../test/disassembler.js | 0 {remix-core => remix-debug}/test/init.js | 0 .../test/resources/testWeb3.js | 0 .../test/resources/testWeb3.json | 0 remix-debug/test/tests.js | 9 ++++-- .../test/traceManager.js | 0 26 files changed, 55 insertions(+), 20 deletions(-) delete mode 100644 remix-core/test/tests.js rename {remix-core => remix-debug}/src/code/breakpointManager.js (100%) rename {remix-core => remix-debug}/src/code/codeManager.js (100%) rename {remix-core => remix-debug}/src/code/codeResolver.js (100%) rename {remix-core => remix-debug}/src/code/codeUtils.js (100%) rename {remix-core => remix-debug}/src/code/disassembler.js (100%) rename {remix-core => remix-debug}/src/code/opcodes.js (100%) rename {remix-core => remix-debug}/src/storage/mappingPreimages.js (100%) rename {remix-core => remix-debug}/src/storage/storageResolver.js (100%) rename {remix-core => remix-debug}/src/storage/storageViewer.js (100%) rename {remix-core => remix-debug}/src/trace/traceAnalyser.js (100%) rename {remix-core => remix-debug}/src/trace/traceCache.js (100%) rename {remix-core => remix-debug}/src/trace/traceManager.js (100%) rename {remix-core => remix-debug}/src/trace/traceRetriever.js (100%) rename {remix-core => remix-debug}/src/trace/traceStepManager.js (100%) rename {remix-core => remix-debug}/test/codeManager.js (100%) rename {remix-core => remix-debug}/test/disassembler.js (100%) rename {remix-core => remix-debug}/test/init.js (100%) rename {remix-core => remix-debug}/test/resources/testWeb3.js (100%) rename {remix-core => remix-debug}/test/resources/testWeb3.json (100%) rename {remix-core => remix-debug}/test/traceManager.js (100%) diff --git a/.gitignore b/.gitignore index 35bd458f88..68f8dbe9a6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ test-browser/reports/* babelify-src docs/_build package-lock.json -.DS_Store \ No newline at end of file +.DS_Store +.tern-port diff --git a/remix-core/test/tests.js b/remix-core/test/tests.js deleted file mode 100644 index 28f85278c9..0000000000 --- a/remix-core/test/tests.js +++ /dev/null @@ -1,3 +0,0 @@ -require('./traceManager.js') -require('./codeManager.js') -require('./disassembler.js') diff --git a/remix-debug/index.js b/remix-debug/index.js index b1286590a5..f2cb78301f 100644 --- a/remix-debug/index.js +++ b/remix-debug/index.js @@ -2,6 +2,12 @@ var remixCore = require('remix-core') var EthDebugger = require('./src/Ethdebugger') +var CodeManager = require('./src/code/codeManager') +var BreakpointManager = require('./src/code/breakpointManager') +var StorageViewer = require('./src/storage/storageViewer') +var StorageResolver = require('./src/storage/storageResolver') +var TraceManager = require('./src/trace/traceManager') + /* Use of breakPointManager : @@ -12,11 +18,23 @@ var EthDebugger = require('./src/Ethdebugger') */ module.exports = { EthDebugger: EthDebugger, - /** - * constructor - * - * @param {Object} _debugger - type of EthDebugger - * @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location - */ - BreakpointManager: remixCore.code.BreakpointManager + /** + * constructor + * + * @param {Object} _debugger - type of EthDebugger + * @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location + */ + BreakpointManager: remixCore.code.BreakpointManager, + code: { + CodeManager: CodeManager, + BreakpointManager: BreakpointManager + }, + storage: { + StorageViewer: StorageViewer, + StorageResolver: StorageResolver + }, + trace: { + TraceManager: TraceManager + } } + diff --git a/remix-debug/package.json b/remix-debug/package.json index 4aece79db8..45f15c71c7 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -26,7 +26,7 @@ "ethereumjs-vm": "^2.3.3", "notify-error": "^1.2.0", "npm-run-all": "^4.1.2", - "remix-core": "^0.0.15", + "fast-async": "^6.1.2", "remix-lib": "^0.2.9", "remix-solidity": "^0.1.11", "solc": "https://github.com/ethereum/solc-js" @@ -57,7 +57,8 @@ "node_modules/*", "build/*", "test/resources/*" - ] + ], + "parser": "babel-eslint" }, "babel": { "plugins": [ @@ -91,6 +92,18 @@ "sourceMaps": true, "plugins": [ [ + [ + "fast-async", + { + "runtimePatten": null, + "compiler": { + "promises": true, + "es7": true, + "noRuntime": true, + "wrapAwait": true + } + } + ], "transform-object-assign" ] ], diff --git a/remix-debug/src/Ethdebugger.js b/remix-debug/src/Ethdebugger.js index 6f63c9e8ee..7b60ed750f 100644 --- a/remix-debug/src/Ethdebugger.js +++ b/remix-debug/src/Ethdebugger.js @@ -1,7 +1,10 @@ 'use strict' -var remixCore = require('remix-core') -var TraceManager = remixCore.trace.TraceManager -var StorageViewer = remixCore.storage.StorageViewer + +var CodeManager = require('./code/codeManager') +var StorageViewer = require('./storage/storageViewer') +var StorageResolver = require('./storage/storageResolver') +var TraceManager = require('./trace/traceManager') + var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace var init = remixLib.init @@ -9,13 +12,11 @@ var executionContext = remixLib.execution.executionContext var EventManager = remixLib.EventManager var Web3Providers = remixLib.vm.Web3Providers var DummyProvider = remixLib.vm.DummyProvider -var CodeManager = remixCore.code.CodeManager var remixSolidity = require('remix-solidity') var SolidityProxy = remixSolidity.SolidityProxy var stateDecoder = remixSolidity.stateDecoder var localDecoder = remixSolidity.localDecoder var InternalCallTree = remixSolidity.InternalCallTree -var StorageResolver = remixCore.storage.StorageResolver /** * Ethdebugger is a wrapper around a few classes that helps debugging a transaction diff --git a/remix-core/src/code/breakpointManager.js b/remix-debug/src/code/breakpointManager.js similarity index 100% rename from remix-core/src/code/breakpointManager.js rename to remix-debug/src/code/breakpointManager.js diff --git a/remix-core/src/code/codeManager.js b/remix-debug/src/code/codeManager.js similarity index 100% rename from remix-core/src/code/codeManager.js rename to remix-debug/src/code/codeManager.js diff --git a/remix-core/src/code/codeResolver.js b/remix-debug/src/code/codeResolver.js similarity index 100% rename from remix-core/src/code/codeResolver.js rename to remix-debug/src/code/codeResolver.js diff --git a/remix-core/src/code/codeUtils.js b/remix-debug/src/code/codeUtils.js similarity index 100% rename from remix-core/src/code/codeUtils.js rename to remix-debug/src/code/codeUtils.js diff --git a/remix-core/src/code/disassembler.js b/remix-debug/src/code/disassembler.js similarity index 100% rename from remix-core/src/code/disassembler.js rename to remix-debug/src/code/disassembler.js diff --git a/remix-core/src/code/opcodes.js b/remix-debug/src/code/opcodes.js similarity index 100% rename from remix-core/src/code/opcodes.js rename to remix-debug/src/code/opcodes.js diff --git a/remix-core/src/storage/mappingPreimages.js b/remix-debug/src/storage/mappingPreimages.js similarity index 100% rename from remix-core/src/storage/mappingPreimages.js rename to remix-debug/src/storage/mappingPreimages.js diff --git a/remix-core/src/storage/storageResolver.js b/remix-debug/src/storage/storageResolver.js similarity index 100% rename from remix-core/src/storage/storageResolver.js rename to remix-debug/src/storage/storageResolver.js diff --git a/remix-core/src/storage/storageViewer.js b/remix-debug/src/storage/storageViewer.js similarity index 100% rename from remix-core/src/storage/storageViewer.js rename to remix-debug/src/storage/storageViewer.js diff --git a/remix-core/src/trace/traceAnalyser.js b/remix-debug/src/trace/traceAnalyser.js similarity index 100% rename from remix-core/src/trace/traceAnalyser.js rename to remix-debug/src/trace/traceAnalyser.js diff --git a/remix-core/src/trace/traceCache.js b/remix-debug/src/trace/traceCache.js similarity index 100% rename from remix-core/src/trace/traceCache.js rename to remix-debug/src/trace/traceCache.js diff --git a/remix-core/src/trace/traceManager.js b/remix-debug/src/trace/traceManager.js similarity index 100% rename from remix-core/src/trace/traceManager.js rename to remix-debug/src/trace/traceManager.js diff --git a/remix-core/src/trace/traceRetriever.js b/remix-debug/src/trace/traceRetriever.js similarity index 100% rename from remix-core/src/trace/traceRetriever.js rename to remix-debug/src/trace/traceRetriever.js diff --git a/remix-core/src/trace/traceStepManager.js b/remix-debug/src/trace/traceStepManager.js similarity index 100% rename from remix-core/src/trace/traceStepManager.js rename to remix-debug/src/trace/traceStepManager.js diff --git a/remix-core/test/codeManager.js b/remix-debug/test/codeManager.js similarity index 100% rename from remix-core/test/codeManager.js rename to remix-debug/test/codeManager.js diff --git a/remix-core/test/disassembler.js b/remix-debug/test/disassembler.js similarity index 100% rename from remix-core/test/disassembler.js rename to remix-debug/test/disassembler.js diff --git a/remix-core/test/init.js b/remix-debug/test/init.js similarity index 100% rename from remix-core/test/init.js rename to remix-debug/test/init.js diff --git a/remix-core/test/resources/testWeb3.js b/remix-debug/test/resources/testWeb3.js similarity index 100% rename from remix-core/test/resources/testWeb3.js rename to remix-debug/test/resources/testWeb3.js diff --git a/remix-core/test/resources/testWeb3.json b/remix-debug/test/resources/testWeb3.json similarity index 100% rename from remix-core/test/resources/testWeb3.json rename to remix-debug/test/resources/testWeb3.json diff --git a/remix-debug/test/tests.js b/remix-debug/test/tests.js index 065fbe53a3..bff1e42b81 100644 --- a/remix-debug/test/tests.js +++ b/remix-debug/test/tests.js @@ -1,12 +1,17 @@ 'use strict' var tape = require('tape') var remixLib = require('remix-lib') -var remixCore = require('remix-core') var compilerInput = remixLib.helpers.compiler.compilerInput var vmCall = require('./vmCall') var Debugger = require('../src/Ethdebugger') var compiler = require('solc') +require('./traceManager.js') +require('./codeManager.js') +require('./disassembler.js') + +var BreakpointManager = require('../src/code/breakpointManager') + tape('debug contract', function (t) { t.plan(12) var privateKey = new Buffer('dae9801649ba2d95a21e688b56f77905e5667c44ce868ec83f82e838712a2c7a', 'hex') @@ -95,7 +100,7 @@ function testDebugging (t, debugManager) { }) var sourceMappingDecoder = new remixLib.SourceMappingDecoder() - var breakPointManager = new remixCore.code.BreakpointManager(debugManager, (rawLocation) => { + var breakPointManager = new BreakpointManager(debugManager, (rawLocation) => { return sourceMappingDecoder.convertOffsetToLineColumn(rawLocation, sourceMappingDecoder.getLinebreakPositions(ballot)) }) diff --git a/remix-core/test/traceManager.js b/remix-debug/test/traceManager.js similarity index 100% rename from remix-core/test/traceManager.js rename to remix-debug/test/traceManager.js From 44f588721b6c6186a85c763cea5e02de799252a9 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:19:21 -0400 Subject: [PATCH 02/35] update readme --- remix-core/README.md | 165 ----------------------------------------- remix-debug/README.md | 167 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 167 insertions(+), 165 deletions(-) delete mode 100644 remix-core/README.md diff --git a/remix-core/README.md b/remix-core/README.md deleted file mode 100644 index 185eb216ae..0000000000 --- a/remix-core/README.md +++ /dev/null @@ -1,165 +0,0 @@ -# `remix-core` - -Provides: - -```javascript -{ - code: { - CodeManager: CodeManager, - BreakpointManager: BreakpointManager - }, - storage: { - StorageViewer: StorageViewer, - StorageResolver: StorageResolver - }, - trace: { - TraceManager: TraceManager - } -} -``` - - -TraceManager is a convenient way to access a VM Trace and resolve some value from it. - -`TraceManager()` : - -`function resolveTrace(stepIndex, tx)` - -`function init(stepIndex, tx)` - -`function inRange(stepIndex, tx)` - -`function isLoaded(stepIndex, tx)` - -`function getLength(stepIndex, tx)` - -`function accumulateStorageChanges(stepIndex, tx)` - -`function getAddresses(stepIndex, tx)` - -`function getCallDataAt(stepIndex, tx)` - -`function getCallStackAt(stepIndex, tx)` - -`function getStackAt(stepIndex, tx)` - -`function getLastCallChangeSince(stepIndex, tx)` - -`function getCurrentCalledAddressAt(stepIndex, tx)` - -`function getContractCreationCode(stepIndex, tx)` - -`function getMemoryAt(stepIndex, tx)` - -`function getCurrentPC(stepIndex, tx)` - -`function getReturnValue(stepIndex, tx)` - -`function getCurrentStep(stepIndex, tx)` - -`function getMemExpand(stepIndex, tx)` - -`function getStepCost(stepIndex, tx)` - -`function getRemainingGas(stepIndex, tx)` - -`function getStepCost(stepIndex, tx)` - -`function isCreationStep(stepIndex, tx)` - -`function findStepOverBack(stepIndex, tx)` - -`function findStepOverForward(stepIndex, tx)` - -`function findStepOverBack(stepIndex, tx)` - -`function findNextCall(stepIndex, tx)` - -`function findStepOut(stepIndex, tx)` - -`function checkRequestedStep(stepIndex, tx)` - -`function waterfall(stepIndex, tx)` - - -- - - - - -`CodeManager(_traceManager)` : - -`function getCode(stepIndex, tx)` : -Resolve the code of the given @arg stepIndex and trigger appropriate event - -`function resolveStep(address, cb)` : -Retrieve the code located at the given @arg address - -`function getFunctionFromStep(stepIndex, sourceMap, ast)` : -Retrieve the called function for the current vm step - -`function getInstructionIndex(address, step, callback)` : -Retrieve the instruction index of the given @arg step - -`function getFunctionFromPC(address, pc, sourceMap, ast)` : -Retrieve the called function for the given @arg pc and @arg address - -- - - - - -`BreakpointManager(_ethdebugger, _locationToRowConverter)` : - -`function jumpNextBreakpoint(defaultToLimit)` : -start looking for the next breakpoint - -`function jumpPreviousBreakpoint(defaultToLimit)` : -start looking for the previous breakpoint - -`function jump(direction, defaultToLimit)` : -start looking for the previous or next breakpoint - -`function hasBreakpointAtLine((fileIndex, line)` : -check the given pair fileIndex/line against registered breakpoints - -`function hasBreakpoint()` : -return true if current manager has breakpoint - -`function add(sourceLocation)` : -add a new breakpoint to the manager - -`function remove(sourceLocation)` : -remove a breakpoint from the manager - -- - - - - -`StorageViewer(_context, _storageResolver, _traceManager)` : - -`function storageRange(defaultToLimit)` : -return the storage for the current context (address and vm trace index) - -`function storageSlot(defaultToLimit)` : -return a slot value for the current context (address and vm trace index) - -`function isComplete(direction, defaultToLimit)` : -return True if the storage at @arg address is complete - -`function initialMappingsLocation((fileIndex, line)` : -return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction - -`function mappingsLocation()` : -return all the possible mappings locations for the current context (cached) and current mapping slot. returns state changes during the current transaction - -`function extractMappingsLocationChanges(sourceLocation)` : -retrieve mapping location changes from the storage changes. - -- - - - - -`StorageResolver()` : - -`function storageRange(tx, stepIndex, address, callback)` : -return the storage for the current context (address and vm trace index) - -`function initialPreimagesMappings(tx, stepIndex, address, callback)` : -return a slot value for the current context (address and vm trace index) - -`function storageSlot(slot, tx, stepIndex, address, callback)` : -return True if the storage at @arg address is complete - -`function isComplete(address)` : -return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction diff --git a/remix-debug/README.md b/remix-debug/README.md index 7e1edb79a3..f198c26d75 100644 --- a/remix-debug/README.md +++ b/remix-debug/README.md @@ -63,3 +63,170 @@ debugger.callTree.register('callTreeReady', () => { }) ``` + +## Library + +Provides: + +```javascript +{ + code: { + CodeManager: CodeManager, + BreakpointManager: BreakpointManager + }, + storage: { + StorageViewer: StorageViewer, + StorageResolver: StorageResolver + }, + trace: { + TraceManager: TraceManager + } +} +``` + + +TraceManager is a convenient way to access a VM Trace and resolve some value from it. + +`TraceManager()` : + +`function resolveTrace(stepIndex, tx)` + +`function init(stepIndex, tx)` + +`function inRange(stepIndex, tx)` + +`function isLoaded(stepIndex, tx)` + +`function getLength(stepIndex, tx)` + +`function accumulateStorageChanges(stepIndex, tx)` + +`function getAddresses(stepIndex, tx)` + +`function getCallDataAt(stepIndex, tx)` + +`function getCallStackAt(stepIndex, tx)` + +`function getStackAt(stepIndex, tx)` + +`function getLastCallChangeSince(stepIndex, tx)` + +`function getCurrentCalledAddressAt(stepIndex, tx)` + +`function getContractCreationCode(stepIndex, tx)` + +`function getMemoryAt(stepIndex, tx)` + +`function getCurrentPC(stepIndex, tx)` + +`function getReturnValue(stepIndex, tx)` + +`function getCurrentStep(stepIndex, tx)` + +`function getMemExpand(stepIndex, tx)` + +`function getStepCost(stepIndex, tx)` + +`function getRemainingGas(stepIndex, tx)` + +`function getStepCost(stepIndex, tx)` + +`function isCreationStep(stepIndex, tx)` + +`function findStepOverBack(stepIndex, tx)` + +`function findStepOverForward(stepIndex, tx)` + +`function findStepOverBack(stepIndex, tx)` + +`function findNextCall(stepIndex, tx)` + +`function findStepOut(stepIndex, tx)` + +`function checkRequestedStep(stepIndex, tx)` + +`function waterfall(stepIndex, tx)` + + +- - - - + +`CodeManager(_traceManager)` : + +`function getCode(stepIndex, tx)` : +Resolve the code of the given @arg stepIndex and trigger appropriate event + +`function resolveStep(address, cb)` : +Retrieve the code located at the given @arg address + +`function getFunctionFromStep(stepIndex, sourceMap, ast)` : +Retrieve the called function for the current vm step + +`function getInstructionIndex(address, step, callback)` : +Retrieve the instruction index of the given @arg step + +`function getFunctionFromPC(address, pc, sourceMap, ast)` : +Retrieve the called function for the given @arg pc and @arg address + +- - - - + +`BreakpointManager(_ethdebugger, _locationToRowConverter)` : + +`function jumpNextBreakpoint(defaultToLimit)` : +start looking for the next breakpoint + +`function jumpPreviousBreakpoint(defaultToLimit)` : +start looking for the previous breakpoint + +`function jump(direction, defaultToLimit)` : +start looking for the previous or next breakpoint + +`function hasBreakpointAtLine((fileIndex, line)` : +check the given pair fileIndex/line against registered breakpoints + +`function hasBreakpoint()` : +return true if current manager has breakpoint + +`function add(sourceLocation)` : +add a new breakpoint to the manager + +`function remove(sourceLocation)` : +remove a breakpoint from the manager + +- - - - + +`StorageViewer(_context, _storageResolver, _traceManager)` : + +`function storageRange(defaultToLimit)` : +return the storage for the current context (address and vm trace index) + +`function storageSlot(defaultToLimit)` : +return a slot value for the current context (address and vm trace index) + +`function isComplete(direction, defaultToLimit)` : +return True if the storage at @arg address is complete + +`function initialMappingsLocation((fileIndex, line)` : +return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction + +`function mappingsLocation()` : +return all the possible mappings locations for the current context (cached) and current mapping slot. returns state changes during the current transaction + +`function extractMappingsLocationChanges(sourceLocation)` : +retrieve mapping location changes from the storage changes. + +- - - - + +`StorageResolver()` : + +`function storageRange(tx, stepIndex, address, callback)` : +return the storage for the current context (address and vm trace index) + +`function initialPreimagesMappings(tx, stepIndex, address, callback)` : +return a slot value for the current context (address and vm trace index) + +`function storageSlot(slot, tx, stepIndex, address, callback)` : +return True if the storage at @arg address is complete + +`function isComplete(address)` : +return all the possible mappings locations for the current context (cached) do not return state changes during the current transaction + From d2c909e9a3a74892cd9873b264bececee5b1e4c7 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:20:37 -0400 Subject: [PATCH 03/35] update reference to BreakpointManager --- remix-debug/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/remix-debug/index.js b/remix-debug/index.js index f2cb78301f..1f0f85d278 100644 --- a/remix-debug/index.js +++ b/remix-debug/index.js @@ -1,5 +1,4 @@ 'use strict' -var remixCore = require('remix-core') var EthDebugger = require('./src/Ethdebugger') var CodeManager = require('./src/code/codeManager') @@ -24,7 +23,7 @@ module.exports = { * @param {Object} _debugger - type of EthDebugger * @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location */ - BreakpointManager: remixCore.code.BreakpointManager, + BreakpointManager: BreakpointManager, code: { CodeManager: CodeManager, BreakpointManager: BreakpointManager From 45eb3b60d224a535c96f1df3a987deee76834d2b Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:36:27 -0400 Subject: [PATCH 04/35] move decoder from remix-solidity to remix-debug --- remix-debug/package.json | 1 - remix-debug/src/Ethdebugger.js | 10 +++++----- .../src/decoder/astHelper.js | 0 .../src/decoder/decodeInfo.js | 0 .../src/decoder/internalCallTree.js | 0 .../src/decoder/localDecoder.js | 0 .../src/decoder/solidityProxy.js | 0 .../src/decoder/stateDecoder.js | 0 .../src/decoder/types/Address.js | 0 .../src/decoder/types/ArrayType.js | 0 .../src/decoder/types/Bool.js | 0 .../src/decoder/types/DynamicByteArray.js | 0 .../src/decoder/types/Enum.js | 0 .../src/decoder/types/FixedByteArray.js | 0 .../src/decoder/types/Int.js | 0 .../src/decoder/types/Mapping.js | 0 .../src/decoder/types/RefType.js | 0 .../src/decoder/types/StringType.js | 0 .../src/decoder/types/Struct.js | 0 .../src/decoder/types/Uint.js | 0 .../src/decoder/types/ValueType.js | 0 .../src/decoder/types/util.js | 0 .../test/decoder/contracts/byteStorage.js | 0 .../test/decoder/contracts/intLocal.js | 0 .../test/decoder/contracts/intStorage.js | 0 .../test/decoder/contracts/mappingStorage.js | 0 .../test/decoder/contracts/miscContracts.js | 0 .../test/decoder/contracts/miscLocal.js | 0 .../test/decoder/contracts/simpleContract.js | 0 .../test/decoder/contracts/structArrayLocal.js | 0 .../test/decoder/contracts/structArrayStorage.js | 0 .../test/decoder/decodeInfo.js | 0 .../test/decoder/localDecoder.js | 0 .../test/decoder/localsTests/helper.js | 0 .../test/decoder/localsTests/int.js | 0 .../test/decoder/localsTests/misc.js | 0 .../test/decoder/localsTests/misc2.js | 0 .../test/decoder/localsTests/structArray.js | 0 .../test/decoder/mockStorageResolver.js | 0 .../test/decoder/stateTests/mapping.js | 0 .../test/decoder/storageDecoder.js | 0 .../test/decoder/storageLocation.js | 0 {remix-solidity => remix-debug}/test/decoder/vmCall.js | 0 remix-debug/test/tests.js | 5 +++++ remix-solidity/test/tests.js | 4 ---- 45 files changed, 10 insertions(+), 10 deletions(-) rename {remix-solidity => remix-debug}/src/decoder/astHelper.js (100%) rename {remix-solidity => remix-debug}/src/decoder/decodeInfo.js (100%) rename {remix-solidity => remix-debug}/src/decoder/internalCallTree.js (100%) rename {remix-solidity => remix-debug}/src/decoder/localDecoder.js (100%) rename {remix-solidity => remix-debug}/src/decoder/solidityProxy.js (100%) rename {remix-solidity => remix-debug}/src/decoder/stateDecoder.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Address.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/ArrayType.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Bool.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/DynamicByteArray.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Enum.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/FixedByteArray.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Int.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Mapping.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/RefType.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/StringType.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Struct.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/Uint.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/ValueType.js (100%) rename {remix-solidity => remix-debug}/src/decoder/types/util.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/byteStorage.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/intLocal.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/intStorage.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/mappingStorage.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/miscContracts.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/miscLocal.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/simpleContract.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/structArrayLocal.js (100%) rename {remix-solidity => remix-debug}/test/decoder/contracts/structArrayStorage.js (100%) rename {remix-solidity => remix-debug}/test/decoder/decodeInfo.js (100%) rename {remix-solidity => remix-debug}/test/decoder/localDecoder.js (100%) rename {remix-solidity => remix-debug}/test/decoder/localsTests/helper.js (100%) rename {remix-solidity => remix-debug}/test/decoder/localsTests/int.js (100%) rename {remix-solidity => remix-debug}/test/decoder/localsTests/misc.js (100%) rename {remix-solidity => remix-debug}/test/decoder/localsTests/misc2.js (100%) rename {remix-solidity => remix-debug}/test/decoder/localsTests/structArray.js (100%) rename {remix-solidity => remix-debug}/test/decoder/mockStorageResolver.js (100%) rename {remix-solidity => remix-debug}/test/decoder/stateTests/mapping.js (100%) rename {remix-solidity => remix-debug}/test/decoder/storageDecoder.js (100%) rename {remix-solidity => remix-debug}/test/decoder/storageLocation.js (100%) rename {remix-solidity => remix-debug}/test/decoder/vmCall.js (100%) diff --git a/remix-debug/package.json b/remix-debug/package.json index 45f15c71c7..e275a6e8f2 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -28,7 +28,6 @@ "npm-run-all": "^4.1.2", "fast-async": "^6.1.2", "remix-lib": "^0.2.9", - "remix-solidity": "^0.1.11", "solc": "https://github.com/ethereum/solc-js" }, "devDependencies": { diff --git a/remix-debug/src/Ethdebugger.js b/remix-debug/src/Ethdebugger.js index 7b60ed750f..6e2c8997dd 100644 --- a/remix-debug/src/Ethdebugger.js +++ b/remix-debug/src/Ethdebugger.js @@ -5,6 +5,11 @@ var StorageViewer = require('./storage/storageViewer') var StorageResolver = require('./storage/storageResolver') var TraceManager = require('./trace/traceManager') +var SolidityProxy = require('./decoder/solidityProxy') +var stateDecoder = require('./decoder/stateDecoder') +var localDecoder = require('./decoder/localDecoder') +var InternalCallTree = require('./decoder/internalCallTree') + var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace var init = remixLib.init @@ -12,11 +17,6 @@ var executionContext = remixLib.execution.executionContext var EventManager = remixLib.EventManager var Web3Providers = remixLib.vm.Web3Providers var DummyProvider = remixLib.vm.DummyProvider -var remixSolidity = require('remix-solidity') -var SolidityProxy = remixSolidity.SolidityProxy -var stateDecoder = remixSolidity.stateDecoder -var localDecoder = remixSolidity.localDecoder -var InternalCallTree = remixSolidity.InternalCallTree /** * Ethdebugger is a wrapper around a few classes that helps debugging a transaction diff --git a/remix-solidity/src/decoder/astHelper.js b/remix-debug/src/decoder/astHelper.js similarity index 100% rename from remix-solidity/src/decoder/astHelper.js rename to remix-debug/src/decoder/astHelper.js diff --git a/remix-solidity/src/decoder/decodeInfo.js b/remix-debug/src/decoder/decodeInfo.js similarity index 100% rename from remix-solidity/src/decoder/decodeInfo.js rename to remix-debug/src/decoder/decodeInfo.js diff --git a/remix-solidity/src/decoder/internalCallTree.js b/remix-debug/src/decoder/internalCallTree.js similarity index 100% rename from remix-solidity/src/decoder/internalCallTree.js rename to remix-debug/src/decoder/internalCallTree.js diff --git a/remix-solidity/src/decoder/localDecoder.js b/remix-debug/src/decoder/localDecoder.js similarity index 100% rename from remix-solidity/src/decoder/localDecoder.js rename to remix-debug/src/decoder/localDecoder.js diff --git a/remix-solidity/src/decoder/solidityProxy.js b/remix-debug/src/decoder/solidityProxy.js similarity index 100% rename from remix-solidity/src/decoder/solidityProxy.js rename to remix-debug/src/decoder/solidityProxy.js diff --git a/remix-solidity/src/decoder/stateDecoder.js b/remix-debug/src/decoder/stateDecoder.js similarity index 100% rename from remix-solidity/src/decoder/stateDecoder.js rename to remix-debug/src/decoder/stateDecoder.js diff --git a/remix-solidity/src/decoder/types/Address.js b/remix-debug/src/decoder/types/Address.js similarity index 100% rename from remix-solidity/src/decoder/types/Address.js rename to remix-debug/src/decoder/types/Address.js diff --git a/remix-solidity/src/decoder/types/ArrayType.js b/remix-debug/src/decoder/types/ArrayType.js similarity index 100% rename from remix-solidity/src/decoder/types/ArrayType.js rename to remix-debug/src/decoder/types/ArrayType.js diff --git a/remix-solidity/src/decoder/types/Bool.js b/remix-debug/src/decoder/types/Bool.js similarity index 100% rename from remix-solidity/src/decoder/types/Bool.js rename to remix-debug/src/decoder/types/Bool.js diff --git a/remix-solidity/src/decoder/types/DynamicByteArray.js b/remix-debug/src/decoder/types/DynamicByteArray.js similarity index 100% rename from remix-solidity/src/decoder/types/DynamicByteArray.js rename to remix-debug/src/decoder/types/DynamicByteArray.js diff --git a/remix-solidity/src/decoder/types/Enum.js b/remix-debug/src/decoder/types/Enum.js similarity index 100% rename from remix-solidity/src/decoder/types/Enum.js rename to remix-debug/src/decoder/types/Enum.js diff --git a/remix-solidity/src/decoder/types/FixedByteArray.js b/remix-debug/src/decoder/types/FixedByteArray.js similarity index 100% rename from remix-solidity/src/decoder/types/FixedByteArray.js rename to remix-debug/src/decoder/types/FixedByteArray.js diff --git a/remix-solidity/src/decoder/types/Int.js b/remix-debug/src/decoder/types/Int.js similarity index 100% rename from remix-solidity/src/decoder/types/Int.js rename to remix-debug/src/decoder/types/Int.js diff --git a/remix-solidity/src/decoder/types/Mapping.js b/remix-debug/src/decoder/types/Mapping.js similarity index 100% rename from remix-solidity/src/decoder/types/Mapping.js rename to remix-debug/src/decoder/types/Mapping.js diff --git a/remix-solidity/src/decoder/types/RefType.js b/remix-debug/src/decoder/types/RefType.js similarity index 100% rename from remix-solidity/src/decoder/types/RefType.js rename to remix-debug/src/decoder/types/RefType.js diff --git a/remix-solidity/src/decoder/types/StringType.js b/remix-debug/src/decoder/types/StringType.js similarity index 100% rename from remix-solidity/src/decoder/types/StringType.js rename to remix-debug/src/decoder/types/StringType.js diff --git a/remix-solidity/src/decoder/types/Struct.js b/remix-debug/src/decoder/types/Struct.js similarity index 100% rename from remix-solidity/src/decoder/types/Struct.js rename to remix-debug/src/decoder/types/Struct.js diff --git a/remix-solidity/src/decoder/types/Uint.js b/remix-debug/src/decoder/types/Uint.js similarity index 100% rename from remix-solidity/src/decoder/types/Uint.js rename to remix-debug/src/decoder/types/Uint.js diff --git a/remix-solidity/src/decoder/types/ValueType.js b/remix-debug/src/decoder/types/ValueType.js similarity index 100% rename from remix-solidity/src/decoder/types/ValueType.js rename to remix-debug/src/decoder/types/ValueType.js diff --git a/remix-solidity/src/decoder/types/util.js b/remix-debug/src/decoder/types/util.js similarity index 100% rename from remix-solidity/src/decoder/types/util.js rename to remix-debug/src/decoder/types/util.js diff --git a/remix-solidity/test/decoder/contracts/byteStorage.js b/remix-debug/test/decoder/contracts/byteStorage.js similarity index 100% rename from remix-solidity/test/decoder/contracts/byteStorage.js rename to remix-debug/test/decoder/contracts/byteStorage.js diff --git a/remix-solidity/test/decoder/contracts/intLocal.js b/remix-debug/test/decoder/contracts/intLocal.js similarity index 100% rename from remix-solidity/test/decoder/contracts/intLocal.js rename to remix-debug/test/decoder/contracts/intLocal.js diff --git a/remix-solidity/test/decoder/contracts/intStorage.js b/remix-debug/test/decoder/contracts/intStorage.js similarity index 100% rename from remix-solidity/test/decoder/contracts/intStorage.js rename to remix-debug/test/decoder/contracts/intStorage.js diff --git a/remix-solidity/test/decoder/contracts/mappingStorage.js b/remix-debug/test/decoder/contracts/mappingStorage.js similarity index 100% rename from remix-solidity/test/decoder/contracts/mappingStorage.js rename to remix-debug/test/decoder/contracts/mappingStorage.js diff --git a/remix-solidity/test/decoder/contracts/miscContracts.js b/remix-debug/test/decoder/contracts/miscContracts.js similarity index 100% rename from remix-solidity/test/decoder/contracts/miscContracts.js rename to remix-debug/test/decoder/contracts/miscContracts.js diff --git a/remix-solidity/test/decoder/contracts/miscLocal.js b/remix-debug/test/decoder/contracts/miscLocal.js similarity index 100% rename from remix-solidity/test/decoder/contracts/miscLocal.js rename to remix-debug/test/decoder/contracts/miscLocal.js diff --git a/remix-solidity/test/decoder/contracts/simpleContract.js b/remix-debug/test/decoder/contracts/simpleContract.js similarity index 100% rename from remix-solidity/test/decoder/contracts/simpleContract.js rename to remix-debug/test/decoder/contracts/simpleContract.js diff --git a/remix-solidity/test/decoder/contracts/structArrayLocal.js b/remix-debug/test/decoder/contracts/structArrayLocal.js similarity index 100% rename from remix-solidity/test/decoder/contracts/structArrayLocal.js rename to remix-debug/test/decoder/contracts/structArrayLocal.js diff --git a/remix-solidity/test/decoder/contracts/structArrayStorage.js b/remix-debug/test/decoder/contracts/structArrayStorage.js similarity index 100% rename from remix-solidity/test/decoder/contracts/structArrayStorage.js rename to remix-debug/test/decoder/contracts/structArrayStorage.js diff --git a/remix-solidity/test/decoder/decodeInfo.js b/remix-debug/test/decoder/decodeInfo.js similarity index 100% rename from remix-solidity/test/decoder/decodeInfo.js rename to remix-debug/test/decoder/decodeInfo.js diff --git a/remix-solidity/test/decoder/localDecoder.js b/remix-debug/test/decoder/localDecoder.js similarity index 100% rename from remix-solidity/test/decoder/localDecoder.js rename to remix-debug/test/decoder/localDecoder.js diff --git a/remix-solidity/test/decoder/localsTests/helper.js b/remix-debug/test/decoder/localsTests/helper.js similarity index 100% rename from remix-solidity/test/decoder/localsTests/helper.js rename to remix-debug/test/decoder/localsTests/helper.js diff --git a/remix-solidity/test/decoder/localsTests/int.js b/remix-debug/test/decoder/localsTests/int.js similarity index 100% rename from remix-solidity/test/decoder/localsTests/int.js rename to remix-debug/test/decoder/localsTests/int.js diff --git a/remix-solidity/test/decoder/localsTests/misc.js b/remix-debug/test/decoder/localsTests/misc.js similarity index 100% rename from remix-solidity/test/decoder/localsTests/misc.js rename to remix-debug/test/decoder/localsTests/misc.js diff --git a/remix-solidity/test/decoder/localsTests/misc2.js b/remix-debug/test/decoder/localsTests/misc2.js similarity index 100% rename from remix-solidity/test/decoder/localsTests/misc2.js rename to remix-debug/test/decoder/localsTests/misc2.js diff --git a/remix-solidity/test/decoder/localsTests/structArray.js b/remix-debug/test/decoder/localsTests/structArray.js similarity index 100% rename from remix-solidity/test/decoder/localsTests/structArray.js rename to remix-debug/test/decoder/localsTests/structArray.js diff --git a/remix-solidity/test/decoder/mockStorageResolver.js b/remix-debug/test/decoder/mockStorageResolver.js similarity index 100% rename from remix-solidity/test/decoder/mockStorageResolver.js rename to remix-debug/test/decoder/mockStorageResolver.js diff --git a/remix-solidity/test/decoder/stateTests/mapping.js b/remix-debug/test/decoder/stateTests/mapping.js similarity index 100% rename from remix-solidity/test/decoder/stateTests/mapping.js rename to remix-debug/test/decoder/stateTests/mapping.js diff --git a/remix-solidity/test/decoder/storageDecoder.js b/remix-debug/test/decoder/storageDecoder.js similarity index 100% rename from remix-solidity/test/decoder/storageDecoder.js rename to remix-debug/test/decoder/storageDecoder.js diff --git a/remix-solidity/test/decoder/storageLocation.js b/remix-debug/test/decoder/storageLocation.js similarity index 100% rename from remix-solidity/test/decoder/storageLocation.js rename to remix-debug/test/decoder/storageLocation.js diff --git a/remix-solidity/test/decoder/vmCall.js b/remix-debug/test/decoder/vmCall.js similarity index 100% rename from remix-solidity/test/decoder/vmCall.js rename to remix-debug/test/decoder/vmCall.js diff --git a/remix-debug/test/tests.js b/remix-debug/test/tests.js index bff1e42b81..37481f6501 100644 --- a/remix-debug/test/tests.js +++ b/remix-debug/test/tests.js @@ -10,6 +10,11 @@ require('./traceManager.js') require('./codeManager.js') require('./disassembler.js') +require('./decoder/decodeInfo.js') +require('./decoder/storageLocation.js') +require('./decoder/storageDecoder.js') +require('./decoder/localDecoder.js') + var BreakpointManager = require('../src/code/breakpointManager') tape('debug contract', function (t) { diff --git a/remix-solidity/test/tests.js b/remix-solidity/test/tests.js index 0a1eb061c0..0df3206d12 100644 --- a/remix-solidity/test/tests.js +++ b/remix-solidity/test/tests.js @@ -1,7 +1,3 @@ -require('./decoder/decodeInfo.js') -require('./decoder/storageLocation.js') -require('./decoder/storageDecoder.js') -require('./decoder/localDecoder.js') require('./analysis/staticAnalysisCommon-test.js') require('./analysis/staticAnalysisIntegration-test.js') From 9afba3cd7b1f5c57ec7e26cb8d7faff25318a0b8 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:47:29 -0400 Subject: [PATCH 05/35] update tests --- remix-debug/test/decoder/localsTests/int.js | 7 ++++--- remix-debug/test/decoder/localsTests/misc.js | 5 ++--- remix-debug/test/decoder/localsTests/misc2.js | 5 ++--- remix-debug/test/decoder/localsTests/structArray.js | 5 ++--- remix-debug/test/decoder/stateTests/mapping.js | 7 ++++--- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/remix-debug/test/decoder/localsTests/int.js b/remix-debug/test/decoder/localsTests/int.js index c86cf336e7..db3a35f6c8 100644 --- a/remix-debug/test/decoder/localsTests/int.js +++ b/remix-debug/test/decoder/localsTests/int.js @@ -1,7 +1,8 @@ 'use strict' -var remixCore = require('remix-core') -var TraceManager = remixCore.trace.TraceManager -var CodeManager = remixCore.code.CodeManager + +var TraceManager = require('../../../src/trace/traceManager') +var CodeManager = require('../../../src/code/codeManager') + var vmCall = require('../vmCall') var remixLib = require('remix-lib') diff --git a/remix-debug/test/decoder/localsTests/misc.js b/remix-debug/test/decoder/localsTests/misc.js index be37d59e49..9285ab31c8 100644 --- a/remix-debug/test/decoder/localsTests/misc.js +++ b/remix-debug/test/decoder/localsTests/misc.js @@ -1,7 +1,6 @@ 'use strict' -var remixCore = require('remix-core') -var TraceManager = remixCore.trace.TraceManager -var CodeManager = remixCore.code.CodeManager +var TraceManager = require('../../../src/trace/traceManager') +var CodeManager = require('../../../src/code/codeManager') var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace diff --git a/remix-debug/test/decoder/localsTests/misc2.js b/remix-debug/test/decoder/localsTests/misc2.js index 78cd2745f4..19b69eba04 100644 --- a/remix-debug/test/decoder/localsTests/misc2.js +++ b/remix-debug/test/decoder/localsTests/misc2.js @@ -1,7 +1,6 @@ 'use strict' -var remixCore = require('remix-core') -var TraceManager = remixCore.trace.TraceManager -var CodeManager = remixCore.code.CodeManager +var TraceManager = require('../../../src/trace/traceManager') +var CodeManager = require('../../../src/code/codeManager') var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace diff --git a/remix-debug/test/decoder/localsTests/structArray.js b/remix-debug/test/decoder/localsTests/structArray.js index 8e6865e18f..984a341546 100644 --- a/remix-debug/test/decoder/localsTests/structArray.js +++ b/remix-debug/test/decoder/localsTests/structArray.js @@ -1,7 +1,6 @@ 'use strict' -var remixCore = require('remix-core') -var TraceManager = remixCore.trace.TraceManager -var CodeManager = remixCore.code.CodeManager +var TraceManager = require('../../../src/trace/traceManager') +var CodeManager = require('../../../src/code/codeManager') var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace diff --git a/remix-debug/test/decoder/stateTests/mapping.js b/remix-debug/test/decoder/stateTests/mapping.js index 9d587f1d74..ed14992837 100644 --- a/remix-debug/test/decoder/stateTests/mapping.js +++ b/remix-debug/test/decoder/stateTests/mapping.js @@ -4,6 +4,10 @@ var compiler = require('solc') var stateDecoder = require('../../../src/decoder/stateDecoder') var vmCall = require('../vmCall') +var TraceManager = require('../../../src/trace/traceManager') +var StorageResolver = require('../../../src/storage/storageResolver') +var StorageViewer = require('../../../src/storage/storageViewer') + module.exports = function testMappingStorage (st, cb) { var mappingStorage = require('../contracts/mappingStorage') var privateKey = new Buffer('dae9801649ba2d95a21e688b56f77905e5667c44ce868ec83f82e838712a2c7a', 'hex') @@ -40,11 +44,8 @@ function testMapping (st, vm, privateKey, contractAddress, output, cb) { console.log(error) st.end(error) } else { - var TraceManager = require('remix-core').trace.TraceManager var traceManager = new TraceManager({web3: vm.web3}) traceManager.resolveTrace(tx, () => { - var StorageResolver = require('remix-core').storage.StorageResolver - var StorageViewer = require('remix-core').storage.StorageViewer var storageViewer = new StorageViewer({ stepIndex: 213, tx: tx, From 66a06c6ee54688de1ee853af404774c2fd0adbb5 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:48:07 -0400 Subject: [PATCH 06/35] remove remix core module --- remix-core/index.js | 19 ---------- remix-core/package.json | 79 ----------------------------------------- 2 files changed, 98 deletions(-) delete mode 100644 remix-core/index.js delete mode 100644 remix-core/package.json diff --git a/remix-core/index.js b/remix-core/index.js deleted file mode 100644 index 546bcc6255..0000000000 --- a/remix-core/index.js +++ /dev/null @@ -1,19 +0,0 @@ -var CodeManager = require('./src/code/codeManager') -var BreakpointManager = require('./src/code/breakpointManager') -var StorageViewer = require('./src/storage/storageViewer') -var StorageResolver = require('./src/storage/storageResolver') -var TraceManager = require('./src/trace/traceManager') - -module.exports = { - code: { - CodeManager: CodeManager, - BreakpointManager: BreakpointManager - }, - storage: { - StorageViewer: StorageViewer, - StorageResolver: StorageResolver - }, - trace: { - TraceManager: TraceManager - } -} diff --git a/remix-core/package.json b/remix-core/package.json deleted file mode 100644 index 1e18874255..0000000000 --- a/remix-core/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "name": "remix-core", - "version": "0.0.15", - "description": "Ethereum IDE and tools for the web", - "contributors": [ - { - "name": "Yann Levreau", - "email": "yann@ethereum.com" - }, - { - "name": "Liana Husikyan", - "email": "liana@ethereum.com" - } - ], - "main": "./index.js", - "dependencies": { - "babel-eslint": "^7.1.1", - "babel-plugin-transform-object-assign": "^6.22.0", - "babel-preset-es2015": "^6.24.0", - "babelify": "^7.3.0", - "fast-async": "^6.1.2", - "remix-lib": "^0.2.9", - "standard": "^7.0.1", - "tape": "^4.6.0" - }, - "scripts": { - "test": "standard && tape ./test/tests.js" - }, - "standard": { - "ignore": [ - "node_modules/*", - "build/*", - "test/resources/*" - ], - "parser": "babel-eslint" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/ethereum/remix.git" - }, - "author": "cpp-ethereum team", - "license": "MIT", - "bugs": { - "url": "https://github.com/ethereum/remix/issues" - }, - "homepage": "https://github.com/ethereum/remix#readme", - "browserify": { - "transform": [ - [ - "babelify", - { - "plugins": [ - [ - "fast-async", - { - "runtimePatten": null, - "compiler": { - "promises": true, - "es7": true, - "noRuntime": true, - "wrapAwait": true - } - } - ], - "transform-object-assign" - ] - } - ], - [ - "babelify", - { - "presets": [ - "es2015" - ] - } - ] - ] - } -} From e2532a1ab94a8d602ed604f566775bed170fa384 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 17:51:33 -0400 Subject: [PATCH 07/35] remove other references to remix-core --- .circleci/config.yml | 19 ++++--------------- .travis.yml | 3 +-- README.md | 3 +-- lerna.json | 1 - remix-solidity/package.json | 1 - 5 files changed, 6 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1805aa0603..53cd0cb0dd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -13,17 +13,7 @@ jobs: - checkout - run: npm install && npm run bootstrap - run: cd remix-lib && npm test - - remix-core: - docker: - - image: circleci/node:7.10 - environment: - working_directory: ~/repo - steps: - - checkout - - run: npm install && npm run bootstrap - - run: cd remix-core && npm test - + remix-solidity: docker: - image: circleci/node:7.10 @@ -33,7 +23,7 @@ jobs: - checkout - run: npm install && npm run bootstrap - run: cd remix-solidity && npm test - + remix-debug: docker: - image: circleci/node:7.10 @@ -43,13 +33,12 @@ jobs: - checkout - run: npm install && npm run bootstrap - run: cd remix-debug && npm test - + workflows: version: 2 build_all: jobs: - remix-lib - - remix-core - remix-solidity - remix-debug - + diff --git a/.travis.yml b/.travis.yml index c71d917c1f..5fd298c5b5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,10 +2,9 @@ language: node_js node_js: - stable env: - - TEST_DIR=remix-core - TEST_DIR=remix-lib - TEST_DIR=remix-solidity - - TEST_DIR=remix-debugger + - TEST_DIR=remix-debug script: - cd $TEST_DIR && npm install && npm test deploy: diff --git a/README.md b/README.md index c8bdcd264a..d4ba85ef07 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,7 @@ Remix is built out of 4 different modules: + [`remix-solidity`](remix-solidity/README.md) provides Solidity analysis and decoding functions. + [`remix-lib`](remix-lib/README.md) -+ [`remix-core`](remix-core/README.md) is a utility package, providing high-level abstractions to work with the Ethereum VM. -+ [`remix-debugger`](remix-debugger/README.md) contains the **debugging webapp**. ++ [`remix-debug`](remix-debugger/README.md) contains the debugger. ## Contributing diff --git a/lerna.json b/lerna.json index 9f6659697a..0a931538b1 100644 --- a/lerna.json +++ b/lerna.json @@ -1,7 +1,6 @@ { "lerna": "2.10.2", "packages": [ - "remix-core", "remix-debug", "remix-debugger", "remix-lib", diff --git a/remix-solidity/package.json b/remix-solidity/package.json index 39f83c2a0c..5c22ce0b63 100644 --- a/remix-solidity/package.json +++ b/remix-solidity/package.json @@ -22,7 +22,6 @@ "ethereumjs-vm": "^2.3.3", "fast-async": "^6.1.2", "npm-run-all": "^4.0.2", - "remix-core": "^0.0.15", "remix-lib": "^0.2.9", "solc": "https://github.com/ethereum/solc-js", "standard": "^7.0.1", From c1762eb134fa3b2146fc6d78074a9333b7bd46d4 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 18:01:52 -0400 Subject: [PATCH 08/35] remove unneeded imports from remix-solidity --- remix-solidity/index.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/remix-solidity/index.js b/remix-solidity/index.js index e7fc83949d..8146d7e342 100644 --- a/remix-solidity/index.js +++ b/remix-solidity/index.js @@ -1,16 +1,8 @@ -var InternalCallTree = require('./src/decoder/internalCallTree') -var SolidityProxy = require('./src/decoder/solidityProxy') -var localDecoder = require('./src/decoder/localDecoder') -var stateDecoder = require('./src/decoder/stateDecoder') var CodeAnalysis = require('./src/analysis/staticAnalysisRunner') var Compiler = require('./src/compiler/compiler') var CompilerInput = require('./src/compiler/compiler-input') module.exports = { - InternalCallTree: InternalCallTree, - SolidityProxy: SolidityProxy, - localDecoder: localDecoder, - stateDecoder: stateDecoder, CodeAnalysis: CodeAnalysis, Compiler: Compiler, CompilerInput: CompilerInput From 4bb6e5ab36a8f8df7bfebaf27841a9a1ca3dc4f8 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 18:01:19 -0400 Subject: [PATCH 09/35] move code analyzer to its own repo --- remix-analyzer/index.js | 5 ++++ remix-analyzer/package.json | 25 +++++++++++++++++++ .../src/analysis/modules/abstractAstView.js | 0 .../src/analysis/modules/assignAndCompare.js | 0 .../src/analysis/modules/blockBlockhash.js | 0 .../src/analysis/modules/blockTimestamp.js | 0 .../src/analysis/modules/categories.js | 0 .../modules/checksEffectsInteraction.js | 0 .../src/analysis/modules/constantFunctions.js | 0 .../analysis/modules/deleteDynamicArrays.js | 0 .../src/analysis/modules/functionCallGraph.js | 0 .../src/analysis/modules/gasCosts.js | 0 .../src/analysis/modules/guardConditions.js | 0 .../src/analysis/modules/inlineAssembly.js | 0 .../analysis/modules/intDivisionTruncate.js | 0 .../src/analysis/modules/list.js | 0 .../src/analysis/modules/lowLevelCalls.js | 0 .../src/analysis/modules/noReturn.js | 0 .../src/analysis/modules/selfdestruct.js | 0 .../analysis/modules/similarVariableNames.js | 0 .../analysis/modules/staticAnalysisCommon.js | 0 .../src/analysis/modules/thisLocal.js | 0 .../src/analysis/modules/txOrigin.js | 0 .../src/analysis/staticAnalysisRunner.js | 0 .../analysis/staticAnalysisCommon-test.js | 0 .../staticAnalysisIntegration-test.js | 0 .../analysis/staticAnalysisIssues-test.js | 0 .../test-contracts/KingOfTheEtherThrone.sol | 0 .../test/analysis/test-contracts/assembly.sol | 0 .../test/analysis/test-contracts/ballot.sol | 0 .../test-contracts/ballot_reentrant.sol | 0 .../test-contracts/ballot_withoutWarnings.sol | 0 .../test-contracts/blockLevelCompare.sol | 0 .../test-contracts/cross_contract.sol | 0 .../test/analysis/test-contracts/ctor.sol | 0 .../test-contracts/deleteDynamicArray.sol | 0 .../test-contracts/forgottenReturn.sol | 0 .../test-contracts/functionParameters.sol | 0 .../test/analysis/test-contracts/globals.sol | 0 .../analysis/test-contracts/inheritance.sol | 0 .../test-contracts/intDivisionTruncate.sol | 0 .../test/analysis/test-contracts/library.sol | 0 .../analysis/test-contracts/modifier1.sol | 0 .../analysis/test-contracts/modifier2.sol | 0 .../analysis/test-contracts/notReentrant.sol | 0 .../analysis/test-contracts/reentrant.sol | 0 .../analysis/test-contracts/selfdestruct.sol | 0 .../test-contracts/structReentrant.sol | 0 .../analysis/test-contracts/thisLocal.sol | 0 .../test/analysis/test-contracts/transfer.sol | 0 .../test/tests.js | 0 remix-solidity/index.js | 2 -- 52 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 remix-analyzer/index.js create mode 100644 remix-analyzer/package.json rename {remix-solidity => remix-analyzer}/src/analysis/modules/abstractAstView.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/assignAndCompare.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/blockBlockhash.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/blockTimestamp.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/categories.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/checksEffectsInteraction.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/constantFunctions.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/deleteDynamicArrays.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/functionCallGraph.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/gasCosts.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/guardConditions.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/inlineAssembly.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/intDivisionTruncate.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/list.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/lowLevelCalls.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/noReturn.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/selfdestruct.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/similarVariableNames.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/staticAnalysisCommon.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/thisLocal.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/modules/txOrigin.js (100%) rename {remix-solidity => remix-analyzer}/src/analysis/staticAnalysisRunner.js (100%) rename {remix-solidity => remix-analyzer}/test/analysis/staticAnalysisCommon-test.js (100%) rename {remix-solidity => remix-analyzer}/test/analysis/staticAnalysisIntegration-test.js (100%) rename {remix-solidity => remix-analyzer}/test/analysis/staticAnalysisIssues-test.js (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/KingOfTheEtherThrone.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/assembly.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/ballot.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/ballot_reentrant.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/ballot_withoutWarnings.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/blockLevelCompare.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/cross_contract.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/ctor.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/deleteDynamicArray.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/forgottenReturn.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/functionParameters.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/globals.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/inheritance.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/intDivisionTruncate.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/library.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/modifier1.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/modifier2.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/notReentrant.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/reentrant.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/selfdestruct.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/structReentrant.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/thisLocal.sol (100%) rename {remix-solidity => remix-analyzer}/test/analysis/test-contracts/transfer.sol (100%) rename {remix-solidity => remix-analyzer}/test/tests.js (100%) diff --git a/remix-analyzer/index.js b/remix-analyzer/index.js new file mode 100644 index 0000000000..3fd9c0fd4a --- /dev/null +++ b/remix-analyzer/index.js @@ -0,0 +1,5 @@ +var CodeAnalysis = require('./src/analysis/staticAnalysisRunner') + +module.exports = { + CodeAnalysis: CodeAnalysis +} diff --git a/remix-analyzer/package.json b/remix-analyzer/package.json new file mode 100644 index 0000000000..8bb4043294 --- /dev/null +++ b/remix-analyzer/package.json @@ -0,0 +1,25 @@ +{ + "name": "remix-analyzer", + "version": "0.1.0", + "description": "", + "main": "index.js", + "contributors": [ + { + "name": "Alex Beregszaszi", + "email": "alex@rtfs.hu" + }, + { + "name": "Iuri Matias", + "email": "iuri@ethereum.org" + }, + { + "name": "Yann Levreau", + "email": "yann@ethdev.com" + } + ], + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC" +} diff --git a/remix-solidity/src/analysis/modules/abstractAstView.js b/remix-analyzer/src/analysis/modules/abstractAstView.js similarity index 100% rename from remix-solidity/src/analysis/modules/abstractAstView.js rename to remix-analyzer/src/analysis/modules/abstractAstView.js diff --git a/remix-solidity/src/analysis/modules/assignAndCompare.js b/remix-analyzer/src/analysis/modules/assignAndCompare.js similarity index 100% rename from remix-solidity/src/analysis/modules/assignAndCompare.js rename to remix-analyzer/src/analysis/modules/assignAndCompare.js diff --git a/remix-solidity/src/analysis/modules/blockBlockhash.js b/remix-analyzer/src/analysis/modules/blockBlockhash.js similarity index 100% rename from remix-solidity/src/analysis/modules/blockBlockhash.js rename to remix-analyzer/src/analysis/modules/blockBlockhash.js diff --git a/remix-solidity/src/analysis/modules/blockTimestamp.js b/remix-analyzer/src/analysis/modules/blockTimestamp.js similarity index 100% rename from remix-solidity/src/analysis/modules/blockTimestamp.js rename to remix-analyzer/src/analysis/modules/blockTimestamp.js diff --git a/remix-solidity/src/analysis/modules/categories.js b/remix-analyzer/src/analysis/modules/categories.js similarity index 100% rename from remix-solidity/src/analysis/modules/categories.js rename to remix-analyzer/src/analysis/modules/categories.js diff --git a/remix-solidity/src/analysis/modules/checksEffectsInteraction.js b/remix-analyzer/src/analysis/modules/checksEffectsInteraction.js similarity index 100% rename from remix-solidity/src/analysis/modules/checksEffectsInteraction.js rename to remix-analyzer/src/analysis/modules/checksEffectsInteraction.js diff --git a/remix-solidity/src/analysis/modules/constantFunctions.js b/remix-analyzer/src/analysis/modules/constantFunctions.js similarity index 100% rename from remix-solidity/src/analysis/modules/constantFunctions.js rename to remix-analyzer/src/analysis/modules/constantFunctions.js diff --git a/remix-solidity/src/analysis/modules/deleteDynamicArrays.js b/remix-analyzer/src/analysis/modules/deleteDynamicArrays.js similarity index 100% rename from remix-solidity/src/analysis/modules/deleteDynamicArrays.js rename to remix-analyzer/src/analysis/modules/deleteDynamicArrays.js diff --git a/remix-solidity/src/analysis/modules/functionCallGraph.js b/remix-analyzer/src/analysis/modules/functionCallGraph.js similarity index 100% rename from remix-solidity/src/analysis/modules/functionCallGraph.js rename to remix-analyzer/src/analysis/modules/functionCallGraph.js diff --git a/remix-solidity/src/analysis/modules/gasCosts.js b/remix-analyzer/src/analysis/modules/gasCosts.js similarity index 100% rename from remix-solidity/src/analysis/modules/gasCosts.js rename to remix-analyzer/src/analysis/modules/gasCosts.js diff --git a/remix-solidity/src/analysis/modules/guardConditions.js b/remix-analyzer/src/analysis/modules/guardConditions.js similarity index 100% rename from remix-solidity/src/analysis/modules/guardConditions.js rename to remix-analyzer/src/analysis/modules/guardConditions.js diff --git a/remix-solidity/src/analysis/modules/inlineAssembly.js b/remix-analyzer/src/analysis/modules/inlineAssembly.js similarity index 100% rename from remix-solidity/src/analysis/modules/inlineAssembly.js rename to remix-analyzer/src/analysis/modules/inlineAssembly.js diff --git a/remix-solidity/src/analysis/modules/intDivisionTruncate.js b/remix-analyzer/src/analysis/modules/intDivisionTruncate.js similarity index 100% rename from remix-solidity/src/analysis/modules/intDivisionTruncate.js rename to remix-analyzer/src/analysis/modules/intDivisionTruncate.js diff --git a/remix-solidity/src/analysis/modules/list.js b/remix-analyzer/src/analysis/modules/list.js similarity index 100% rename from remix-solidity/src/analysis/modules/list.js rename to remix-analyzer/src/analysis/modules/list.js diff --git a/remix-solidity/src/analysis/modules/lowLevelCalls.js b/remix-analyzer/src/analysis/modules/lowLevelCalls.js similarity index 100% rename from remix-solidity/src/analysis/modules/lowLevelCalls.js rename to remix-analyzer/src/analysis/modules/lowLevelCalls.js diff --git a/remix-solidity/src/analysis/modules/noReturn.js b/remix-analyzer/src/analysis/modules/noReturn.js similarity index 100% rename from remix-solidity/src/analysis/modules/noReturn.js rename to remix-analyzer/src/analysis/modules/noReturn.js diff --git a/remix-solidity/src/analysis/modules/selfdestruct.js b/remix-analyzer/src/analysis/modules/selfdestruct.js similarity index 100% rename from remix-solidity/src/analysis/modules/selfdestruct.js rename to remix-analyzer/src/analysis/modules/selfdestruct.js diff --git a/remix-solidity/src/analysis/modules/similarVariableNames.js b/remix-analyzer/src/analysis/modules/similarVariableNames.js similarity index 100% rename from remix-solidity/src/analysis/modules/similarVariableNames.js rename to remix-analyzer/src/analysis/modules/similarVariableNames.js diff --git a/remix-solidity/src/analysis/modules/staticAnalysisCommon.js b/remix-analyzer/src/analysis/modules/staticAnalysisCommon.js similarity index 100% rename from remix-solidity/src/analysis/modules/staticAnalysisCommon.js rename to remix-analyzer/src/analysis/modules/staticAnalysisCommon.js diff --git a/remix-solidity/src/analysis/modules/thisLocal.js b/remix-analyzer/src/analysis/modules/thisLocal.js similarity index 100% rename from remix-solidity/src/analysis/modules/thisLocal.js rename to remix-analyzer/src/analysis/modules/thisLocal.js diff --git a/remix-solidity/src/analysis/modules/txOrigin.js b/remix-analyzer/src/analysis/modules/txOrigin.js similarity index 100% rename from remix-solidity/src/analysis/modules/txOrigin.js rename to remix-analyzer/src/analysis/modules/txOrigin.js diff --git a/remix-solidity/src/analysis/staticAnalysisRunner.js b/remix-analyzer/src/analysis/staticAnalysisRunner.js similarity index 100% rename from remix-solidity/src/analysis/staticAnalysisRunner.js rename to remix-analyzer/src/analysis/staticAnalysisRunner.js diff --git a/remix-solidity/test/analysis/staticAnalysisCommon-test.js b/remix-analyzer/test/analysis/staticAnalysisCommon-test.js similarity index 100% rename from remix-solidity/test/analysis/staticAnalysisCommon-test.js rename to remix-analyzer/test/analysis/staticAnalysisCommon-test.js diff --git a/remix-solidity/test/analysis/staticAnalysisIntegration-test.js b/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js similarity index 100% rename from remix-solidity/test/analysis/staticAnalysisIntegration-test.js rename to remix-analyzer/test/analysis/staticAnalysisIntegration-test.js diff --git a/remix-solidity/test/analysis/staticAnalysisIssues-test.js b/remix-analyzer/test/analysis/staticAnalysisIssues-test.js similarity index 100% rename from remix-solidity/test/analysis/staticAnalysisIssues-test.js rename to remix-analyzer/test/analysis/staticAnalysisIssues-test.js diff --git a/remix-solidity/test/analysis/test-contracts/KingOfTheEtherThrone.sol b/remix-analyzer/test/analysis/test-contracts/KingOfTheEtherThrone.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/KingOfTheEtherThrone.sol rename to remix-analyzer/test/analysis/test-contracts/KingOfTheEtherThrone.sol diff --git a/remix-solidity/test/analysis/test-contracts/assembly.sol b/remix-analyzer/test/analysis/test-contracts/assembly.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/assembly.sol rename to remix-analyzer/test/analysis/test-contracts/assembly.sol diff --git a/remix-solidity/test/analysis/test-contracts/ballot.sol b/remix-analyzer/test/analysis/test-contracts/ballot.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/ballot.sol rename to remix-analyzer/test/analysis/test-contracts/ballot.sol diff --git a/remix-solidity/test/analysis/test-contracts/ballot_reentrant.sol b/remix-analyzer/test/analysis/test-contracts/ballot_reentrant.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/ballot_reentrant.sol rename to remix-analyzer/test/analysis/test-contracts/ballot_reentrant.sol diff --git a/remix-solidity/test/analysis/test-contracts/ballot_withoutWarnings.sol b/remix-analyzer/test/analysis/test-contracts/ballot_withoutWarnings.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/ballot_withoutWarnings.sol rename to remix-analyzer/test/analysis/test-contracts/ballot_withoutWarnings.sol diff --git a/remix-solidity/test/analysis/test-contracts/blockLevelCompare.sol b/remix-analyzer/test/analysis/test-contracts/blockLevelCompare.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/blockLevelCompare.sol rename to remix-analyzer/test/analysis/test-contracts/blockLevelCompare.sol diff --git a/remix-solidity/test/analysis/test-contracts/cross_contract.sol b/remix-analyzer/test/analysis/test-contracts/cross_contract.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/cross_contract.sol rename to remix-analyzer/test/analysis/test-contracts/cross_contract.sol diff --git a/remix-solidity/test/analysis/test-contracts/ctor.sol b/remix-analyzer/test/analysis/test-contracts/ctor.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/ctor.sol rename to remix-analyzer/test/analysis/test-contracts/ctor.sol diff --git a/remix-solidity/test/analysis/test-contracts/deleteDynamicArray.sol b/remix-analyzer/test/analysis/test-contracts/deleteDynamicArray.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/deleteDynamicArray.sol rename to remix-analyzer/test/analysis/test-contracts/deleteDynamicArray.sol diff --git a/remix-solidity/test/analysis/test-contracts/forgottenReturn.sol b/remix-analyzer/test/analysis/test-contracts/forgottenReturn.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/forgottenReturn.sol rename to remix-analyzer/test/analysis/test-contracts/forgottenReturn.sol diff --git a/remix-solidity/test/analysis/test-contracts/functionParameters.sol b/remix-analyzer/test/analysis/test-contracts/functionParameters.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/functionParameters.sol rename to remix-analyzer/test/analysis/test-contracts/functionParameters.sol diff --git a/remix-solidity/test/analysis/test-contracts/globals.sol b/remix-analyzer/test/analysis/test-contracts/globals.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/globals.sol rename to remix-analyzer/test/analysis/test-contracts/globals.sol diff --git a/remix-solidity/test/analysis/test-contracts/inheritance.sol b/remix-analyzer/test/analysis/test-contracts/inheritance.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/inheritance.sol rename to remix-analyzer/test/analysis/test-contracts/inheritance.sol diff --git a/remix-solidity/test/analysis/test-contracts/intDivisionTruncate.sol b/remix-analyzer/test/analysis/test-contracts/intDivisionTruncate.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/intDivisionTruncate.sol rename to remix-analyzer/test/analysis/test-contracts/intDivisionTruncate.sol diff --git a/remix-solidity/test/analysis/test-contracts/library.sol b/remix-analyzer/test/analysis/test-contracts/library.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/library.sol rename to remix-analyzer/test/analysis/test-contracts/library.sol diff --git a/remix-solidity/test/analysis/test-contracts/modifier1.sol b/remix-analyzer/test/analysis/test-contracts/modifier1.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/modifier1.sol rename to remix-analyzer/test/analysis/test-contracts/modifier1.sol diff --git a/remix-solidity/test/analysis/test-contracts/modifier2.sol b/remix-analyzer/test/analysis/test-contracts/modifier2.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/modifier2.sol rename to remix-analyzer/test/analysis/test-contracts/modifier2.sol diff --git a/remix-solidity/test/analysis/test-contracts/notReentrant.sol b/remix-analyzer/test/analysis/test-contracts/notReentrant.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/notReentrant.sol rename to remix-analyzer/test/analysis/test-contracts/notReentrant.sol diff --git a/remix-solidity/test/analysis/test-contracts/reentrant.sol b/remix-analyzer/test/analysis/test-contracts/reentrant.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/reentrant.sol rename to remix-analyzer/test/analysis/test-contracts/reentrant.sol diff --git a/remix-solidity/test/analysis/test-contracts/selfdestruct.sol b/remix-analyzer/test/analysis/test-contracts/selfdestruct.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/selfdestruct.sol rename to remix-analyzer/test/analysis/test-contracts/selfdestruct.sol diff --git a/remix-solidity/test/analysis/test-contracts/structReentrant.sol b/remix-analyzer/test/analysis/test-contracts/structReentrant.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/structReentrant.sol rename to remix-analyzer/test/analysis/test-contracts/structReentrant.sol diff --git a/remix-solidity/test/analysis/test-contracts/thisLocal.sol b/remix-analyzer/test/analysis/test-contracts/thisLocal.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/thisLocal.sol rename to remix-analyzer/test/analysis/test-contracts/thisLocal.sol diff --git a/remix-solidity/test/analysis/test-contracts/transfer.sol b/remix-analyzer/test/analysis/test-contracts/transfer.sol similarity index 100% rename from remix-solidity/test/analysis/test-contracts/transfer.sol rename to remix-analyzer/test/analysis/test-contracts/transfer.sol diff --git a/remix-solidity/test/tests.js b/remix-analyzer/test/tests.js similarity index 100% rename from remix-solidity/test/tests.js rename to remix-analyzer/test/tests.js diff --git a/remix-solidity/index.js b/remix-solidity/index.js index 8146d7e342..c64fc96932 100644 --- a/remix-solidity/index.js +++ b/remix-solidity/index.js @@ -1,9 +1,7 @@ -var CodeAnalysis = require('./src/analysis/staticAnalysisRunner') var Compiler = require('./src/compiler/compiler') var CompilerInput = require('./src/compiler/compiler-input') module.exports = { - CodeAnalysis: CodeAnalysis, Compiler: Compiler, CompilerInput: CompilerInput } From 9ddf58bea4934d2d87a775eaf571d0cb6334a419 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Mon, 25 Jun 2018 18:25:11 -0400 Subject: [PATCH 10/35] update remix-analyzer package --- remix-analyzer/package.json | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/remix-analyzer/package.json b/remix-analyzer/package.json index 8bb4043294..aa059df5ba 100644 --- a/remix-analyzer/package.json +++ b/remix-analyzer/package.json @@ -1,8 +1,8 @@ { "name": "remix-analyzer", "version": "0.1.0", - "description": "", - "main": "index.js", + "description": "Remix Analyzer", + "main": "./index.js", "contributors": [ { "name": "Alex Beregszaszi", @@ -17,9 +17,28 @@ "email": "yann@ethdev.com" } ], + "dependencies": { + "babel-eslint": "^7.1.1", + "babel-plugin-transform-object-assign": "^6.22.0", + "remix-lib": "^0.2.9", + "babel-preset-es2015": "^6.24.0" + }, "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "standard && tape ./test/tests.js" + }, + "standard": { + "ignore": [ + "node_modules/*", + "soljson.js" + ], + "parser": "babel-eslint" }, - "author": "", - "license": "ISC" + "author": "Remix Team", + "license": "MIT", + "homepage": "https://github.com/ethereum/remix#readme", + "devDependencies": { + "solc": "^0.4.24", + "standard": "^7.0.1", + "tape": "^4.6.0" + } } From da0ded69fa138e88d2eae81a23376cbbbd2977d6 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 29 Jun 2018 08:08:30 -0400 Subject: [PATCH 11/35] move code and trace code from remix-debug to remix-lib --- remix-debug/index.js | 13 ++--- remix-debug/src/Ethdebugger.js | 4 +- remix-debug/test/decoder/localsTests/int.js | 6 +-- remix-debug/test/decoder/localsTests/misc.js | 5 +- remix-debug/test/decoder/localsTests/misc2.js | 5 +- .../test/decoder/localsTests/structArray.js | 5 +- .../test/decoder/stateTests/mapping.js | 3 +- remix-debug/test/tests.js | 6 +-- remix-lib/index.js | 11 ++++ remix-lib/package.json | 3 +- .../src/code/breakpointManager.js | 6 +-- .../src/code/codeManager.js | 8 +-- .../src/code/codeResolver.js | 0 .../src/code/codeUtils.js | 0 .../src/code/disassembler.js | 3 +- .../src/code/opcodes.js | 0 .../src/trace/traceAnalyser.js | 3 +- .../src/trace/traceCache.js | 3 +- .../src/trace/traceManager.js | 6 +-- .../src/trace/traceRetriever.js | 0 .../src/trace/traceStepManager.js | 6 +-- .../test/codeManager.js | 3 +- .../test/disassembler.js | 0 remix-lib/test/init.js | 31 +++++++++++ remix-lib/test/resources/testWeb3.js | 51 +++++++++++++++++++ remix-lib/test/resources/testWeb3.json | 17 +++++++ remix-lib/test/tests.js | 4 ++ .../test/traceManager.js | 3 +- 28 files changed, 154 insertions(+), 51 deletions(-) rename {remix-debug => remix-lib}/src/code/breakpointManager.js (98%) rename {remix-debug => remix-lib}/src/code/codeManager.js (96%) rename {remix-debug => remix-lib}/src/code/codeResolver.js (100%) rename {remix-debug => remix-lib}/src/code/codeUtils.js (100%) rename {remix-debug => remix-lib}/src/code/disassembler.js (96%) rename {remix-debug => remix-lib}/src/code/opcodes.js (100%) rename {remix-debug => remix-lib}/src/trace/traceAnalyser.js (98%) rename {remix-debug => remix-lib}/src/trace/traceCache.js (98%) rename {remix-debug => remix-lib}/src/trace/traceManager.js (98%) rename {remix-debug => remix-lib}/src/trace/traceRetriever.js (100%) rename {remix-debug => remix-lib}/src/trace/traceStepManager.js (94%) rename {remix-debug => remix-lib}/test/codeManager.js (97%) rename {remix-debug => remix-lib}/test/disassembler.js (100%) create mode 100644 remix-lib/test/init.js create mode 100644 remix-lib/test/resources/testWeb3.js create mode 100644 remix-lib/test/resources/testWeb3.json rename {remix-debug => remix-lib}/test/traceManager.js (99%) diff --git a/remix-debug/index.js b/remix-debug/index.js index 1f0f85d278..002a89d5a2 100644 --- a/remix-debug/index.js +++ b/remix-debug/index.js @@ -1,11 +1,11 @@ 'use strict' var EthDebugger = require('./src/Ethdebugger') -var CodeManager = require('./src/code/codeManager') -var BreakpointManager = require('./src/code/breakpointManager') var StorageViewer = require('./src/storage/storageViewer') var StorageResolver = require('./src/storage/storageResolver') -var TraceManager = require('./src/trace/traceManager') + +var remixLib = require('remix-lib') +var BreakpointManager = remixLib.code.BreakpointManager /* Use of breakPointManager : @@ -24,16 +24,9 @@ module.exports = { * @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location */ BreakpointManager: BreakpointManager, - code: { - CodeManager: CodeManager, - BreakpointManager: BreakpointManager - }, storage: { StorageViewer: StorageViewer, StorageResolver: StorageResolver - }, - trace: { - TraceManager: TraceManager } } diff --git a/remix-debug/src/Ethdebugger.js b/remix-debug/src/Ethdebugger.js index 6e2c8997dd..655b2786e9 100644 --- a/remix-debug/src/Ethdebugger.js +++ b/remix-debug/src/Ethdebugger.js @@ -1,9 +1,7 @@ 'use strict' -var CodeManager = require('./code/codeManager') var StorageViewer = require('./storage/storageViewer') var StorageResolver = require('./storage/storageResolver') -var TraceManager = require('./trace/traceManager') var SolidityProxy = require('./decoder/solidityProxy') var stateDecoder = require('./decoder/stateDecoder') @@ -11,6 +9,8 @@ var localDecoder = require('./decoder/localDecoder') var InternalCallTree = require('./decoder/internalCallTree') var remixLib = require('remix-lib') +var TraceManager = remixLib.trace.traceManager +var CodeManager = remixLib.code.CodeManager var traceHelper = remixLib.helpers.trace var init = remixLib.init var executionContext = remixLib.execution.executionContext diff --git a/remix-debug/test/decoder/localsTests/int.js b/remix-debug/test/decoder/localsTests/int.js index db3a35f6c8..5fce05fd5b 100644 --- a/remix-debug/test/decoder/localsTests/int.js +++ b/remix-debug/test/decoder/localsTests/int.js @@ -1,11 +1,11 @@ 'use strict' -var TraceManager = require('../../../src/trace/traceManager') -var CodeManager = require('../../../src/code/codeManager') - var vmCall = require('../vmCall') var remixLib = require('remix-lib') +var TraceManager = remixLib.trace.TraceManager +var CodeManager = remixLib.code.CodeManager + var traceHelper = remixLib.helpers.trace var SolidityProxy = require('../../../src/decoder/solidityProxy') var InternalCallTree = require('../../../src/decoder/internalCallTree') diff --git a/remix-debug/test/decoder/localsTests/misc.js b/remix-debug/test/decoder/localsTests/misc.js index 9285ab31c8..75a239d3ad 100644 --- a/remix-debug/test/decoder/localsTests/misc.js +++ b/remix-debug/test/decoder/localsTests/misc.js @@ -1,6 +1,4 @@ 'use strict' -var TraceManager = require('../../../src/trace/traceManager') -var CodeManager = require('../../../src/code/codeManager') var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace @@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') +var TraceManager = remixLib.trace.TraceManager +var CodeManager = remixLib.code.CodeManager + module.exports = function (st, vm, privateKey, contractBytecode, compilationResult, cb) { vmCall.sendTx(vm, {nonce: 0, privateKey: privateKey}, null, 0, contractBytecode, function (error, txHash) { if (error) { diff --git a/remix-debug/test/decoder/localsTests/misc2.js b/remix-debug/test/decoder/localsTests/misc2.js index 19b69eba04..9091dc1dfa 100644 --- a/remix-debug/test/decoder/localsTests/misc2.js +++ b/remix-debug/test/decoder/localsTests/misc2.js @@ -1,6 +1,4 @@ 'use strict' -var TraceManager = require('../../../src/trace/traceManager') -var CodeManager = require('../../../src/code/codeManager') var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace @@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') +var TraceManager = remixLib.trace.TraceManager +var CodeManager = remixLib.code.CodeManager + module.exports = function (st, vm, privateKey, contractBytecode, compilationResult, cb) { vmCall.sendTx(vm, {nonce: 0, privateKey: privateKey}, null, 0, contractBytecode, function (error, txHash) { if (error) { diff --git a/remix-debug/test/decoder/localsTests/structArray.js b/remix-debug/test/decoder/localsTests/structArray.js index 984a341546..878fd3babe 100644 --- a/remix-debug/test/decoder/localsTests/structArray.js +++ b/remix-debug/test/decoder/localsTests/structArray.js @@ -1,6 +1,4 @@ 'use strict' -var TraceManager = require('../../../src/trace/traceManager') -var CodeManager = require('../../../src/code/codeManager') var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace @@ -9,6 +7,9 @@ var InternalCallTree = require('../../../src/decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') +var TraceManager = remixLib.trace.TraceManager +var CodeManager = remixLib.code.CodeManager + module.exports = function (st, vm, privateKey, contractBytecode, compilationResult, cb) { vmCall.sendTx(vm, {nonce: 0, privateKey: privateKey}, null, 0, contractBytecode, function (error, txHash) { if (error) { diff --git a/remix-debug/test/decoder/stateTests/mapping.js b/remix-debug/test/decoder/stateTests/mapping.js index ed14992837..af9d87a301 100644 --- a/remix-debug/test/decoder/stateTests/mapping.js +++ b/remix-debug/test/decoder/stateTests/mapping.js @@ -1,10 +1,11 @@ var remixLib = require('remix-lib') var compilerInput = remixLib.helpers.compiler.compilerInput +var TraceManager = remixLib.trace.TraceManager + var compiler = require('solc') var stateDecoder = require('../../../src/decoder/stateDecoder') var vmCall = require('../vmCall') -var TraceManager = require('../../../src/trace/traceManager') var StorageResolver = require('../../../src/storage/storageResolver') var StorageViewer = require('../../../src/storage/storageViewer') diff --git a/remix-debug/test/tests.js b/remix-debug/test/tests.js index 37481f6501..0ae683aac2 100644 --- a/remix-debug/test/tests.js +++ b/remix-debug/test/tests.js @@ -6,16 +6,12 @@ var vmCall = require('./vmCall') var Debugger = require('../src/Ethdebugger') var compiler = require('solc') -require('./traceManager.js') -require('./codeManager.js') -require('./disassembler.js') - require('./decoder/decodeInfo.js') require('./decoder/storageLocation.js') require('./decoder/storageDecoder.js') require('./decoder/localDecoder.js') -var BreakpointManager = require('../src/code/breakpointManager') +var BreakpointManager = remixLib.code.BreakpointManager tape('debug contract', function (t) { t.plan(12) diff --git a/remix-lib/index.js b/remix-lib/index.js index 3e28b78028..64304009cc 100644 --- a/remix-lib/index.js +++ b/remix-lib/index.js @@ -22,6 +22,10 @@ var txRunner = require('./src/execution/txRunner') var executionContext = require('./src/execution/execution-context') var typeConversion = require('./src/execution/typeConversion') +var CodeManager = require('./src/code/codeManager') +var BreakpointManager = require('./src/code/breakpointManager') +var TraceManager = require('./src/trace/traceManager') + if (typeof (module) !== 'undefined' && typeof (module.exports) !== 'undefined') { module.exports = modules() } @@ -32,6 +36,13 @@ if (typeof (window) !== 'undefined') { function modules () { return { + code: { + CodeManager: CodeManager, + BreakpointManager: BreakpointManager + }, + trace: { + TraceManager: TraceManager + }, EventManager: EventManager, helpers: { trace: traceHelper, diff --git a/remix-lib/package.json b/remix-lib/package.json index 6a4d3627b3..e14204ddd2 100644 --- a/remix-lib/package.json +++ b/remix-lib/package.json @@ -50,7 +50,8 @@ "node_modules/*", "build/*", "test/resources/*" - ] + ], + "parser": "babel-eslint" }, "browserify": { "transform": [ diff --git a/remix-debug/src/code/breakpointManager.js b/remix-lib/src/code/breakpointManager.js similarity index 98% rename from remix-debug/src/code/breakpointManager.js rename to remix-lib/src/code/breakpointManager.js index 4479f0ec4e..73b53f5479 100644 --- a/remix-debug/src/code/breakpointManager.js +++ b/remix-lib/src/code/breakpointManager.js @@ -1,7 +1,7 @@ 'use strict' -var remixLib = require('remix-lib') -var EventManager = remixLib.EventManager -var helper = remixLib.helpers.trace + +var EventManager = require('../eventManager') +var helper = require('../helpers/traceHelper') /** * allow to manage breakpoint diff --git a/remix-debug/src/code/codeManager.js b/remix-lib/src/code/codeManager.js similarity index 96% rename from remix-debug/src/code/codeManager.js rename to remix-lib/src/code/codeManager.js index ac6d5536a2..0664a0e353 100644 --- a/remix-debug/src/code/codeManager.js +++ b/remix-lib/src/code/codeManager.js @@ -1,8 +1,8 @@ 'use strict' -var remixLib = require('remix-lib') -var EventManager = remixLib.EventManager -var traceHelper = remixLib.helpers.trace -var SourceMappingDecoder = remixLib.SourceMappingDecoder + +var EventManager = require('../eventManager') +var traceHelper = require('../helpers/traceHelper') +var SourceMappingDecoder = require('../sourceMappingDecoder') var CodeResolver = require('./codeResolver') /* diff --git a/remix-debug/src/code/codeResolver.js b/remix-lib/src/code/codeResolver.js similarity index 100% rename from remix-debug/src/code/codeResolver.js rename to remix-lib/src/code/codeResolver.js diff --git a/remix-debug/src/code/codeUtils.js b/remix-lib/src/code/codeUtils.js similarity index 100% rename from remix-debug/src/code/codeUtils.js rename to remix-lib/src/code/codeUtils.js diff --git a/remix-debug/src/code/disassembler.js b/remix-lib/src/code/disassembler.js similarity index 96% rename from remix-debug/src/code/disassembler.js rename to remix-lib/src/code/disassembler.js index 69c6082c65..4c5a96b2b8 100644 --- a/remix-debug/src/code/disassembler.js +++ b/remix-lib/src/code/disassembler.js @@ -1,8 +1,7 @@ 'use strict' var parseCode = require('./codeUtils').parseCode -var remixLib = require('remix-lib') -var util = remixLib.util +var util = require('../util') var createExpressions = function (instructions) { var expressions = [] diff --git a/remix-debug/src/code/opcodes.js b/remix-lib/src/code/opcodes.js similarity index 100% rename from remix-debug/src/code/opcodes.js rename to remix-lib/src/code/opcodes.js diff --git a/remix-debug/src/trace/traceAnalyser.js b/remix-lib/src/trace/traceAnalyser.js similarity index 98% rename from remix-debug/src/trace/traceAnalyser.js rename to remix-lib/src/trace/traceAnalyser.js index 240e1ee3dd..66aefa2c51 100644 --- a/remix-debug/src/trace/traceAnalyser.js +++ b/remix-lib/src/trace/traceAnalyser.js @@ -1,6 +1,5 @@ 'use strict' -var remixLib = require('remix-lib') -var traceHelper = remixLib.helpers.trace +var traceHelper = require('../helpers/traceHelper') function TraceAnalyser (_cache) { this.traceCache = _cache diff --git a/remix-debug/src/trace/traceCache.js b/remix-lib/src/trace/traceCache.js similarity index 98% rename from remix-debug/src/trace/traceCache.js rename to remix-lib/src/trace/traceCache.js index 6dc98a16b2..6448a12fd0 100644 --- a/remix-debug/src/trace/traceCache.js +++ b/remix-lib/src/trace/traceCache.js @@ -1,6 +1,5 @@ 'use strict' -var remixLib = require('remix-lib') -var helper = remixLib.util +var helper = require('../util') function TraceCache () { this.init() diff --git a/remix-debug/src/trace/traceManager.js b/remix-lib/src/trace/traceManager.js similarity index 98% rename from remix-debug/src/trace/traceManager.js rename to remix-lib/src/trace/traceManager.js index 8db9b95157..98785c54e4 100644 --- a/remix-debug/src/trace/traceManager.js +++ b/remix-lib/src/trace/traceManager.js @@ -3,9 +3,9 @@ var TraceAnalyser = require('./traceAnalyser') var TraceRetriever = require('./traceRetriever') var TraceCache = require('./traceCache') var TraceStepManager = require('./traceStepManager') -var remixLib = require('remix-lib') -var traceHelper = remixLib.helpers.trace -var util = remixLib.util + +var traceHelper = require('../helpers/traceHelper') +var util = require('../util') function TraceManager (options) { this.web3 = options.web3 diff --git a/remix-debug/src/trace/traceRetriever.js b/remix-lib/src/trace/traceRetriever.js similarity index 100% rename from remix-debug/src/trace/traceRetriever.js rename to remix-lib/src/trace/traceRetriever.js diff --git a/remix-debug/src/trace/traceStepManager.js b/remix-lib/src/trace/traceStepManager.js similarity index 94% rename from remix-debug/src/trace/traceStepManager.js rename to remix-lib/src/trace/traceStepManager.js index 5b4f50a625..e402224ec5 100644 --- a/remix-debug/src/trace/traceStepManager.js +++ b/remix-lib/src/trace/traceStepManager.js @@ -1,7 +1,7 @@ 'use strict' -var remixLib = require('remix-lib') -var traceHelper = remixLib.helpers.trace -var util = remixLib.util + +var traceHelper = require('../helpers/traceHelper') +var util = require('../util') function TraceStepManager (_traceAnalyser) { this.traceAnalyser = _traceAnalyser diff --git a/remix-debug/test/codeManager.js b/remix-lib/test/codeManager.js similarity index 97% rename from remix-debug/test/codeManager.js rename to remix-lib/test/codeManager.js index a0709226de..09db112d0f 100644 --- a/remix-debug/test/codeManager.js +++ b/remix-lib/test/codeManager.js @@ -1,7 +1,6 @@ 'use strict' var tape = require('tape') -var remixLib = require('remix-lib') -var Web3Providers = remixLib.vm.Web3Providers +var Web3Providers = require('../src/web3Provider/web3Providers') var TraceManager = require('../src/trace/traceManager') var CodeManager = require('../src/code/codeManager') var web3Test = require('./resources/testWeb3') diff --git a/remix-debug/test/disassembler.js b/remix-lib/test/disassembler.js similarity index 100% rename from remix-debug/test/disassembler.js rename to remix-lib/test/disassembler.js diff --git a/remix-lib/test/init.js b/remix-lib/test/init.js new file mode 100644 index 0000000000..bd8f9114ea --- /dev/null +++ b/remix-lib/test/init.js @@ -0,0 +1,31 @@ +var init = { + overrideWeb3: function (web3, web3Override) { + web3.eth.getCode = web3Override.getCode + web3.debug.traceTransaction = web3Override.traceTransaction + web3.debug.storageRangeAt = web3Override.storageRangeAt + web3.eth.getTransaction = web3Override.getTransaction + web3.eth.getTransactionFromBlock = web3Override.getTransactionFromBlock + web3.eth.getBlockNumber = web3Override.getBlockNumber + }, + + readFile: function (filename, callback) { + var fs = require('fs') + try { + console.log('reading ' + filename) + if (callback) { + fs.readFile(filename, 'utf8', callback) + } else { + return fs.readFileSync(filename, 'utf8') + } + } catch (e) { + console.log(e) + if (callback) { + callback(e) + } else { + return e + } + } + } +} + +module.exports = init diff --git a/remix-lib/test/resources/testWeb3.js b/remix-lib/test/resources/testWeb3.js new file mode 100644 index 0000000000..a138a81eb4 --- /dev/null +++ b/remix-lib/test/resources/testWeb3.js @@ -0,0 +1,51 @@ +'use strict' +var init = require('../init') +var web3Override = {} +web3Override.eth = {} +web3Override.debug = {} +var data = init.readFile(require('path').resolve(__dirname, 'testWeb3.json')) +data = JSON.parse(data) + +web3Override.eth.getCode = function (address, callback) { + if (callback) { + callback(null, data.testCodes[address]) + } else { + return data.testCodes[address] + } +} + +web3Override.debug.traceTransaction = function (txHash, options, callback) { + callback(null, data.testTraces[txHash]) +} + +web3Override.debug.storageRangeAt = function (blockNumber, txIndex, address, start, maxSize, callback) { + callback(null, { storage: {}, complete: true }) +} + +web3Override.eth.getTransaction = function (txHash, callback) { + if (callback) { + callback(null, data.testTxs[txHash]) + } else { + return data.testTxs[txHash] + } +} + +web3Override.eth.getTransactionFromBlock = function (blockNumber, txIndex, callback) { + if (callback) { + callback(null, data.testTxsByBlock[blockNumber + '-' + txIndex]) + } else { + return data.testTxsByBlock[blockNumber + '-' + txIndex] + } +} + +web3Override.eth.getBlockNumber = function (callback) { callback('web3 modified testing purposes :)') } + +web3Override.eth.setProvider = function (provider) {} + +web3Override.eth.providers = { 'HttpProvider': function (url) {} } + +web3Override.eth.currentProvider = {'host': 'test provider'} + +if (typeof (module) !== 'undefined' && typeof (module.exports) !== 'undefined') { + module.exports = web3Override +} diff --git a/remix-lib/test/resources/testWeb3.json b/remix-lib/test/resources/testWeb3.json new file mode 100644 index 0000000000..ba5f88cb0f --- /dev/null +++ b/remix-lib/test/resources/testWeb3.json @@ -0,0 +1,17 @@ +{ + "testTxs": { + "0x20ef65b8b186ca942fcccd634f37074dde49b541c27994fc7596740ef44cfd51": {"blockHash":"0xd1d34932f8733e0485b7d9bf8500c4046d650f20ed7792508c304304fa7bbfac","blockNumber":89,"from":"0x00101c5bfa3fc8bad02c9f5fd65b069306251915","gas":105967,"gasPrice":"20000000000","hash":"0x20ef65b8b186ca942fcccd634f37074dde49b541c27994fc7596740ef44cfd51","input":"0x60fe47b10000000000000000000000000000000000000000000000000000000000000038","nonce":3,"to":"0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5","transactionIndex":0,"value":"0"} + }, + + "testTxsByBlock": { + "105967-0": {"blockHash":"0xd1d34932f8733e0485b7d9bf8500c4046d650f20ed7792508c304304fa7bbfac","blockNumber":89,"from":"0x00101c5bfa3fc8bad02c9f5fd65b069306251915","gas":105967,"gasPrice":"20000000000","hash":"0x20ef65b8b186ca942fcccd634f37074dde49b541c27994fc7596740ef44cfd51","input":"0x60fe47b10000000000000000000000000000000000000000000000000000000000000038","nonce":3,"to":"0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5","transactionIndex":0,"value":"0"} + }, + + "testCodes": { + "0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5": "0x60606040526000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460415780636d4ce63c14605757603f565b005b605560048080359060200190919050506089565b005b606260048050506078565b6040518082815260200191505060405180910390f35b600060006000505490506086565b90565b80600060005081905550602d6040516045806100f083390180828152602001915050604051809103906000f0600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff02191690830217905550602281016000600050819055505b505660606040526040516020806045833981016040528080519060200190919050505b806001016000600050819055505b50600a80603b6000396000f360606040526008565b00" + }, + + "testTraces": { + "0x20ef65b8b186ca942fcccd634f37074dde49b541c27994fc7596740ef44cfd51": {"gas":"0x0000000000000000000000000000000000000000000000000000000000019def","return":"0x","structLogs":[{"gas":"84503","gasCost":"3","memory":[],"op":"PUSH1","pc":"0","stack":[]},{"gas":"84500","gasCost":"3","op":"PUSH1","pc":"2","stack":["0x60"]},{"gas":"84497","gasCost":"12","memexpand":"3","op":"MSTORE","pc":"4","stack":["0x60","0x40"]},{"gas":"84485","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060"],"op":"PUSH1","pc":"5","stack":[]},{"gas":"84482","gasCost":"3","op":"CALLDATALOAD","pc":"7","stack":["0x00"]},{"gas":"84479","gasCost":"3","op":"PUSH29","pc":"8","stack":["0x60fe47b100000000000000000000000000000000000000000000000000000000"]},{"gas":"84476","gasCost":"3","op":"SWAP1","pc":"38","stack":["0x60fe47b100000000000000000000000000000000000000000000000000000000","0x0100000000000000000000000000000000000000000000000000000000"]},{"gas":"84473","gasCost":"5","op":"DIV","pc":"39","stack":["0x0100000000000000000000000000000000000000000000000000000000","0x60fe47b100000000000000000000000000000000000000000000000000000000"]},{"gas":"84468","gasCost":"3","op":"DUP1","pc":"40","stack":["0x60fe47b1"]},{"gas":"84465","gasCost":"3","op":"PUSH4","pc":"41","stack":["0x60fe47b1","0x60fe47b1"]},{"gas":"84462","gasCost":"3","op":"EQ","pc":"46","stack":["0x60fe47b1","0x60fe47b1","0x60fe47b1"]},{"gas":"84459","gasCost":"3","op":"PUSH1","pc":"47","stack":["0x60fe47b1","0x01"]},{"gas":"84456","gasCost":"10","op":"JUMPI","pc":"49","stack":["0x60fe47b1","0x01","0x41"]},{"gas":"84446","gasCost":"1","op":"JUMPDEST","pc":"65","stack":["0x60fe47b1"]},{"gas":"84445","gasCost":"3","op":"PUSH1","pc":"66","stack":["0x60fe47b1"]},{"gas":"84442","gasCost":"3","op":"PUSH1","pc":"68","stack":["0x60fe47b1","0x55"]},{"gas":"84439","gasCost":"3","op":"DUP1","pc":"70","stack":["0x60fe47b1","0x55","0x04"]},{"gas":"84436","gasCost":"3","op":"DUP1","pc":"71","stack":["0x60fe47b1","0x55","0x04","0x04"]},{"gas":"84433","gasCost":"3","op":"CALLDATALOAD","pc":"72","stack":["0x60fe47b1","0x55","0x04","0x04","0x04"]},{"gas":"84430","gasCost":"3","op":"SWAP1","pc":"73","stack":["0x60fe47b1","0x55","0x04","0x04","0x38"]},{"gas":"84427","gasCost":"3","op":"PUSH1","pc":"74","stack":["0x60fe47b1","0x55","0x04","0x38","0x04"]},{"gas":"84424","gasCost":"3","op":"ADD","pc":"76","stack":["0x60fe47b1","0x55","0x04","0x38","0x04","0x20"]},{"gas":"84421","gasCost":"3","op":"SWAP1","pc":"77","stack":["0x60fe47b1","0x55","0x04","0x38","0x24"]},{"gas":"84418","gasCost":"3","op":"SWAP2","pc":"78","stack":["0x60fe47b1","0x55","0x04","0x24","0x38"]},{"gas":"84415","gasCost":"3","op":"SWAP1","pc":"79","stack":["0x60fe47b1","0x55","0x38","0x24","0x04"]},{"gas":"84412","gasCost":"2","op":"POP","pc":"80","stack":["0x60fe47b1","0x55","0x38","0x04","0x24"]},{"gas":"84410","gasCost":"2","op":"POP","pc":"81","stack":["0x60fe47b1","0x55","0x38","0x04"]},{"gas":"84408","gasCost":"3","op":"PUSH1","pc":"82","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"84405","gasCost":"8","op":"JUMP","pc":"84","stack":["0x60fe47b1","0x55","0x38","0x89"]},{"gas":"84397","gasCost":"1","op":"JUMPDEST","pc":"137","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"84396","gasCost":"3","op":"DUP1","pc":"138","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"84393","gasCost":"3","op":"PUSH1","pc":"139","stack":["0x60fe47b1","0x55","0x38","0x38"]},{"gas":"84390","gasCost":"3","op":"PUSH1","pc":"141","stack":["0x60fe47b1","0x55","0x38","0x38","0x00"]},{"gas":"84387","gasCost":"2","op":"POP","pc":"143","stack":["0x60fe47b1","0x55","0x38","0x38","0x00","0x00"]},{"gas":"84385","gasCost":"3","op":"DUP2","pc":"144","stack":["0x60fe47b1","0x55","0x38","0x38","0x00"]},{"gas":"84382","gasCost":"3","op":"SWAP1","pc":"145","stack":["0x60fe47b1","0x55","0x38","0x38","0x00","0x38"]},{"gas":"84379","gasCost":"5000","op":"SSTORE","pc":"146","stack":["0x60fe47b1","0x55","0x38","0x38","0x38","0x00"]},{"gas":"79379","gasCost":"2","op":"POP","pc":"147","stack":["0x60fe47b1","0x55","0x38","0x38"]},{"gas":"79377","gasCost":"3","op":"PUSH1","pc":"148","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"79374","gasCost":"3","op":"PUSH1","pc":"150","stack":["0x60fe47b1","0x55","0x38","0x2d"]},{"gas":"79371","gasCost":"3","op":"MLOAD","pc":"152","stack":["0x60fe47b1","0x55","0x38","0x2d","0x40"]},{"gas":"79368","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060"],"op":"PUSH1","pc":"153","stack":["0x60fe47b1","0x55","0x38","0x2d","0x60"]},{"gas":"79365","gasCost":"3","op":"DUP1","pc":"155","stack":["0x60fe47b1","0x55","0x38","0x2d","0x60","0x45"]},{"gas":"79362","gasCost":"3","op":"PUSH2","pc":"156","stack":["0x60fe47b1","0x55","0x38","0x2d","0x60","0x45","0x45"]},{"gas":"79359","gasCost":"3","op":"DUP4","pc":"159","stack":["0x60fe47b1","0x55","0x38","0x2d","0x60","0x45","0x45","0xf0"]},{"gas":"79356","gasCost":"21","memexpand":"3","op":"CODECOPY","pc":"160","stack":["0x60fe47b1","0x55","0x38","0x2d","0x60","0x45","0x45","0xf0","0x60"]},{"gas":"79335","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060","6060604052604051602080604583398101604052808051906020019091905050","5b806001016000600050819055505b50600a80603b6000396000f36060604052","6008565b00000000000000000000000000000000000000000000000000000000"],"op":"ADD","pc":"161","stack":["0x60fe47b1","0x55","0x38","0x2d","0x60","0x45"]},{"gas":"79332","gasCost":"3","op":"DUP1","pc":"162","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5"]},{"gas":"79329","gasCost":"3","op":"DUP3","pc":"163","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5","0xa5"]},{"gas":"79326","gasCost":"3","op":"DUP2","pc":"164","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5","0xa5","0x2d"]},{"gas":"79323","gasCost":"6","memexpand":"1","op":"MSTORE","pc":"165","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5","0xa5","0x2d","0xa5"]},{"gas":"79317","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060","6060604052604051602080604583398101604052808051906020019091905050","5b806001016000600050819055505b50600a80603b6000396000f36060604052","6008565b00000000000000000000000000000000000000000000000000000000","000000002d000000000000000000000000000000000000000000000000000000"],"op":"PUSH1","pc":"166","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5","0xa5"]},{"gas":"79314","gasCost":"3","op":"ADD","pc":"168","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5","0xa5","0x20"]},{"gas":"79311","gasCost":"3","op":"SWAP2","pc":"169","stack":["0x60fe47b1","0x55","0x38","0x2d","0xa5","0xc5"]},{"gas":"79308","gasCost":"2","op":"POP","pc":"170","stack":["0x60fe47b1","0x55","0x38","0xc5","0xa5","0x2d"]},{"gas":"79306","gasCost":"2","op":"POP","pc":"171","stack":["0x60fe47b1","0x55","0x38","0xc5","0xa5"]},{"gas":"79304","gasCost":"3","op":"PUSH1","pc":"172","stack":["0x60fe47b1","0x55","0x38","0xc5"]},{"gas":"79301","gasCost":"3","op":"MLOAD","pc":"174","stack":["0x60fe47b1","0x55","0x38","0xc5","0x40"]},{"gas":"79298","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060","6060604052604051602080604583398101604052808051906020019091905050","5b806001016000600050819055505b50600a80603b6000396000f36060604052","6008565b00000000000000000000000000000000000000000000000000000000","000000002d000000000000000000000000000000000000000000000000000000"],"op":"DUP1","pc":"175","stack":["0x60fe47b1","0x55","0x38","0xc5","0x60"]},{"gas":"79295","gasCost":"3","op":"SWAP2","pc":"176","stack":["0x60fe47b1","0x55","0x38","0xc5","0x60","0x60"]},{"gas":"79292","gasCost":"3","op":"SUB","pc":"177","stack":["0x60fe47b1","0x55","0x38","0x60","0x60","0xc5"]},{"gas":"79289","gasCost":"3","op":"SWAP1","pc":"178","stack":["0x60fe47b1","0x55","0x38","0x60","0x65"]},{"gas":"79286","gasCost":"3","op":"PUSH1","pc":"179","stack":["0x60fe47b1","0x55","0x38","0x65","0x60"]},{"gas":"79283","gasCost":"32000","op":"CREATE","pc":"181","stack":["0x60fe47b1","0x55","0x38","0x65","0x60","0x00"]},{"gas":"47283","gasCost":"3","memory":[],"op":"PUSH1","pc":"0","stack":[]},{"gas":"47280","gasCost":"3","op":"PUSH1","pc":"2","stack":["0x60"]},{"gas":"47277","gasCost":"12","memexpand":"3","op":"MSTORE","pc":"4","stack":["0x60","0x40"]},{"gas":"47265","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060"],"op":"PUSH1","pc":"5","stack":[]},{"gas":"47262","gasCost":"3","op":"MLOAD","pc":"7","stack":["0x40"]},{"gas":"47259","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060"],"op":"PUSH1","pc":"8","stack":["0x60"]},{"gas":"47256","gasCost":"3","op":"DUP1","pc":"10","stack":["0x60","0x20"]},{"gas":"47253","gasCost":"3","op":"PUSH1","pc":"11","stack":["0x60","0x20","0x20"]},{"gas":"47250","gasCost":"3","op":"DUP4","pc":"13","stack":["0x60","0x20","0x20","0x45"]},{"gas":"47247","gasCost":"9","memexpand":"1","op":"CODECOPY","pc":"14","stack":["0x60","0x20","0x20","0x45","0x60"]},{"gas":"47238","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060","000000000000000000000000000000000000000000000000000000000000002d"],"op":"DUP2","pc":"15","stack":["0x60","0x20"]},{"gas":"47235","gasCost":"3","op":"ADD","pc":"16","stack":["0x60","0x20","0x60"]},{"gas":"47232","gasCost":"3","op":"PUSH1","pc":"17","stack":["0x60","0x80"]},{"gas":"47229","gasCost":"3","op":"MSTORE","pc":"19","stack":["0x60","0x80","0x40"]},{"gas":"47226","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000080","000000000000000000000000000000000000000000000000000000000000002d"],"op":"DUP1","pc":"20","stack":["0x60"]},{"gas":"47223","gasCost":"3","op":"DUP1","pc":"21","stack":["0x60","0x60"]},{"gas":"47220","gasCost":"3","op":"MLOAD","pc":"22","stack":["0x60","0x60","0x60"]},{"gas":"47217","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000080","000000000000000000000000000000000000000000000000000000000000002d"],"op":"SWAP1","pc":"23","stack":["0x60","0x60","0x2d"]},{"gas":"47214","gasCost":"3","op":"PUSH1","pc":"24","stack":["0x60","0x2d","0x60"]},{"gas":"47211","gasCost":"3","op":"ADD","pc":"26","stack":["0x60","0x2d","0x60","0x20"]},{"gas":"47208","gasCost":"3","op":"SWAP1","pc":"27","stack":["0x60","0x2d","0x80"]},{"gas":"47205","gasCost":"3","op":"SWAP2","pc":"28","stack":["0x60","0x80","0x2d"]},{"gas":"47202","gasCost":"3","op":"SWAP1","pc":"29","stack":["0x2d","0x80","0x60"]},{"gas":"47199","gasCost":"2","op":"POP","pc":"30","stack":["0x2d","0x60","0x80"]},{"gas":"47197","gasCost":"2","op":"POP","pc":"31","stack":["0x2d","0x60"]},{"gas":"47195","gasCost":"1","op":"JUMPDEST","pc":"32","stack":["0x2d"]},{"gas":"47194","gasCost":"3","op":"DUP1","pc":"33","stack":["0x2d"]},{"gas":"47191","gasCost":"3","op":"PUSH1","pc":"34","stack":["0x2d","0x2d"]},{"gas":"47188","gasCost":"3","op":"ADD","pc":"36","stack":["0x2d","0x2d","0x01"]},{"gas":"47185","gasCost":"3","op":"PUSH1","pc":"37","stack":["0x2d","0x2e"]},{"gas":"47182","gasCost":"3","op":"PUSH1","pc":"39","stack":["0x2d","0x2e","0x00"]},{"gas":"47179","gasCost":"2","op":"POP","pc":"41","stack":["0x2d","0x2e","0x00","0x00"]},{"gas":"47177","gasCost":"3","op":"DUP2","pc":"42","stack":["0x2d","0x2e","0x00"]},{"gas":"47174","gasCost":"3","op":"SWAP1","pc":"43","stack":["0x2d","0x2e","0x00","0x2e"]},{"gas":"47171","gasCost":"20000","op":"SSTORE","pc":"44","stack":["0x2d","0x2e","0x2e","0x00"]},{"gas":"27171","gasCost":"2","op":"POP","pc":"45","stack":["0x2d","0x2e"]},{"gas":"27169","gasCost":"1","op":"JUMPDEST","pc":"46","stack":["0x2d"]},{"gas":"27168","gasCost":"2","op":"POP","pc":"47","stack":["0x2d"]},{"gas":"27166","gasCost":"3","op":"PUSH1","pc":"48","stack":[]},{"gas":"27163","gasCost":"3","op":"DUP1","pc":"50","stack":["0x0a"]},{"gas":"27160","gasCost":"3","op":"PUSH1","pc":"51","stack":["0x0a","0x0a"]},{"gas":"27157","gasCost":"3","op":"PUSH1","pc":"53","stack":["0x0a","0x0a","0x3b"]},{"gas":"27154","gasCost":"6","op":"CODECOPY","pc":"55","stack":["0x0a","0x0a","0x3b","0x00"]},{"gas":"27148","gasCost":"3","memory":["60606040526008565b0000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000080","000000000000000000000000000000000000000000000000000000000000002d"],"op":"PUSH1","pc":"56","stack":["0x0a"]},{"gas":"27145","gasCost":"0","op":"RETURN","pc":"58","stack":["0x0a","0x00"]},{"gas":"25145","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060","6060604052604051602080604583398101604052808051906020019091905050","5b806001016000600050819055505b50600a80603b6000396000f36060604052","6008565b00000000000000000000000000000000000000000000000000000000","000000002d000000000000000000000000000000000000000000000000000000"],"op":"PUSH1","pc":"182","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95"]},{"gas":"25142","gasCost":"3","memory":["0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000000","0000000000000000000000000000000000000000000000000000000000000060","6060604052604051602080604583398101604052808051906020019091905050","5b806001016000600050819055505b50600a80603b6000396000f36060604052","6008565b00000000000000000000000000000000000000000000000000000000","000000002d000000000000000000000000000000000000000000000000000000"],"op":"PUSH1","pc":"184","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01"]},{"gas":"25139","gasCost":"3","op":"PUSH2","pc":"186","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x00"]},{"gas":"25136","gasCost":"10","op":"EXP","pc":"189","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x00","0x0100"]},{"gas":"25126","gasCost":"3","op":"DUP2","pc":"190","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01"]},{"gas":"25123","gasCost":"50","op":"SLOAD","pc":"191","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x01"]},{"gas":"25073","gasCost":"3","op":"DUP2","pc":"192","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x00"]},{"gas":"25070","gasCost":"3","op":"PUSH20","pc":"193","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x00","0x01"]},{"gas":"25067","gasCost":"5","op":"MUL","pc":"214","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x00","0x01","0xffffffffffffffffffffffffffffffffffffffff"]},{"gas":"25062","gasCost":"3","op":"NOT","pc":"215","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x00","0xffffffffffffffffffffffffffffffffffffffff"]},{"gas":"25059","gasCost":"3","op":"AND","pc":"216","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x00","0xffffffffffffffffffffffff0000000000000000000000000000000000000000"]},{"gas":"25056","gasCost":"3","op":"SWAP1","pc":"217","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x01","0x00"]},{"gas":"25053","gasCost":"3","op":"DUP4","pc":"218","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x00","0x01"]},{"gas":"25050","gasCost":"5","op":"MUL","pc":"219","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x00","0x01","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95"]},{"gas":"25045","gasCost":"3","op":"OR","pc":"220","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0x00","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95"]},{"gas":"25042","gasCost":"3","op":"SWAP1","pc":"221","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95"]},{"gas":"25039","gasCost":"20000","op":"SSTORE","pc":"222","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95","0x01"]},{"gas":"5039","gasCost":"2","op":"POP","pc":"223","stack":["0x60fe47b1","0x55","0x38","0xd01f65e3472f24faf45f08f8698ec4da1bf32a95"]},{"gas":"5037","gasCost":"3","op":"PUSH1","pc":"224","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"5034","gasCost":"3","op":"DUP2","pc":"226","stack":["0x60fe47b1","0x55","0x38","0x22"]},{"gas":"5031","gasCost":"3","op":"ADD","pc":"227","stack":["0x60fe47b1","0x55","0x38","0x22","0x38"]},{"gas":"5028","gasCost":"3","op":"PUSH1","pc":"228","stack":["0x60fe47b1","0x55","0x38","0x5a"]},{"gas":"5025","gasCost":"3","op":"PUSH1","pc":"230","stack":["0x60fe47b1","0x55","0x38","0x5a","0x00"]},{"gas":"5022","gasCost":"2","op":"POP","pc":"232","stack":["0x60fe47b1","0x55","0x38","0x5a","0x00","0x00"]},{"gas":"5020","gasCost":"3","op":"DUP2","pc":"233","stack":["0x60fe47b1","0x55","0x38","0x5a","0x00"]},{"gas":"5017","gasCost":"3","op":"SWAP1","pc":"234","stack":["0x60fe47b1","0x55","0x38","0x5a","0x00","0x5a"]},{"gas":"5014","gasCost":"5000","op":"SSTORE","pc":"235","stack":["0x60fe47b1","0x55","0x38","0x5a","0x5a","0x00"]},{"gas":"14","gasCost":"2","op":"POP","pc":"236","stack":["0x60fe47b1","0x55","0x38","0x5a"]},{"gas":"12","gasCost":"1","op":"JUMPDEST","pc":"237","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"11","gasCost":"2","op":"POP","pc":"238","stack":["0x60fe47b1","0x55","0x38"]},{"gas":"9","gasCost":"8","op":"JUMP","pc":"239","stack":["0x60fe47b1","0x55"]},{"gas":"1","gasCost":"1","op":"JUMPDEST","pc":"85","stack":["0x60fe47b1"]},{"gas":"0","gasCost":"0","op":"STOP","pc":"86","stack":["0x60fe47b1"]}]} + } +} diff --git a/remix-lib/test/tests.js b/remix-lib/test/tests.js index b0d0b69044..4e2030d630 100644 --- a/remix-lib/test/tests.js +++ b/remix-lib/test/tests.js @@ -3,3 +3,7 @@ require('./eventManager.js') require('./sourceMappingDecoder.js') require('./util.js') require('./txFormat.js') + +require('./traceManager.js') +require('./codeManager.js') +require('./disassembler.js') diff --git a/remix-debug/test/traceManager.js b/remix-lib/test/traceManager.js similarity index 99% rename from remix-debug/test/traceManager.js rename to remix-lib/test/traceManager.js index 053b07ea3c..5eb23f55b7 100644 --- a/remix-debug/test/traceManager.js +++ b/remix-lib/test/traceManager.js @@ -1,8 +1,7 @@ 'use strict' var TraceManager = require('../src/trace/traceManager') var tape = require('tape') -var remixLib = require('remix-lib') -var Web3Providers = remixLib.vm.Web3Providers +var Web3Providers = require('../src/web3Provider/web3Providers') var web3Test = require('./resources/testWeb3') let web3 = null From 466d983f71b37d75c08465daeebb257931d6fa0f Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 29 Jun 2018 09:07:18 -0400 Subject: [PATCH 12/35] fix typo --- remix-debug/src/Ethdebugger.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/remix-debug/src/Ethdebugger.js b/remix-debug/src/Ethdebugger.js index 655b2786e9..defc723c30 100644 --- a/remix-debug/src/Ethdebugger.js +++ b/remix-debug/src/Ethdebugger.js @@ -9,7 +9,7 @@ var localDecoder = require('./decoder/localDecoder') var InternalCallTree = require('./decoder/internalCallTree') var remixLib = require('remix-lib') -var TraceManager = remixLib.trace.traceManager +var TraceManager = remixLib.trace.TraceManager var CodeManager = remixLib.code.CodeManager var traceHelper = remixLib.helpers.trace var init = remixLib.init From e3b10c4c3fe62ec3ee0bcf7f3455c46391d481d9 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 29 Jun 2018 09:31:34 -0400 Subject: [PATCH 13/35] rename analysis module to remix-analyzer --- remix-analyzer/index.js | 2 +- .../index.js} | 0 .../modules/abstractAstView.js | 0 .../modules/assignAndCompare.js | 0 .../modules/blockBlockhash.js | 0 .../modules/blockTimestamp.js | 0 .../modules/categories.js | 0 .../modules/checksEffectsInteraction.js | 0 .../modules/constantFunctions.js | 0 .../modules/deleteDynamicArrays.js | 0 .../modules/functionCallGraph.js | 0 .../modules/gasCosts.js | 0 .../modules/guardConditions.js | 0 .../modules/inlineAssembly.js | 0 .../modules/intDivisionTruncate.js | 0 .../modules/list.js | 0 .../modules/lowLevelCalls.js | 0 .../modules/noReturn.js | 0 .../modules/selfdestruct.js | 0 .../modules/similarVariableNames.js | 0 .../modules/staticAnalysisCommon.js | 0 .../modules/thisLocal.js | 0 .../modules/txOrigin.js | 0 .../analysis/staticAnalysisCommon-test.js | 2 +- .../staticAnalysisIntegration-test.js | 36 +++++++++---------- .../analysis/staticAnalysisIssues-test.js | 4 +-- 26 files changed, 22 insertions(+), 22 deletions(-) rename remix-analyzer/src/{analysis/staticAnalysisRunner.js => solidity-analyzer/index.js} (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/abstractAstView.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/assignAndCompare.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/blockBlockhash.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/blockTimestamp.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/categories.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/checksEffectsInteraction.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/constantFunctions.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/deleteDynamicArrays.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/functionCallGraph.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/gasCosts.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/guardConditions.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/inlineAssembly.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/intDivisionTruncate.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/list.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/lowLevelCalls.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/noReturn.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/selfdestruct.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/similarVariableNames.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/staticAnalysisCommon.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/thisLocal.js (100%) rename remix-analyzer/src/{analysis => solidity-analyzer}/modules/txOrigin.js (100%) diff --git a/remix-analyzer/index.js b/remix-analyzer/index.js index 3fd9c0fd4a..01345200d8 100644 --- a/remix-analyzer/index.js +++ b/remix-analyzer/index.js @@ -1,4 +1,4 @@ -var CodeAnalysis = require('./src/analysis/staticAnalysisRunner') +var CodeAnalysis = require('./src/solidity-analyzer') module.exports = { CodeAnalysis: CodeAnalysis diff --git a/remix-analyzer/src/analysis/staticAnalysisRunner.js b/remix-analyzer/src/solidity-analyzer/index.js similarity index 100% rename from remix-analyzer/src/analysis/staticAnalysisRunner.js rename to remix-analyzer/src/solidity-analyzer/index.js diff --git a/remix-analyzer/src/analysis/modules/abstractAstView.js b/remix-analyzer/src/solidity-analyzer/modules/abstractAstView.js similarity index 100% rename from remix-analyzer/src/analysis/modules/abstractAstView.js rename to remix-analyzer/src/solidity-analyzer/modules/abstractAstView.js diff --git a/remix-analyzer/src/analysis/modules/assignAndCompare.js b/remix-analyzer/src/solidity-analyzer/modules/assignAndCompare.js similarity index 100% rename from remix-analyzer/src/analysis/modules/assignAndCompare.js rename to remix-analyzer/src/solidity-analyzer/modules/assignAndCompare.js diff --git a/remix-analyzer/src/analysis/modules/blockBlockhash.js b/remix-analyzer/src/solidity-analyzer/modules/blockBlockhash.js similarity index 100% rename from remix-analyzer/src/analysis/modules/blockBlockhash.js rename to remix-analyzer/src/solidity-analyzer/modules/blockBlockhash.js diff --git a/remix-analyzer/src/analysis/modules/blockTimestamp.js b/remix-analyzer/src/solidity-analyzer/modules/blockTimestamp.js similarity index 100% rename from remix-analyzer/src/analysis/modules/blockTimestamp.js rename to remix-analyzer/src/solidity-analyzer/modules/blockTimestamp.js diff --git a/remix-analyzer/src/analysis/modules/categories.js b/remix-analyzer/src/solidity-analyzer/modules/categories.js similarity index 100% rename from remix-analyzer/src/analysis/modules/categories.js rename to remix-analyzer/src/solidity-analyzer/modules/categories.js diff --git a/remix-analyzer/src/analysis/modules/checksEffectsInteraction.js b/remix-analyzer/src/solidity-analyzer/modules/checksEffectsInteraction.js similarity index 100% rename from remix-analyzer/src/analysis/modules/checksEffectsInteraction.js rename to remix-analyzer/src/solidity-analyzer/modules/checksEffectsInteraction.js diff --git a/remix-analyzer/src/analysis/modules/constantFunctions.js b/remix-analyzer/src/solidity-analyzer/modules/constantFunctions.js similarity index 100% rename from remix-analyzer/src/analysis/modules/constantFunctions.js rename to remix-analyzer/src/solidity-analyzer/modules/constantFunctions.js diff --git a/remix-analyzer/src/analysis/modules/deleteDynamicArrays.js b/remix-analyzer/src/solidity-analyzer/modules/deleteDynamicArrays.js similarity index 100% rename from remix-analyzer/src/analysis/modules/deleteDynamicArrays.js rename to remix-analyzer/src/solidity-analyzer/modules/deleteDynamicArrays.js diff --git a/remix-analyzer/src/analysis/modules/functionCallGraph.js b/remix-analyzer/src/solidity-analyzer/modules/functionCallGraph.js similarity index 100% rename from remix-analyzer/src/analysis/modules/functionCallGraph.js rename to remix-analyzer/src/solidity-analyzer/modules/functionCallGraph.js diff --git a/remix-analyzer/src/analysis/modules/gasCosts.js b/remix-analyzer/src/solidity-analyzer/modules/gasCosts.js similarity index 100% rename from remix-analyzer/src/analysis/modules/gasCosts.js rename to remix-analyzer/src/solidity-analyzer/modules/gasCosts.js diff --git a/remix-analyzer/src/analysis/modules/guardConditions.js b/remix-analyzer/src/solidity-analyzer/modules/guardConditions.js similarity index 100% rename from remix-analyzer/src/analysis/modules/guardConditions.js rename to remix-analyzer/src/solidity-analyzer/modules/guardConditions.js diff --git a/remix-analyzer/src/analysis/modules/inlineAssembly.js b/remix-analyzer/src/solidity-analyzer/modules/inlineAssembly.js similarity index 100% rename from remix-analyzer/src/analysis/modules/inlineAssembly.js rename to remix-analyzer/src/solidity-analyzer/modules/inlineAssembly.js diff --git a/remix-analyzer/src/analysis/modules/intDivisionTruncate.js b/remix-analyzer/src/solidity-analyzer/modules/intDivisionTruncate.js similarity index 100% rename from remix-analyzer/src/analysis/modules/intDivisionTruncate.js rename to remix-analyzer/src/solidity-analyzer/modules/intDivisionTruncate.js diff --git a/remix-analyzer/src/analysis/modules/list.js b/remix-analyzer/src/solidity-analyzer/modules/list.js similarity index 100% rename from remix-analyzer/src/analysis/modules/list.js rename to remix-analyzer/src/solidity-analyzer/modules/list.js diff --git a/remix-analyzer/src/analysis/modules/lowLevelCalls.js b/remix-analyzer/src/solidity-analyzer/modules/lowLevelCalls.js similarity index 100% rename from remix-analyzer/src/analysis/modules/lowLevelCalls.js rename to remix-analyzer/src/solidity-analyzer/modules/lowLevelCalls.js diff --git a/remix-analyzer/src/analysis/modules/noReturn.js b/remix-analyzer/src/solidity-analyzer/modules/noReturn.js similarity index 100% rename from remix-analyzer/src/analysis/modules/noReturn.js rename to remix-analyzer/src/solidity-analyzer/modules/noReturn.js diff --git a/remix-analyzer/src/analysis/modules/selfdestruct.js b/remix-analyzer/src/solidity-analyzer/modules/selfdestruct.js similarity index 100% rename from remix-analyzer/src/analysis/modules/selfdestruct.js rename to remix-analyzer/src/solidity-analyzer/modules/selfdestruct.js diff --git a/remix-analyzer/src/analysis/modules/similarVariableNames.js b/remix-analyzer/src/solidity-analyzer/modules/similarVariableNames.js similarity index 100% rename from remix-analyzer/src/analysis/modules/similarVariableNames.js rename to remix-analyzer/src/solidity-analyzer/modules/similarVariableNames.js diff --git a/remix-analyzer/src/analysis/modules/staticAnalysisCommon.js b/remix-analyzer/src/solidity-analyzer/modules/staticAnalysisCommon.js similarity index 100% rename from remix-analyzer/src/analysis/modules/staticAnalysisCommon.js rename to remix-analyzer/src/solidity-analyzer/modules/staticAnalysisCommon.js diff --git a/remix-analyzer/src/analysis/modules/thisLocal.js b/remix-analyzer/src/solidity-analyzer/modules/thisLocal.js similarity index 100% rename from remix-analyzer/src/analysis/modules/thisLocal.js rename to remix-analyzer/src/solidity-analyzer/modules/thisLocal.js diff --git a/remix-analyzer/src/analysis/modules/txOrigin.js b/remix-analyzer/src/solidity-analyzer/modules/txOrigin.js similarity index 100% rename from remix-analyzer/src/analysis/modules/txOrigin.js rename to remix-analyzer/src/solidity-analyzer/modules/txOrigin.js diff --git a/remix-analyzer/test/analysis/staticAnalysisCommon-test.js b/remix-analyzer/test/analysis/staticAnalysisCommon-test.js index 7d4fc4a95e..c4dbd95e98 100644 --- a/remix-analyzer/test/analysis/staticAnalysisCommon-test.js +++ b/remix-analyzer/test/analysis/staticAnalysisCommon-test.js @@ -1,6 +1,6 @@ var test = require('tape') -var common = require('../../src/analysis/modules/staticAnalysisCommon') +var common = require('../../src/solidity-analyzer/modules/staticAnalysisCommon') function escapeRegExp (str) { return str.replace(/[-[\]/{}()+?.\\^$|]/g, '\\$&') diff --git a/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js b/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js index 3b1f31308a..0cf349100c 100644 --- a/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js +++ b/remix-analyzer/test/analysis/staticAnalysisIntegration-test.js @@ -1,7 +1,7 @@ var test = require('tape') var remixLib = require('remix-lib') -var StatRunner = require('../../src/analysis/staticAnalysisRunner') +var StatRunner = require('../../src/solidity-analyzer') var compilerInput = remixLib.helpers.compiler.compilerInput var compiler = require('solc') @@ -43,7 +43,7 @@ testFiles.forEach((fileName) => { test('Integration test thisLocal.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/thisLocal') + var module = require('../../src/solidity-analyzer/modules/thisLocal') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -77,7 +77,7 @@ test('Integration test thisLocal.js', function (t) { test('Integration test checksEffectsInteraction.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/checksEffectsInteraction') + var module = require('../../src/solidity-analyzer/modules/checksEffectsInteraction') var lengthCheck = { 'KingOfTheEtherThrone.sol': 1, @@ -111,7 +111,7 @@ test('Integration test checksEffectsInteraction.js', function (t) { test('Integration test constantFunctions.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/constantFunctions') + var module = require('../../src/solidity-analyzer/modules/constantFunctions') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -145,7 +145,7 @@ test('Integration test constantFunctions.js', function (t) { test('Integration test inlineAssembly.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/inlineAssembly') + var module = require('../../src/solidity-analyzer/modules/inlineAssembly') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -179,7 +179,7 @@ test('Integration test inlineAssembly.js', function (t) { test('Integration test txOrigin.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/txOrigin') + var module = require('../../src/solidity-analyzer/modules/txOrigin') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -213,7 +213,7 @@ test('Integration test txOrigin.js', function (t) { test('Integration test gasCosts.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/gasCosts') + var module = require('../../src/solidity-analyzer/modules/gasCosts') var lengthCheck = { 'KingOfTheEtherThrone.sol': 2, @@ -247,7 +247,7 @@ test('Integration test gasCosts.js', function (t) { test('Integration test similarVariableNames.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/similarVariableNames') + var module = require('../../src/solidity-analyzer/modules/similarVariableNames') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -281,7 +281,7 @@ test('Integration test similarVariableNames.js', function (t) { test('Integration test inlineAssembly.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/inlineAssembly') + var module = require('../../src/solidity-analyzer/modules/inlineAssembly') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -315,7 +315,7 @@ test('Integration test inlineAssembly.js', function (t) { test('Integration test blockTimestamp.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/blockTimestamp') + var module = require('../../src/solidity-analyzer/modules/blockTimestamp') var lengthCheck = { 'KingOfTheEtherThrone.sol': 1, @@ -349,7 +349,7 @@ test('Integration test blockTimestamp.js', function (t) { test('Integration test lowLevelCalls.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/lowLevelCalls') + var module = require('../../src/solidity-analyzer/modules/lowLevelCalls') var lengthCheck = { 'KingOfTheEtherThrone.sol': 1, @@ -383,7 +383,7 @@ test('Integration test lowLevelCalls.js', function (t) { test('Integration test blockBlockhash.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/blockBlockhash') + var module = require('../../src/solidity-analyzer/modules/blockBlockhash') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -417,7 +417,7 @@ test('Integration test blockBlockhash.js', function (t) { test('Integration test noReturn.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/noReturn') + var module = require('../../src/solidity-analyzer/modules/noReturn') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -451,7 +451,7 @@ test('Integration test noReturn.js', function (t) { test('Integration test selfdestruct.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/selfdestruct') + var module = require('../../src/solidity-analyzer/modules/selfdestruct') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -485,7 +485,7 @@ test('Integration test selfdestruct.js', function (t) { test('Integration test guardConditions.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/guardConditions') + var module = require('../../src/solidity-analyzer/modules/guardConditions') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -519,7 +519,7 @@ test('Integration test guardConditions.js', function (t) { test('Integration test deleteDynamicArrays.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/deleteDynamicArrays') + var module = require('../../src/solidity-analyzer/modules/deleteDynamicArrays') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -553,7 +553,7 @@ test('Integration test deleteDynamicArrays.js', function (t) { test('Integration test assignAndCompare.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/assignAndCompare') + var module = require('../../src/solidity-analyzer/modules/assignAndCompare') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, @@ -587,7 +587,7 @@ test('Integration test assignAndCompare.js', function (t) { test('Integration test intDivisionTruncate.js', function (t) { t.plan(testFiles.length) - var module = require('../../src/analysis/modules/intDivisionTruncate') + var module = require('../../src/solidity-analyzer/modules/intDivisionTruncate') var lengthCheck = { 'KingOfTheEtherThrone.sol': 0, diff --git a/remix-analyzer/test/analysis/staticAnalysisIssues-test.js b/remix-analyzer/test/analysis/staticAnalysisIssues-test.js index eb7b97a2ef..e3353d1786 100644 --- a/remix-analyzer/test/analysis/staticAnalysisIssues-test.js +++ b/remix-analyzer/test/analysis/staticAnalysisIssues-test.js @@ -1,7 +1,7 @@ var test = require('tape') var remixLib = require('remix-lib') -var StatRunner = require('../../src/analysis/staticAnalysisRunner') +var StatRunner = require('../../src/solidity-analyzer') var compilerInput = remixLib.helpers.compiler.compilerInput var compiler = require('solc') @@ -19,7 +19,7 @@ test('staticAnalysisIssues.functionParameterPassingError', function (t) { t.plan(2) var res = compile('functionParameters.sol') - var module = require('../../src/analysis/modules/checksEffectsInteraction') + var module = require('../../src/solidity-analyzer/modules/checksEffectsInteraction') var statRunner = new StatRunner() From 9360511733139230383ed40f88bdc3a5eb5078dd Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 29 Jun 2018 09:50:47 -0400 Subject: [PATCH 14/35] rename decoder to solidity-decoder --- remix-debug/src/Ethdebugger.js | 9 +++++---- .../src/{decoder => solidity-decoder}/astHelper.js | 0 .../src/{decoder => solidity-decoder}/decodeInfo.js | 0 remix-debug/src/solidity-decoder/index.js | 11 +++++++++++ .../{decoder => solidity-decoder}/internalCallTree.js | 0 .../src/{decoder => solidity-decoder}/localDecoder.js | 0 .../{decoder => solidity-decoder}/solidityProxy.js | 0 .../src/{decoder => solidity-decoder}/stateDecoder.js | 0 .../{decoder => solidity-decoder}/types/Address.js | 0 .../{decoder => solidity-decoder}/types/ArrayType.js | 0 .../src/{decoder => solidity-decoder}/types/Bool.js | 0 .../types/DynamicByteArray.js | 0 .../src/{decoder => solidity-decoder}/types/Enum.js | 0 .../types/FixedByteArray.js | 0 .../src/{decoder => solidity-decoder}/types/Int.js | 0 .../{decoder => solidity-decoder}/types/Mapping.js | 0 .../{decoder => solidity-decoder}/types/RefType.js | 0 .../{decoder => solidity-decoder}/types/StringType.js | 0 .../src/{decoder => solidity-decoder}/types/Struct.js | 0 .../src/{decoder => solidity-decoder}/types/Uint.js | 0 .../{decoder => solidity-decoder}/types/ValueType.js | 0 .../src/{decoder => solidity-decoder}/types/util.js | 0 remix-debug/test/decoder/decodeInfo.js | 8 ++++---- remix-debug/test/decoder/localsTests/helper.js | 2 +- remix-debug/test/decoder/localsTests/int.js | 4 ++-- remix-debug/test/decoder/localsTests/misc.js | 4 ++-- remix-debug/test/decoder/localsTests/misc2.js | 4 ++-- remix-debug/test/decoder/localsTests/structArray.js | 4 ++-- remix-debug/test/decoder/stateTests/mapping.js | 2 +- remix-debug/test/decoder/storageDecoder.js | 2 +- remix-debug/test/decoder/storageLocation.js | 2 +- 31 files changed, 32 insertions(+), 20 deletions(-) rename remix-debug/src/{decoder => solidity-decoder}/astHelper.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/decodeInfo.js (100%) create mode 100644 remix-debug/src/solidity-decoder/index.js rename remix-debug/src/{decoder => solidity-decoder}/internalCallTree.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/localDecoder.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/solidityProxy.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/stateDecoder.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Address.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/ArrayType.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Bool.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/DynamicByteArray.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Enum.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/FixedByteArray.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Int.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Mapping.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/RefType.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/StringType.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Struct.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/Uint.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/ValueType.js (100%) rename remix-debug/src/{decoder => solidity-decoder}/types/util.js (100%) diff --git a/remix-debug/src/Ethdebugger.js b/remix-debug/src/Ethdebugger.js index defc723c30..0b63056a75 100644 --- a/remix-debug/src/Ethdebugger.js +++ b/remix-debug/src/Ethdebugger.js @@ -3,10 +3,11 @@ var StorageViewer = require('./storage/storageViewer') var StorageResolver = require('./storage/storageResolver') -var SolidityProxy = require('./decoder/solidityProxy') -var stateDecoder = require('./decoder/stateDecoder') -var localDecoder = require('./decoder/localDecoder') -var InternalCallTree = require('./decoder/internalCallTree') +var SolidityDecoder = require('./solidity-decoder') +var SolidityProxy = SolidityDecoder.SolidityProxy +var stateDecoder = SolidityDecoder.stateDecoder +var localDecoder = SolidityDecoder.localDecoder +var InternalCallTree = SolidityDecoder.InternalCallTree var remixLib = require('remix-lib') var TraceManager = remixLib.trace.TraceManager diff --git a/remix-debug/src/decoder/astHelper.js b/remix-debug/src/solidity-decoder/astHelper.js similarity index 100% rename from remix-debug/src/decoder/astHelper.js rename to remix-debug/src/solidity-decoder/astHelper.js diff --git a/remix-debug/src/decoder/decodeInfo.js b/remix-debug/src/solidity-decoder/decodeInfo.js similarity index 100% rename from remix-debug/src/decoder/decodeInfo.js rename to remix-debug/src/solidity-decoder/decodeInfo.js diff --git a/remix-debug/src/solidity-decoder/index.js b/remix-debug/src/solidity-decoder/index.js new file mode 100644 index 0000000000..ed92273450 --- /dev/null +++ b/remix-debug/src/solidity-decoder/index.js @@ -0,0 +1,11 @@ +var SolidityProxy = require('./solidityProxy') +var stateDecoder = require('./stateDecoder') +var localDecoder = require('./localDecoder') +var InternalCallTree = require('./internalCallTree') + +module.exports = { + SolidityProxy: SolidityProxy, + stateDecoder: stateDecoder, + localDecoder: localDecoder, + InternalCallTree: InternalCallTree +} diff --git a/remix-debug/src/decoder/internalCallTree.js b/remix-debug/src/solidity-decoder/internalCallTree.js similarity index 100% rename from remix-debug/src/decoder/internalCallTree.js rename to remix-debug/src/solidity-decoder/internalCallTree.js diff --git a/remix-debug/src/decoder/localDecoder.js b/remix-debug/src/solidity-decoder/localDecoder.js similarity index 100% rename from remix-debug/src/decoder/localDecoder.js rename to remix-debug/src/solidity-decoder/localDecoder.js diff --git a/remix-debug/src/decoder/solidityProxy.js b/remix-debug/src/solidity-decoder/solidityProxy.js similarity index 100% rename from remix-debug/src/decoder/solidityProxy.js rename to remix-debug/src/solidity-decoder/solidityProxy.js diff --git a/remix-debug/src/decoder/stateDecoder.js b/remix-debug/src/solidity-decoder/stateDecoder.js similarity index 100% rename from remix-debug/src/decoder/stateDecoder.js rename to remix-debug/src/solidity-decoder/stateDecoder.js diff --git a/remix-debug/src/decoder/types/Address.js b/remix-debug/src/solidity-decoder/types/Address.js similarity index 100% rename from remix-debug/src/decoder/types/Address.js rename to remix-debug/src/solidity-decoder/types/Address.js diff --git a/remix-debug/src/decoder/types/ArrayType.js b/remix-debug/src/solidity-decoder/types/ArrayType.js similarity index 100% rename from remix-debug/src/decoder/types/ArrayType.js rename to remix-debug/src/solidity-decoder/types/ArrayType.js diff --git a/remix-debug/src/decoder/types/Bool.js b/remix-debug/src/solidity-decoder/types/Bool.js similarity index 100% rename from remix-debug/src/decoder/types/Bool.js rename to remix-debug/src/solidity-decoder/types/Bool.js diff --git a/remix-debug/src/decoder/types/DynamicByteArray.js b/remix-debug/src/solidity-decoder/types/DynamicByteArray.js similarity index 100% rename from remix-debug/src/decoder/types/DynamicByteArray.js rename to remix-debug/src/solidity-decoder/types/DynamicByteArray.js diff --git a/remix-debug/src/decoder/types/Enum.js b/remix-debug/src/solidity-decoder/types/Enum.js similarity index 100% rename from remix-debug/src/decoder/types/Enum.js rename to remix-debug/src/solidity-decoder/types/Enum.js diff --git a/remix-debug/src/decoder/types/FixedByteArray.js b/remix-debug/src/solidity-decoder/types/FixedByteArray.js similarity index 100% rename from remix-debug/src/decoder/types/FixedByteArray.js rename to remix-debug/src/solidity-decoder/types/FixedByteArray.js diff --git a/remix-debug/src/decoder/types/Int.js b/remix-debug/src/solidity-decoder/types/Int.js similarity index 100% rename from remix-debug/src/decoder/types/Int.js rename to remix-debug/src/solidity-decoder/types/Int.js diff --git a/remix-debug/src/decoder/types/Mapping.js b/remix-debug/src/solidity-decoder/types/Mapping.js similarity index 100% rename from remix-debug/src/decoder/types/Mapping.js rename to remix-debug/src/solidity-decoder/types/Mapping.js diff --git a/remix-debug/src/decoder/types/RefType.js b/remix-debug/src/solidity-decoder/types/RefType.js similarity index 100% rename from remix-debug/src/decoder/types/RefType.js rename to remix-debug/src/solidity-decoder/types/RefType.js diff --git a/remix-debug/src/decoder/types/StringType.js b/remix-debug/src/solidity-decoder/types/StringType.js similarity index 100% rename from remix-debug/src/decoder/types/StringType.js rename to remix-debug/src/solidity-decoder/types/StringType.js diff --git a/remix-debug/src/decoder/types/Struct.js b/remix-debug/src/solidity-decoder/types/Struct.js similarity index 100% rename from remix-debug/src/decoder/types/Struct.js rename to remix-debug/src/solidity-decoder/types/Struct.js diff --git a/remix-debug/src/decoder/types/Uint.js b/remix-debug/src/solidity-decoder/types/Uint.js similarity index 100% rename from remix-debug/src/decoder/types/Uint.js rename to remix-debug/src/solidity-decoder/types/Uint.js diff --git a/remix-debug/src/decoder/types/ValueType.js b/remix-debug/src/solidity-decoder/types/ValueType.js similarity index 100% rename from remix-debug/src/decoder/types/ValueType.js rename to remix-debug/src/solidity-decoder/types/ValueType.js diff --git a/remix-debug/src/decoder/types/util.js b/remix-debug/src/solidity-decoder/types/util.js similarity index 100% rename from remix-debug/src/decoder/types/util.js rename to remix-debug/src/solidity-decoder/types/util.js diff --git a/remix-debug/test/decoder/decodeInfo.js b/remix-debug/test/decoder/decodeInfo.js index 4e100f2b79..6a41f0d9d4 100644 --- a/remix-debug/test/decoder/decodeInfo.js +++ b/remix-debug/test/decoder/decodeInfo.js @@ -1,14 +1,14 @@ 'use strict' var tape = require('tape') var compiler = require('solc') -var astHelper = require('../../src/decoder/astHelper') -var decodeInfo = require('../../src/decoder/decodeInfo') -var stateDecoder = require('../../src/decoder/stateDecoder') +var astHelper = require('../../src/solidity-decoder/astHelper') +var decodeInfo = require('../../src/solidity-decoder/decodeInfo') +var stateDecoder = require('../../src/solidity-decoder/stateDecoder') var contracts = require('./contracts/miscContracts') var simplecontracts = require('./contracts/simpleContract') var remixLib = require('remix-lib') var compilerInput = remixLib.helpers.compiler.compilerInput -var util = require('../../src/decoder/types/util') +var util = require('../../src/solidity-decoder/types/util') tape('solidity', function (t) { t.test('astHelper, decodeInfo', function (st) { diff --git a/remix-debug/test/decoder/localsTests/helper.js b/remix-debug/test/decoder/localsTests/helper.js index 867f515d85..b30c39cb21 100644 --- a/remix-debug/test/decoder/localsTests/helper.js +++ b/remix-debug/test/decoder/localsTests/helper.js @@ -1,5 +1,5 @@ 'use strict' -var localDecoder = require('../../../src/decoder/localDecoder') +var localDecoder = require('../../../src/solidity-decoder/localDecoder') /* Decode local variable diff --git a/remix-debug/test/decoder/localsTests/int.js b/remix-debug/test/decoder/localsTests/int.js index 5fce05fd5b..bfb57fef3c 100644 --- a/remix-debug/test/decoder/localsTests/int.js +++ b/remix-debug/test/decoder/localsTests/int.js @@ -7,8 +7,8 @@ var TraceManager = remixLib.trace.TraceManager var CodeManager = remixLib.code.CodeManager var traceHelper = remixLib.helpers.trace -var SolidityProxy = require('../../../src/decoder/solidityProxy') -var InternalCallTree = require('../../../src/decoder/internalCallTree') +var SolidityProxy = require('../../../src/solidity-decoder/solidityProxy') +var InternalCallTree = require('../../../src/solidity-decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') diff --git a/remix-debug/test/decoder/localsTests/misc.js b/remix-debug/test/decoder/localsTests/misc.js index 75a239d3ad..258b509902 100644 --- a/remix-debug/test/decoder/localsTests/misc.js +++ b/remix-debug/test/decoder/localsTests/misc.js @@ -2,8 +2,8 @@ var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace -var SolidityProxy = require('../../../src/decoder/solidityProxy') -var InternalCallTree = require('../../../src/decoder/internalCallTree') +var SolidityProxy = require('../../../src/solidity-decoder/solidityProxy') +var InternalCallTree = require('../../../src/solidity-decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') diff --git a/remix-debug/test/decoder/localsTests/misc2.js b/remix-debug/test/decoder/localsTests/misc2.js index 9091dc1dfa..cde7ede1c3 100644 --- a/remix-debug/test/decoder/localsTests/misc2.js +++ b/remix-debug/test/decoder/localsTests/misc2.js @@ -2,8 +2,8 @@ var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace -var SolidityProxy = require('../../../src/decoder/solidityProxy') -var InternalCallTree = require('../../../src/decoder/internalCallTree') +var SolidityProxy = require('../../../src/solidity-decoder/solidityProxy') +var InternalCallTree = require('../../../src/solidity-decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') diff --git a/remix-debug/test/decoder/localsTests/structArray.js b/remix-debug/test/decoder/localsTests/structArray.js index 878fd3babe..ca1845da97 100644 --- a/remix-debug/test/decoder/localsTests/structArray.js +++ b/remix-debug/test/decoder/localsTests/structArray.js @@ -2,8 +2,8 @@ var vmCall = require('../vmCall') var remixLib = require('remix-lib') var traceHelper = remixLib.helpers.trace -var SolidityProxy = require('../../../src/decoder/solidityProxy') -var InternalCallTree = require('../../../src/decoder/internalCallTree') +var SolidityProxy = require('../../../src/solidity-decoder/solidityProxy') +var InternalCallTree = require('../../../src/solidity-decoder/internalCallTree') var EventManager = remixLib.EventManager var helper = require('./helper') diff --git a/remix-debug/test/decoder/stateTests/mapping.js b/remix-debug/test/decoder/stateTests/mapping.js index af9d87a301..28709c7903 100644 --- a/remix-debug/test/decoder/stateTests/mapping.js +++ b/remix-debug/test/decoder/stateTests/mapping.js @@ -3,7 +3,7 @@ var compilerInput = remixLib.helpers.compiler.compilerInput var TraceManager = remixLib.trace.TraceManager var compiler = require('solc') -var stateDecoder = require('../../../src/decoder/stateDecoder') +var stateDecoder = require('../../../src/solidity-decoder/stateDecoder') var vmCall = require('../vmCall') var StorageResolver = require('../../../src/storage/storageResolver') diff --git a/remix-debug/test/decoder/storageDecoder.js b/remix-debug/test/decoder/storageDecoder.js index 1c943e47fd..4b57247814 100644 --- a/remix-debug/test/decoder/storageDecoder.js +++ b/remix-debug/test/decoder/storageDecoder.js @@ -1,7 +1,7 @@ 'use strict' var tape = require('tape') var compiler = require('solc') -var stateDecoder = require('../../src/decoder/stateDecoder') +var stateDecoder = require('../../src/solidity-decoder/stateDecoder') var MockStorageResolver = require('./mockStorageResolver') var remixLib = require('remix-lib') var compilerInput = remixLib.helpers.compiler.compilerInput diff --git a/remix-debug/test/decoder/storageLocation.js b/remix-debug/test/decoder/storageLocation.js index fe4dc601d3..300adc467b 100644 --- a/remix-debug/test/decoder/storageLocation.js +++ b/remix-debug/test/decoder/storageLocation.js @@ -1,7 +1,7 @@ 'use strict' var tape = require('tape') var compiler = require('solc') -var stateDecoder = require('../../src/decoder/stateDecoder') +var stateDecoder = require('../../src/solidity-decoder/stateDecoder') var contracts = require('./contracts/miscContracts') var remixLib = require('remix-lib') var compilerInput = remixLib.helpers.compiler.compilerInput From d20cb24fde388d81f2091d1f0c5b499497949e7e Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Fri, 29 Jun 2018 10:30:36 -0400 Subject: [PATCH 15/35] remove soljson download task from packages --- remix-analyzer/package.json | 3 +-- remix-debug/package.json | 3 +-- remix-solidity/package.json | 8 +++----- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/remix-analyzer/package.json b/remix-analyzer/package.json index aa059df5ba..864ca4be24 100644 --- a/remix-analyzer/package.json +++ b/remix-analyzer/package.json @@ -28,8 +28,7 @@ }, "standard": { "ignore": [ - "node_modules/*", - "soljson.js" + "node_modules/*" ], "parser": "babel-eslint" }, diff --git a/remix-debug/package.json b/remix-debug/package.json index e275a6e8f2..547803d799 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -38,8 +38,7 @@ "scripts": { "build": "mkdirp build; browserify index.js > build/app.js", "lint": "standard | notify-error", - "downloadsolc": "cd node_modules/solc && (test -e soljson.js || wget --no-check-certificate https://solc-bin.ethereum.org/soljson.js) && cd ..", - "test": "standard && npm run downloadsolc && tape ./test/tests.js" + "test": "standard && tape ./test/tests.js" }, "repository": { "type": "git", diff --git a/remix-solidity/package.json b/remix-solidity/package.json index 5c22ce0b63..e4b19c50b8 100644 --- a/remix-solidity/package.json +++ b/remix-solidity/package.json @@ -29,15 +29,13 @@ "webworkify": "^1.2.1" }, "scripts": { - "test": "standard && npm run downloadsolc && tape ./test/tests.js", + "test": "standard && tape ./test/tests.js", "downloadsolc": "cd node_modules/solc && (test -e soljson.js || wget --no-check-certificate https://solc-bin.ethereum.org/soljson.js) && cd ..", - "prepublish": "mkdirp build; npm-run-all -ls downloadsolc", - "postinstall": "npm-run-all -ls downloadsolc" + "prepublish": "mkdirp build" }, "standard": { "ignore": [ - "node_modules/*", - "soljson.js" + "node_modules/*" ], "parser": "babel-eslint" }, From 46db333197a7f057712ecc3d8cdc38c26d241911 Mon Sep 17 00:00:00 2001 From: yann300 Date: Thu, 5 Jul 2018 22:52:54 +0200 Subject: [PATCH 16/35] enable remix-analyzer on circleci --- .circleci/config.yml | 11 +++++++++++ lerna.json | 3 ++- remix-analyzer/package.json | 12 +++++------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 53cd0cb0dd..5e94e20aa2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -33,6 +33,16 @@ jobs: - checkout - run: npm install && npm run bootstrap - run: cd remix-debug && npm test + + remix-analyzer: + docker: + - image: circleci/node:7.10 + environment: + working_directory: ~/repo + steps: + - checkout + - run: npm install && npm run bootstrap + - run: cd remix-analyzer && npm test workflows: version: 2 @@ -41,4 +51,5 @@ workflows: - remix-lib - remix-solidity - remix-debug + - remix-analyzer diff --git a/lerna.json b/lerna.json index 0a931538b1..6a1f75ae93 100644 --- a/lerna.json +++ b/lerna.json @@ -4,7 +4,8 @@ "remix-debug", "remix-debugger", "remix-lib", - "remix-solidity" + "remix-solidity", + "remix-analyzer" ], "version": "independent" } diff --git a/remix-analyzer/package.json b/remix-analyzer/package.json index aa059df5ba..35815bbc6d 100644 --- a/remix-analyzer/package.json +++ b/remix-analyzer/package.json @@ -21,7 +21,10 @@ "babel-eslint": "^7.1.1", "babel-plugin-transform-object-assign": "^6.22.0", "remix-lib": "^0.2.9", - "babel-preset-es2015": "^6.24.0" + "babel-preset-es2015": "^6.24.0", + "solc": "^0.4.24", + "standard": "^7.0.1", + "tape": "^4.6.0" }, "scripts": { "test": "standard && tape ./test/tests.js" @@ -35,10 +38,5 @@ }, "author": "Remix Team", "license": "MIT", - "homepage": "https://github.com/ethereum/remix#readme", - "devDependencies": { - "solc": "^0.4.24", - "standard": "^7.0.1", - "tape": "^4.6.0" - } + "homepage": "https://github.com/ethereum/remix#readme" } From 7d4e082970973c07f654f67a4a460a46e54dd230 Mon Sep 17 00:00:00 2001 From: yann300 Date: Thu, 5 Jul 2018 23:19:29 +0200 Subject: [PATCH 17/35] remove remix-solidity unit testing from circleci --- .circleci/config.yml | 11 ----------- remix-solidity/package.json | 1 - 2 files changed, 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5e94e20aa2..0b07bbd8b7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,16 +14,6 @@ jobs: - run: npm install && npm run bootstrap - run: cd remix-lib && npm test - remix-solidity: - docker: - - image: circleci/node:7.10 - environment: - working_directory: ~/repo - steps: - - checkout - - run: npm install && npm run bootstrap - - run: cd remix-solidity && npm test - remix-debug: docker: - image: circleci/node:7.10 @@ -49,7 +39,6 @@ workflows: build_all: jobs: - remix-lib - - remix-solidity - remix-debug - remix-analyzer diff --git a/remix-solidity/package.json b/remix-solidity/package.json index 5c22ce0b63..76489192db 100644 --- a/remix-solidity/package.json +++ b/remix-solidity/package.json @@ -29,7 +29,6 @@ "webworkify": "^1.2.1" }, "scripts": { - "test": "standard && npm run downloadsolc && tape ./test/tests.js", "downloadsolc": "cd node_modules/solc && (test -e soljson.js || wget --no-check-certificate https://solc-bin.ethereum.org/soljson.js) && cd ..", "prepublish": "mkdirp build; npm-run-all -ls downloadsolc", "postinstall": "npm-run-all -ls downloadsolc" From 4d01ca82835ef88c06e13b6420e1e6d3f8234e43 Mon Sep 17 00:00:00 2001 From: vikas1188 Date: Sun, 8 Jul 2018 20:06:46 +0530 Subject: [PATCH 18/35] correct the typo correct the typo --- docs/run_tab.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/run_tab.md b/docs/run_tab.md index 045aaa3de3..f13fb6591f 100644 --- a/docs/run_tab.md +++ b/docs/run_tab.md @@ -112,7 +112,7 @@ In that case we use the addres of the previously created library : `created{1512830014773}`. the number is the id (timestamp) of the transaction that leads to the creation of the library. -The third parameter corresponds to the call to te function `set` of the +The third parameter corresponds to the call to the function `set` of the contract `test` (the property to is set to: `created{1512830015080}`) . Input parameters are `1` and `0xca35b7d915458ef540ade6068dfe2f44e8fa733c` From 77b1b78d3087ee2dc0052cf7c02e0a6770f8f6b3 Mon Sep 17 00:00:00 2001 From: botifist <30595439+botifist@users.noreply.github.com> Date: Tue, 10 Jul 2018 09:10:43 +0300 Subject: [PATCH 19/35] Update index.rst Repo link fix --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index e8436a8a8a..d97652b590 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,7 +9,7 @@ Remix also supports testing, debugging and deploying of smart contracts and much Our Remix project with all its features is available at `remix.ethereum.org `__ and more information can be found in these docs. Our tool is available at `our GitHub repository -`__. +`__. This set of documents covers instructions on how to use Remix and some tutorials to help you get started. From 2d8823ab116780ee53dac7039f316d3e979958f9 Mon Sep 17 00:00:00 2001 From: Badr bellaj Date: Thu, 12 Jul 2018 17:41:58 +0200 Subject: [PATCH 20/35] Typo correction --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c4a541e15..1007029706 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ There's two way of doing that: When loading the transaction succeed, the hash, from and to field will show up. Then the vm trace is loaded. -The debugger itself contains several controls that allow stepping over the trace and seing the current state of a selected step. +The debugger itself contains several controls that allow stepping over the trace and seeing the current state of a selected step. #### Slider and Stepping action: From 004bcb9efa33b8338aa9f8862d9ee04a15dcfee9 Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 16 Jul 2018 14:37:43 +0200 Subject: [PATCH 21/35] Update index.rst --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index d97652b590..10e3b25db9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,7 +9,7 @@ Remix also supports testing, debugging and deploying of smart contracts and much Our Remix project with all its features is available at `remix.ethereum.org `__ and more information can be found in these docs. Our tool is available at `our GitHub repository -`__. +`__. This set of documents covers instructions on how to use Remix and some tutorials to help you get started. From 32a0505866f7d26affa5b74c3687878047f7b893 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 13:18:30 +0200 Subject: [PATCH 22/35] add remix-analyzer circle ci --- .circleci/config.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 53cd0cb0dd..80a081378f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -33,6 +33,16 @@ jobs: - checkout - run: npm install && npm run bootstrap - run: cd remix-debug && npm test + + remix-analyzer: + docker: + - image: circleci/node:7.10 + environment: + working_directory: ~/repo + steps: + - checkout + - run: npm install && npm run bootstrap + - run: cd remix-analyzer && npm test workflows: version: 2 @@ -41,4 +51,5 @@ workflows: - remix-lib - remix-solidity - remix-debug + - remix-analyzer From db3baef237926af9f42b61925a6a133abf368cd8 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 13:25:27 +0200 Subject: [PATCH 23/35] typo --- .circleci/config.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1db55f7340..06bc2b70c4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -23,13 +23,13 @@ jobs: - checkout - run: npm install && npm run bootstrap - run: cd remix-debug && npm test - - remix-analyzer: - docker: + + remix-analyzer: + docker: - image: circleci/node:7.10 - environment: - working_directory: ~/repo - steps: + environment: + working_directory: ~/repo + steps: - checkout - run: npm install && npm run bootstrap - run: cd remix-analyzer && npm test @@ -41,4 +41,3 @@ workflows: - remix-lib - remix-debug - remix-analyzer - From 3327d76f72129363d170823bc2b975d390238d85 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 13:32:39 +0200 Subject: [PATCH 24/35] node version --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 06bc2b70c4..4c12a03226 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ version: 2 jobs: remix-lib: docker: - - image: circleci/node:7.10 + - image: circleci/node:9.11.2 environment: working_directory: ~/repo steps: @@ -16,7 +16,7 @@ jobs: remix-debug: docker: - - image: circleci/node:7.10 + - image: circleci/node:9.11.2 environment: working_directory: ~/repo steps: @@ -26,7 +26,7 @@ jobs: remix-analyzer: docker: - - image: circleci/node:7.10 + - image: circleci/node:9.11.2 environment: working_directory: ~/repo steps: From 076245c844106deb7758e269cf5eed6099d2351f Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 13:52:50 +0200 Subject: [PATCH 25/35] Update package.json --- remix-debug/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/remix-debug/package.json b/remix-debug/package.json index 547803d799..69838d81e7 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -28,7 +28,7 @@ "npm-run-all": "^4.1.2", "fast-async": "^6.1.2", "remix-lib": "^0.2.9", - "solc": "https://github.com/ethereum/solc-js" + "solc": "^0.4.24" }, "devDependencies": { "standard": "^7.0.1", From b9a4371f16728c189a46ddfceb9c1299e216093d Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 14:31:20 +0200 Subject: [PATCH 26/35] Publish - remix-debug@0.0.10 - remix-lib@0.2.10 - remix-solidity@0.1.12 - remix-analyzer@0.1.1 --- remix-analyzer/package.json | 4 ++-- remix-debug/package.json | 6 +++--- remix-lib/package.json | 2 +- remix-solidity/package.json | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/remix-analyzer/package.json b/remix-analyzer/package.json index 650d9c797f..934ca0eadb 100644 --- a/remix-analyzer/package.json +++ b/remix-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "remix-analyzer", - "version": "0.1.0", + "version": "0.1.1", "description": "Remix Analyzer", "main": "./index.js", "contributors": [ @@ -20,8 +20,8 @@ "dependencies": { "babel-eslint": "^7.1.1", "babel-plugin-transform-object-assign": "^6.22.0", - "remix-lib": "^0.2.9", "babel-preset-es2015": "^6.24.0", + "remix-lib": "^0.2.10", "solc": "^0.4.24", "standard": "^7.0.1", "tape": "^4.6.0" diff --git a/remix-debug/package.json b/remix-debug/package.json index 69838d81e7..d1299e4b71 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -1,6 +1,6 @@ { "name": "remix-debug", - "version": "0.0.9", + "version": "0.0.10", "description": "Ethereum IDE and tools for the web", "contributors": [ { @@ -24,10 +24,10 @@ "babelify": "^7.3.0", "ethereumjs-util": "^4.5.0", "ethereumjs-vm": "^2.3.3", + "fast-async": "^6.1.2", "notify-error": "^1.2.0", "npm-run-all": "^4.1.2", - "fast-async": "^6.1.2", - "remix-lib": "^0.2.9", + "remix-lib": "^0.2.10", "solc": "^0.4.24" }, "devDependencies": { diff --git a/remix-lib/package.json b/remix-lib/package.json index e14204ddd2..4f8cca0b0d 100644 --- a/remix-lib/package.json +++ b/remix-lib/package.json @@ -1,6 +1,6 @@ { "name": "remix-lib", - "version": "0.2.9", + "version": "0.2.10", "description": "Ethereum IDE and tools for the web", "contributors": [ { diff --git a/remix-solidity/package.json b/remix-solidity/package.json index 17c08b3510..912ddf745e 100644 --- a/remix-solidity/package.json +++ b/remix-solidity/package.json @@ -1,6 +1,6 @@ { "name": "remix-solidity", - "version": "0.1.11", + "version": "0.1.12", "description": "Ethereum IDE and tools for the web", "contributors": [ { @@ -22,7 +22,7 @@ "ethereumjs-vm": "^2.3.3", "fast-async": "^6.1.2", "npm-run-all": "^4.0.2", - "remix-lib": "^0.2.9", + "remix-lib": "^0.2.10", "solc": "^0.4.24", "standard": "^7.0.1", "tape": "^4.6.0", From acf21e26afffdd8418d1b6f5533a084f226cf07c Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 14:32:19 +0200 Subject: [PATCH 27/35] remove remix-debugger --- lerna.json | 1 - 1 file changed, 1 deletion(-) diff --git a/lerna.json b/lerna.json index 6a1f75ae93..69dbd325a5 100644 --- a/lerna.json +++ b/lerna.json @@ -2,7 +2,6 @@ "lerna": "2.10.2", "packages": [ "remix-debug", - "remix-debugger", "remix-lib", "remix-solidity", "remix-analyzer" From f55e5c92ab9ec989af9482d9cb037e64f9efc0f4 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 17:38:46 +0200 Subject: [PATCH 28/35] Update package.json --- remix-debug/package.json | 60 ++++++++++++---------------------------- 1 file changed, 17 insertions(+), 43 deletions(-) diff --git a/remix-debug/package.json b/remix-debug/package.json index d1299e4b71..7a830528e1 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -16,11 +16,7 @@ "dependencies": { "babel-eslint": "^7.1.1", "babel-plugin-transform-object-assign": "^6.22.0", - "babel-plugin-yo-yoify": "^0.3.3", - "babel-polyfill": "^6.22.0", - "babel-preset-env": "^1.6.1", "babel-preset-es2015": "^6.24.0", - "babel-preset-stage-0": "^6.24.1", "babelify": "^7.3.0", "ethereumjs-util": "^4.5.0", "ethereumjs-vm": "^2.3.3", @@ -58,53 +54,31 @@ ], "parser": "babel-eslint" }, - "babel": { - "plugins": [ - "transform-es2015-template-literals", - "transform-es2015-literals", - "transform-es2015-function-name", - "transform-es2015-arrow-functions", - "transform-es2015-block-scoped-functions", - "transform-es2015-classes", - "transform-es2015-object-super", - "transform-es2015-shorthand-properties", - "transform-es2015-duplicate-keys", - "transform-es2015-computed-properties", - "transform-es2015-for-of", - "transform-es2015-sticky-regex", - "transform-es2015-unicode-regex", - "check-es2015-constants", - "transform-es2015-spread", - "transform-es2015-parameters", - "transform-es2015-destructuring", - "transform-es2015-block-scoping", - "transform-object-assign" - ] - }, "browserify": { "transform": [ [ "babelify", { - "sourceMapsAbsolute": false, - "sourceMaps": true, "plugins": [ [ - [ - "fast-async", - { - "runtimePatten": null, - "compiler": { - "promises": true, - "es7": true, - "noRuntime": true, - "wrapAwait": true - } + "fast-async", + { + "runtimePatten": null, + "compiler": { + "promises": true, + "es7": true, + "noRuntime": true, + "wrapAwait": true } - ], - "transform-object-assign" - ] - ], + } + ], + "transform-object-assign" + ] + } + ], + [ + "babelify", + { "presets": [ "es2015" ] From 4b73039e2e68e9d4dbb337910748d0aa9031f9d5 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 18:15:12 +0200 Subject: [PATCH 29/35] Publish - remix-debug@0.1.0 --- remix-debug/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/remix-debug/package.json b/remix-debug/package.json index 7a830528e1..861c15cf77 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -1,6 +1,6 @@ { "name": "remix-debug", - "version": "0.0.10", + "version": "0.1.0", "description": "Ethereum IDE and tools for the web", "contributors": [ { From 38efe004e22937c95c5d6106afca957db4c67063 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 18:43:02 +0200 Subject: [PATCH 30/35] remove yoyoify from package.json --- remix-lib/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/remix-lib/package.json b/remix-lib/package.json index 4f8cca0b0d..a26f6b8c1c 100644 --- a/remix-lib/package.json +++ b/remix-lib/package.json @@ -75,9 +75,6 @@ ] } ], - [ - "yo-yoify" - ], [ "babelify", { From 4b77abe62ba9cd611280f0b1d034345cad88b428 Mon Sep 17 00:00:00 2001 From: yann300 Date: Wed, 25 Jul 2018 18:50:23 +0200 Subject: [PATCH 31/35] Publish - remix-debug@0.2.0 - remix-lib@0.3.0 - remix-solidity@0.2.0 - remix-analyzer@0.2.0 --- remix-analyzer/package.json | 4 ++-- remix-debug/package.json | 4 ++-- remix-lib/package.json | 2 +- remix-solidity/package.json | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/remix-analyzer/package.json b/remix-analyzer/package.json index 934ca0eadb..030edb6ed4 100644 --- a/remix-analyzer/package.json +++ b/remix-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "remix-analyzer", - "version": "0.1.1", + "version": "0.2.0", "description": "Remix Analyzer", "main": "./index.js", "contributors": [ @@ -21,7 +21,7 @@ "babel-eslint": "^7.1.1", "babel-plugin-transform-object-assign": "^6.22.0", "babel-preset-es2015": "^6.24.0", - "remix-lib": "^0.2.10", + "remix-lib": "^0.3.0", "solc": "^0.4.24", "standard": "^7.0.1", "tape": "^4.6.0" diff --git a/remix-debug/package.json b/remix-debug/package.json index 861c15cf77..38abcf0ab4 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -1,6 +1,6 @@ { "name": "remix-debug", - "version": "0.1.0", + "version": "0.2.0", "description": "Ethereum IDE and tools for the web", "contributors": [ { @@ -23,7 +23,7 @@ "fast-async": "^6.1.2", "notify-error": "^1.2.0", "npm-run-all": "^4.1.2", - "remix-lib": "^0.2.10", + "remix-lib": "^0.3.0", "solc": "^0.4.24" }, "devDependencies": { diff --git a/remix-lib/package.json b/remix-lib/package.json index a26f6b8c1c..34314de6d3 100644 --- a/remix-lib/package.json +++ b/remix-lib/package.json @@ -1,6 +1,6 @@ { "name": "remix-lib", - "version": "0.2.10", + "version": "0.3.0", "description": "Ethereum IDE and tools for the web", "contributors": [ { diff --git a/remix-solidity/package.json b/remix-solidity/package.json index 912ddf745e..b609dc0e37 100644 --- a/remix-solidity/package.json +++ b/remix-solidity/package.json @@ -1,6 +1,6 @@ { "name": "remix-solidity", - "version": "0.1.12", + "version": "0.2.0", "description": "Ethereum IDE and tools for the web", "contributors": [ { @@ -22,7 +22,7 @@ "ethereumjs-vm": "^2.3.3", "fast-async": "^6.1.2", "npm-run-all": "^4.0.2", - "remix-lib": "^0.2.10", + "remix-lib": "^0.3.0", "solc": "^0.4.24", "standard": "^7.0.1", "tape": "^4.6.0", From dd1824f3ff398ea7ea6323cac590ce8875e9300b Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Thu, 26 Jul 2018 07:19:04 -0400 Subject: [PATCH 32/35] remove solc require which is causing issues with browserify --- remix-solidity/src/compiler/compiler.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/remix-solidity/src/compiler/compiler.js b/remix-solidity/src/compiler/compiler.js index 4238cb6a0f..eb0e423610 100644 --- a/remix-solidity/src/compiler/compiler.js +++ b/remix-solidity/src/compiler/compiler.js @@ -72,12 +72,7 @@ function Compiler (handleImportCall) { function onInternalCompilerLoaded () { if (worker === null) { - var compiler - if (typeof (window) === 'undefined') { - compiler = require('solc') - } else { - compiler = solc(window.Module) - } + var compiler = solc(window.Module) compileJSON = function (source, optimize, cb) { var missingInputs = [] From 89e8211a5def05de30fe50528b14b5817d78d400 Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Thu, 26 Jul 2018 08:32:47 -0400 Subject: [PATCH 33/35] add missing solidity decoder export --- remix-debug/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/remix-debug/index.js b/remix-debug/index.js index 002a89d5a2..a5e3ac4f80 100644 --- a/remix-debug/index.js +++ b/remix-debug/index.js @@ -4,6 +4,8 @@ var EthDebugger = require('./src/Ethdebugger') var StorageViewer = require('./src/storage/storageViewer') var StorageResolver = require('./src/storage/storageResolver') +var SolidityDecoder = require('./src/solidity-decoder') + var remixLib = require('remix-lib') var BreakpointManager = remixLib.code.BreakpointManager @@ -24,6 +26,7 @@ module.exports = { * @return {Function} _locationToRowConverter - function implemented by editor which return a column/line position for a char source location */ BreakpointManager: BreakpointManager, + SolidityDecoder: SolidityDecoder, storage: { StorageViewer: StorageViewer, StorageResolver: StorageResolver From b7c14f70dc2a58c21c3a4f43bcb1cff6b6c8ad3f Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Thu, 26 Jul 2018 09:14:09 -0400 Subject: [PATCH 34/35] Revert "remove solc require which is causing issues with browserify" This reverts commit dd1824f3ff398ea7ea6323cac590ce8875e9300b. --- remix-solidity/src/compiler/compiler.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/remix-solidity/src/compiler/compiler.js b/remix-solidity/src/compiler/compiler.js index eb0e423610..4238cb6a0f 100644 --- a/remix-solidity/src/compiler/compiler.js +++ b/remix-solidity/src/compiler/compiler.js @@ -72,7 +72,12 @@ function Compiler (handleImportCall) { function onInternalCompilerLoaded () { if (worker === null) { - var compiler = solc(window.Module) + var compiler + if (typeof (window) === 'undefined') { + compiler = require('solc') + } else { + compiler = solc(window.Module) + } compileJSON = function (source, optimize, cb) { var missingInputs = [] From c25309236958542fd195ad9ff7b1e514a3797242 Mon Sep 17 00:00:00 2001 From: yann300 Date: Thu, 26 Jul 2018 15:22:10 +0200 Subject: [PATCH 35/35] Publish - remix-debug@0.2.1 --- remix-debug/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/remix-debug/package.json b/remix-debug/package.json index 38abcf0ab4..2ea3c65fae 100644 --- a/remix-debug/package.json +++ b/remix-debug/package.json @@ -1,6 +1,6 @@ { "name": "remix-debug", - "version": "0.2.0", + "version": "0.2.1", "description": "Ethereum IDE and tools for the web", "contributors": [ {